0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

還在傻傻的分不清Linux的文件權(quán)限嗎?

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2023-07-09 16:04 ? 次閱讀

Linux 系統(tǒng)是一種典型的多用戶系統(tǒng),不同的用戶處于不同的地位,擁有不同的權(quán)限。

為了保護系統(tǒng)的安全性,Linux 系統(tǒng)對不同的用戶訪問同一文件(包括目錄文件)的權(quán)限做了不同的規(guī)定。

在 Linux 中我們通常使用以下兩個命令來修改文件或目錄的所屬用戶與權(quán)限:

  • chown (change owner) :修改所屬用戶與組。

  • chmod (change mode) :修改用戶的權(quán)限。

下圖中通過 chown 來授權(quán)用戶,通過 chmod 為用戶設(shè)置可以開門的權(quán)限。

在 Linux 中我們可以使用ll或者ls –l命令來顯示一個文件的屬性以及文件所屬的用戶和組,如:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

實例中,bin文件的第一個屬性用d表示。d在 Linux 中代表該文件是一個目錄文件。

在 Linux 中第一個字符代表這個文件是目錄、文件或鏈接文件等等。

  • 當(dāng)為d則是目錄

  • 當(dāng)為-則是文件;

  • 若是l則表示為鏈接文檔(link file);

  • 若是b則表示為裝置文件里面的可供儲存的接口設(shè)備(可隨機存取裝置);

  • 若是c則表示為裝置文件里面的串行端口設(shè)備,例如鍵盤、鼠標(biāo)(一次性讀取裝置)。

接下來的字符中,以三個為一組,且均為rwx的三個參數(shù)的組合。其中,r代表可讀(read)、w代表可寫(write)、x代表可執(zhí)行(execute)。要注意的是,這三個權(quán)限的位置不會改變,如果沒有權(quán)限,就會出現(xiàn)減號-而已。

9ac7c2a2-1da3-11ee-962d-dac502259ad0.png

每個文件的屬性由左邊第一部分的 10 個字符來確定(如下圖)。

9afbe0fa-1da3-11ee-962d-dac502259ad0.png

從左至右用0-9這些數(shù)字來表示。

0位確定文件類型,第1-3位確定屬主(該文件的所有者)擁有該文件的權(quán)限。

第4-6位確定屬組(所有者的同組用戶)擁有該文件的權(quán)限,第7-9位確定其他用戶擁有該文件的權(quán)限。

其中,第1、4、7位表示讀權(quán)限,如果用r字符表示,則有讀權(quán)限,如果用-字符表示,則沒有讀權(quán)限;

2、5、8位表示寫權(quán)限,如果用w字符表示,則有寫權(quán)限,如果用-字符表示沒有寫權(quán)限;第3、6、9位表示可執(zhí)行權(quán)限,如果用x字符表示,則有執(zhí)行權(quán)限,如果用-字符表示,則沒有執(zhí)行權(quán)限。


Linux文件屬主和屬組

[root@www /]# ls -l
total 64
drwxr-xr-x 2 root  root  4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21  2014 mysql
……

對于文件來說,它都有一個特定的所有者,也就是對該文件具有所有權(quán)的用戶。

同時,在Linux系統(tǒng)中,用戶是按組分類的,一個用戶屬于一個或多個組。

文件所有者以外的用戶又可以分為文件所屬組的同組用戶和其他用戶。

因此,Linux系統(tǒng)按文件所有者、文件所有者同組用戶和其他用戶來規(guī)定了不同的文件訪問權(quán)限。

在以上實例中,mysql 文件是一個目錄文件,屬主和屬組都為 mysql,屬主有可讀、可寫、可執(zhí)行的權(quán)限;與屬主同組的其他用戶有可讀和可執(zhí)行的權(quán)限;其他用戶也有可讀和可執(zhí)行的權(quán)限。

對于 root 用戶來說,一般情況下,文件的權(quán)限對其不起作用。


更改文件屬性

1、chgrp:更改文件屬組

語法:

chgrp [-R] 屬組名 文件名

參數(shù)選項

  • -R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數(shù),那么該目錄下的所有文件的屬組都會更改。

2、chown:更改文件屬主,也可以同時更改文件屬組

語法:

chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名

進入 /root 目錄(~)將install.log的擁有者改為bin這個賬號:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

將install.log的擁有者與群組改回為root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3、chmod:更改文件9個屬性

Linux文件屬性有兩種設(shè)置方法,一種是數(shù)字,一種是符號。

Linux 文件的基本權(quán)限就有九個,分別是owner/group/others(擁有者/組/其他)三種身份各有自己的read/write/execute權(quán)限。

先復(fù)習(xí)一下剛剛上面提到的數(shù)據(jù):文件的權(quán)限字符為:-rwxrwxrwx, 這九個權(quán)限是三個三個一組的!其中,我們可以使用數(shù)字來代表各個權(quán)限,各權(quán)限的分?jǐn)?shù)對照表如下:

  • r:4

  • w:2

  • x:1

每種身份(owner/group/others)各自的三個權(quán)限(r/w/x)分?jǐn)?shù)是需要累加的,例如當(dāng)權(quán)限為:-rwxrwx---分?jǐn)?shù)則是:

  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= --- = 0+0+0 = 0

所以等一下我們設(shè)定權(quán)限的變更時,該文件的權(quán)限數(shù)字就是770。變更權(quán)限的指令 chmod 的語法是這樣的:

 chmod [-R] xyz 文件或目錄

選項與參數(shù):

  • xyz: 就是剛剛提到的數(shù)字類型的權(quán)限屬性,為rwx屬性數(shù)值的相加。

  • -R: 進行遞歸(recursive)的持續(xù)變更,以及連同次目錄下的所有文件都會變更

舉例來說,如果要將.bashrc這個文件所有的權(quán)限都設(shè)定啟用,那么命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要將權(quán)限變成-rwxr-xr--呢?那么權(quán)限的分?jǐn)?shù)就成為 [4+2+1][4+0+1][4+0+0]=754。

符號類型改變文件權(quán)限

還有一個改變權(quán)限的方法,從之前的介紹中我們可以發(fā)現(xiàn),基本上就九個權(quán)限分別是:

  • user:用戶

  • group:組

  • others:其他

那么我們就可以使用u, g, o來代表三種身份的權(quán)限。

此外,a則代表all,即全部的身份。讀寫的權(quán)限可以寫成r, w, x,也就是可以使用下表的方式來看:

chmod u
g
o
a
+(加入)
-(除去)
=(設(shè)定)
r
w
x
文件或目錄

如果我們需要將文件權(quán)限設(shè)置為-rwxr-xr--,可以使用chmod u=rwx,g=rx,o=r 文件名來設(shè)定:

#  touch test1    // 創(chuàng)建 test1 文件
# ls -al test1    // 查看 test1 默認(rèn)權(quán)限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 權(quán)限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要將權(quán)限去掉而不改變其他已存在的權(quán)限呢?例如要拿掉全部人的可執(zhí)行權(quán)限,則:

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209541
  • 接口設(shè)備
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    6708

原文標(biāo)題:還在傻傻的分不清Linux的文件權(quán)限嗎?

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式Linux入門(二、Linux文件系統(tǒng)、文件類型及權(quán)限管理)

    嵌入式 Linux入 門第二課, linux 文件系統(tǒng)、文件類型及權(quán)限管理。 ...... 矜辰所致
    的頭像 發(fā)表于 06-20 11:44 ?2085次閱讀
    嵌入式<b class='flag-5'>Linux</b>入門(二、<b class='flag-5'>Linux</b><b class='flag-5'>文件</b>系統(tǒng)、<b class='flag-5'>文件</b>類型及<b class='flag-5'>權(quán)限</b>管理)

    工業(yè)互聯(lián)網(wǎng)和工業(yè)4.0傻傻分不清楚?

    工業(yè)互聯(lián)網(wǎng)是什么?工業(yè)互聯(lián)網(wǎng)的網(wǎng)速快嗎?工業(yè)互聯(lián)網(wǎng)是物聯(lián)網(wǎng)概念的重新包裝么?工業(yè)互聯(lián)網(wǎng)和工業(yè)4.0,傻傻分不清楚?工業(yè)互聯(lián)網(wǎng)已經(jīng)滲透到了哪些領(lǐng)域?
    發(fā)表于 07-12 06:51

    不要再對各種電機、舵機傻傻分不清楚了 精選資料分享

    你是否和木木一樣,想要自己diy一個機器人,卻對電機、舵機、步進電機、伺服電機、數(shù)字舵機、模擬舵機、串行總線舵機……一大堆名詞傻傻分不清楚?管你到底是啥,在我這都叫“馬達”,哈哈哈哈哈!如果你也是這樣可可愛愛、沒有腦袋,那么或許你應(yīng)該抽出幾分鐘時間閱讀一下這篇文章。
    發(fā)表于 09-01 08:31

    Linux文件權(quán)限管理的探討

    Linux 是一種多用戶的操作系統(tǒng),其文件權(quán)限管理在文件管理中占有重要的地位。為了更好地把握Linux
    發(fā)表于 06-11 09:37 ?11次下載

    Linux改變文件或目錄的訪問權(quán)限命令

    Linux改變文件或目錄的訪問權(quán)限命令 Linux改變文件或目錄的訪問權(quán)限命令  
    發(fā)表于 01-18 12:46 ?1202次閱讀

    科普:石墨烯電池、石墨烯基電池二者有何不同?別傻傻分不清

    很多吃瓜群眾是不是已經(jīng)對“石墨烯電池”和“石墨烯基電池”傻傻分不清楚了。
    發(fā)表于 01-23 15:40 ?5400次閱讀

    Linux系統(tǒng)文件權(quán)限細(xì)節(jié)分析

    linux是一個安全的操作系統(tǒng),她是以文件為基礎(chǔ)而設(shè)計的,其文件權(quán)限是比較復(fù)雜的,可以用stat命令以及l(fā)sattr命令來顯示某個文件的詳細(xì)
    發(fā)表于 11-07 11:08 ?9次下載

    曾經(jīng)分不清的RAM知識 你現(xiàn)在搞明白了嗎?

    曾經(jīng)分不清的RAM知識,你現(xiàn)在搞明白了嗎?
    的頭像 發(fā)表于 02-25 15:33 ?3197次閱讀

    Linux進程權(quán)限的分析說明

     在linux下,關(guān)于文件權(quán)限,大部分人接觸比較多,也比較熟悉了解。但是對進程權(quán)限一般知之甚少。本文總結(jié)一下linux系統(tǒng)下進程
    發(fā)表于 07-17 10:55 ?877次閱讀

    準(zhǔn)度、精度傻傻分不清?

    做電子產(chǎn)品,常常遇到測量。此時就難免會關(guān)注到精度、準(zhǔn)度等概念,遇到不少朋友對這兩個概念不清楚,今天就來分享一下這兩個概念。 為什么寫本文,前面寫過些ADC方面的文章,遇到有朋友貌似對這兩個概念理解
    發(fā)表于 01-29 06:46 ?5次下載
    準(zhǔn)度、精度<b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?

    芯片、半導(dǎo)體、集成電路還在傻傻分不清

    芯片,半導(dǎo)體,集成電路,傻傻分不清楚? 很多人都會有這樣的煩惱,希望今天分享的文章能幫助到大家~一起學(xué)習(xí)!一起進步! 一、什么是芯片? 芯片,又稱微電路、微芯片、集成電路(integrated
    的頭像 發(fā)表于 09-28 17:13 ?3w次閱讀

    Linux系統(tǒng)如何修改文件屬性與權(quán)限

    我們已經(jīng)深入學(xué)習(xí)了Linux系統(tǒng)中用戶和用戶組的基本概念。每個文件和目錄都具有“所屬用戶”和“所屬用戶組”這兩個屬性,這兩個屬性對文件權(quán)限及安全性至關(guān)重要。本節(jié)我們就來學(xué)習(xí)如何修改一個
    的頭像 發(fā)表于 05-12 15:29 ?2608次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)如何修改<b class='flag-5'>文件</b>屬性與<b class='flag-5'>權(quán)限</b>

    傻傻分不清?射頻模擬信號源和矢量信號源的區(qū)別

    今天博宇訊銘工程師給大家介紹一下射頻信號源,射頻信號源由于它的低相噪和頻率的高穩(wěn)定性,常常用來作為電路的信號驅(qū)動和時鐘替代。但射頻信號源不僅有模擬信號源,還有矢量信號源,往往這兩種射頻信號源讓人們傻傻分不清
    的頭像 發(fā)表于 08-23 15:26 ?3446次閱讀
    <b class='flag-5'>傻傻</b><b class='flag-5'>分不清</b>?射頻模擬信號源和矢量信號源的區(qū)別

    linux文件訪問權(quán)限怎么設(shè)置

    Linux 文件訪問權(quán)限是操作系統(tǒng)中一個非常重要的概念。正確地設(shè)置文件訪問權(quán)限可以保護系統(tǒng)的安全性,防止未經(jīng)授權(quán)的人員對
    的頭像 發(fā)表于 11-23 10:20 ?1517次閱讀

    Linux文件權(quán)限及Makefile

    的詳細(xì)信息 //man -L zh_CN open man 1 open man 2 open man 3 open Part2文件權(quán)限 2.1 權(quán)限理解 在 Ubuntu(以及其他類 UNIX
    的頭像 發(fā)表于 11-24 16:06 ?600次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>文件</b><b class='flag-5'>權(quán)限</b>及Makefile