Linux的權限

1. 所有者與群組

Linux中有三個身份類別owner/group/others章郁,各有read/write/exectue等權限。
** 所有者**
一般為文件的創(chuàng)建者囤采,誰創(chuàng)建了該文件握玛,就天然的成為該文件的所有者

群組
當某個用戶創(chuàng)建了一個文件后,這個文件的所在組就是該用戶所在的組形娇。處在同一群組的人對文件有相同的權限,對同一組的用戶進行權限管理筹误。

其他組
除開文件的所有者和所在組的用戶外桐早,系統(tǒng)的其它用戶都是文件的其它組

其他人
除了文件擁有者和群組內的其他用戶,一般是可以公開的權限,對所有人都可以的權限的管理單元哄酝。

在我們Linux系統(tǒng)當中友存,默認的情況下,所有的系統(tǒng)上的帳號與一般身份使用者陶衅,還有那個
root的相關信息屡立, 都是記錄在/etc/passwd這個文件內的。至于個人的密碼則是記錄
在/etc/shadow這個文件下搀军。 此外膨俐,Linux所有的群組名稱都紀錄在/etc/group內!這三個文件
可以說是Linux系統(tǒng)里面帳號罩句、密碼焚刺、群組信息的集中地啰! 不要隨便刪除這三個文件懊爬谩乳愉!

2. Linux文件權限概念

查看文件屬性ls -al ~

查看文件屬性

第一欄的10個字符代表這個文件的類型與權限(permission):

第一個字符代表這個文件的類型:文件(-)、目錄(d)屯远、鏈接(l)匾委、設備(b)。
后面的字符每3個一組(“rwx”的組合)氓润,其中,[r]代表可讀(read)薯鳍、[w]代表可寫(write)咖气、[x]代表可執(zhí)行(execute)。

  • 第一組為“文件擁有者可具備的權限” ;
  • 第二組為“加入此群組之帳號的權限”挖滤;
  • 第三組為“非本人且沒有加入本群組之其他帳號的權限”崩溪。

rwx所在的位置是不會改變的,有該權限就會顯示字符斩松,沒有該權限就變成減號(-)

第三欄的字符串表示所有者伶唯。
第四欄的字符串表示所在群組。

權限也可用數(shù)字表示為:r=4惧盹,w=2乳幸,x=1 因此rwx=4+2+1=7。 在改變權限的命令中使用钧椰。

3. 更改文件的所有者粹断、群組、權限

改變文件擁有者,chown
語法:

[root@localhost~]# chown    [-R]    帳號名稱    文件或目錄
[root@localhost~]# chown    [-R]    帳號名稱:群組名稱   文件或目錄
# 選項:-R :進行遞回(recursive)的持續(xù)變更嫡霞,亦即連同次目錄下的所有文件都變更

范例:

修改文件所有者

改變用戶組,chmod
change group的縮寫
語法:

[root@localhost ~]# chgrp [-R] dirname/filename ...
選項與參數(shù):
-R: 進行遞回(recursive)的持續(xù)變更瓶埋,亦即連同次目錄下的所有文件、目錄
都更新成為這個群組之意。常常用在變更某一目錄內所有的文件之情況养筒。

案例:

[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
[root@localhost ~]# chgrp wangtao .bashrc
[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root wangtao 176 12月 29 2013 .bashrc

改變權限,chmod
權限設置有兩種方法曾撤,分別 是使用數(shù)字和符號來變更。
數(shù)字來代表各個權限晕粪,各權限的分數(shù)對照表如下:
r:4 > w:2 > x:1
每種身份(owner/group/others)各自的三個權限(r/w/x)分數(shù)是需要累加的讹开,例如當權限為:[-rwxrwx--x] 分數(shù)則是:owner=7,group=6,others=1, 則文件的權限數(shù)字就是761.

語法:

[root@localhost ~]# chmod   [-R]    xyz 文件或目錄
# 選項與參數(shù):
# xyz: 就是剛剛提到的數(shù)字類型的權限屬性,為   rwx 屬性數(shù)值的相加汹碱。
# -R: 進行遞回(recursive)的持續(xù)變更乡话,亦即連同次目錄下的所有文件都會變更

范例

修改文件權限

符號更改文件權限
基本上就九個權限分別是(1)user (2)group (3)others三種身份,借由u, g, o來代表三種
身份的權限剩膘,此外衅斩,a則代表all亦即全部的身份!讀寫的權限就可以寫成r ,w,x啰怠褐!
這樣可以使用下面的方式來看:
| chmod | u g o a | +(加入)-(除去)=(設置)| r w x | 文件或目錄 |
范例

[root@localhost ~]# chmod u=rxw,go=rx .bashrc
#注意喔畏梆!那個u=rwx,go=rx是連在一起的,中間并沒有任何空白字符奈懒!
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 12月 29 2013 .bashrc
[root@localhost ~]# chmod a-x .bashrc
[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root root 176 12月 29 2013 .bashrc
[root@localhost ~]# 

4. 文件與目錄的默認權限與隱藏權限

除了基本r , w, x權限外奠涌,在Linux傳統(tǒng)的Ext2/Ext3/Ext4文件系統(tǒng)下,我們還可以設置其他的系統(tǒng)隱藏屬性磷杏, 這部份可使用 chattr 來設置溜畅,而以 lsattr 來查看,最重要的屬性就是可以設置其不可修改的特性极祸!

4.1 文件默認權限:umask

[root@localhost tmp]# ls -l
總用量 4
-rwx------. 1 root root 827 2月  15 01:46 ks-script-4K3G9g
-rw-------. 1 root root   0 2月  15 01:35 yum.log
[root@localhost tmp]# mkdir dir1
[root@localhost tmp]# touch test1
[root@localhost tmp]# ls -l
總用量 4
drwxr-xr-x. 2 root root  18 2月  15 12:32 dir1
-rwx------. 1 root root 827 2月  15 01:46 ks-script-4K3G9g
-rw-r--r--. 1 root root   0 2月  15 12:33 test1
-rw-------. 1 root root   0 2月  15 01:35 yum.log

如上創(chuàng)建一個目錄和文件時慈格,他的默認權限是drwxr-xr-x和-rw-r--r--。那么指定這個默認值就是umash了遥金。

查看umash的值:

[root@localhost ~]# umash
0022

注意浴捆,最小Linux安裝沒有umash命令

第1個數(shù)字代表特殊字符,第2稿械,3选泻,4個數(shù)字代表ower,gourp,others。

一般文件和目錄創(chuàng)建的默認權限一般是:

  • 若使用者創(chuàng)建為“文件”則默認“沒有可執(zhí)行( x )權限”美莫,亦即只有 rw 這兩個項目页眯,也就
    是最大為 666 分,默認權限如下: -rw-rw-rw-
  • 若使用者創(chuàng)建為“目錄”厢呵,則由于 x 與是否可以進入此目錄有關餐茵,因此默認為所有權限均開
    放,亦即為 777 分述吸,默認權限如下: drwxrwxrwx

而umash的分數(shù)指的是“該默認值需要減掉的權限忿族!”锣笨,當要拿掉能寫的權限,就是輸入2分道批。

從上面的例子中: umask為022错英,所當使用者:

  • 創(chuàng)建文件時:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
  • 創(chuàng)建目錄時:(drwxrwxrwx)-(d----w--w-)==> drwxr-xr-x

正如上面范例所示!

那么如何設置umask的值呢隆豹,umash 后面加數(shù)字椭岩。

范例:


umash

在默認的情況中, root 的 umask 會拿掉比較多的屬性璃赡,root 的 umask 默認是 022 判哥, 這是基
于安全的考慮啦~至于一般身份使用者,通常他們的 umask 為 002 碉考,亦即保留同群組的寫入
權力塌计! 其實,關于默認 umask 的設置可以參考 /etc/bashrc 這個文件的內容侯谁,不過锌仅,不建議
修改該文件.

4.2 文件隱藏屬性

除了那9個權限,另還有文件的隱藏屬性墙贱,在系統(tǒng)安全上面重要的緊热芹。

下面的chattr指令只能在Ext2/Ext3/Ext4的Linux傳統(tǒng)文件系統(tǒng)上面完整生效, 其他的文件系統(tǒng)可能就無法完整的支持這個指令了惨撇,例如xfs僅支持部份參數(shù)而已伊脓。

如何設置這個文件與檢查這些隱藏的屬性。chattr

[root@localhost~]#  chattr  [+-=][ASacdistu]    文件或目錄名稱
選項與參數(shù):
+:增加某一個特殊參數(shù)魁衙,其他原本存在參數(shù)則不動报腔。
-:移除某一個特殊參數(shù),其他原本存在參數(shù)則不動纺棺。
=:設置一定,且僅有后面接的參數(shù)
A:當設置了  A   這個屬性時邪狞,若你有存取此文件(或目錄)時祷蝌,他的存取時間 atime   將不會被修改,可避免  I/O 較慢的機器過度的存取磁盤帆卓。(目前建議使用文件系統(tǒng)掛載參數(shù)處理這個項目)
S:一般文件是非同步寫入磁盤的(原理請參考[前一章sync](../Text/index.html#sync)的說明)巨朦,如果加上    S   這個屬性時,當你進行任何文件的修改剑令,該更動會“同步”寫入磁盤中糊啡。
a:當設置a之后,這個文件將只能增加數(shù)據(jù)吁津,而不能刪除也不能修改數(shù)據(jù)棚蓄,只有root才能設置這屬性
c:這個屬性設置之后堕扶,將會自動的將此文件“壓縮”,在讀取的時候將會自動解壓縮梭依,但是在儲存的時候稍算,將會先進行壓縮后再儲存(看來對于大文件似乎蠻有用的!)
d:當dump程序被執(zhí)行的時候役拴,設置d屬性將可使該文件(或目錄)不會被dump備份
i:這個i可就很厲害了糊探!他可以讓一個文件“不能被刪除、改名河闰、設置鏈接也無法寫入或新增數(shù)據(jù)科平!”對于系統(tǒng)安全性有相當大的助益!只有root 能設置此屬性
s:當文件設置了s屬性時姜性,如果這個文件被刪除瞪慧,他將會被完全的移除出這個硬盤空間,所以如果誤刪了污抬,完全無法救回來了喔汞贸!
u:與s相反的,當使用u來設置文件時印机,如果該文件被刪除了矢腻,則數(shù)據(jù)內容其實還存在磁盤中,可以使用來救援該文件喔射赛!
注意1:屬性設置常見的是a與  i的設置值多柑,而且很多設置值必須要身為root才能設置
注意2:xfs文件系統(tǒng)僅支持AadiS而已

范例

[root@localhost tmp]# touch attrtest
[root@localhost tmp]# chattr +i attrtest
[root@localhost tmp]# rm attrtest
rm:是否刪除普通空文件 "attrtest"?y
rm: 無法刪除"attrtest": 不允許的操作
[root@localhost tmp]# ls -l
總用量 4
-rw-r--r--. 1 root root   0 2月  15 13:23 attrtest
drwxr-xr-x. 2 root root  18 2月  15 12:32 dir1
-rwx------. 1 root root 827 2月  15 01:46 ks-script-4K3G9g
-rw-r--r--. 1 root root   0 2月  15 12:33 test1
-rw-------. 1 root root   0 2月  15 01:35 yum.log
[root@localhost tmp]# lsattr attrtest
----i----------- attrtest
[root@localhost tmp]# chattr -i attrtest
[root@localhost tmp]# 

這個指令在系統(tǒng)的數(shù)據(jù)安全上面很重要楣责,由于這些屬性是隱藏的性質竣灌,所以要以lsattr才能看到該屬性。最重要的是設置+i與 +a秆麸, +i 可以讓一個文件無法被更改初嘹,+a只可以log file 這種文件只能增加。

顯示文件隱藏屬性 lsattr

[root@localhost ~]# lsattr [-adR] 文件或目錄
選項與參數(shù):
-a:將隱藏文件的屬性也秀出來沮趣;
-d:如果接的是目錄屯烦,僅列出目錄本身的屬性而非目錄內的文件名;
-R:連同子目錄的數(shù)據(jù)也一并列出來房铭!

5. 文件特殊權限: SUID, SGID, SBIT

查看 /tmp 和/usr/bin/passwd 的權限

[root@localhost ~]# ls -ld /tmp; ls -l /usr/bin/passwd
drwxrwxrwt. 8 root root 4096 2月  15 13:23 /tmp
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

可以看到s跟t權限...

Set UID
當s這個標志出現(xiàn)在文件擁有者的x權限上時驻龟,例如剛剛提到的/usr/bin/passwd 這個文件的權限狀態(tài):“-rwsr-xr-x”,此時就被稱為Set UID缸匪,簡稱為SUID的特殊權限翁狐。基本上SUID有這樣的限制與功能:

  • SUID 權限僅對二進制程序(binary program)有效凌蔬;
  • 執(zhí)行者對于該程序需要具有 x 的可執(zhí)行權限露懒;
  • 本權限僅在執(zhí)行該程序的過程中有效(run-time)闯冷;
  • 執(zhí)行者將具有該程序擁有者(owner)的權限。

這個權限在一些特殊文件上非常有用隐锭,需要好好琢磨窃躲。
另外,SUID 僅可用在binary program 上钦睡, 不能夠用在 shell script 上面蒂窒!這是因為 shellscript 只是將很多的 binary 可執(zhí)行文件叫進來執(zhí)行而已!所以 SUID 的權限部分荞怒,還是得要看
shell script 調用進來的程序的設置洒琢,而不是 shell script 本身。當然褐桌,SUID 對于目錄也是無效的~這點要特別留意衰抑。

Set GID

當s標志在文件擁有者的x項目為SUID,那s在群組的x時則稱為Set GID, SGID

與 SUID 不同的是荧嵌,SGID 可以針對文件或目錄來設置呛踊!如果是對文件來說, SGID 有如下的功能:

  • SGID 對二進制程序有用啦撮;
  • 程序執(zhí)行者對于該程序來說谭网,需具備 x 的權限;
  • 執(zhí)行者在執(zhí)行的過程中將會獲得該程序群組的支持赃春!

舉例來說愉择,上面的 /usr/bin/locate 這個程序可以去搜尋 /var/lib/mlocate/mlocate.db 這個文件的內容 (詳細說明會在下節(jié)講述), mlocate.db 的權限如下:

[root@study ~]# ll  /usr/bin/locate /var/lib/mlocate/mlocate.db
-rwx--s--x. 1   root    slocate         40496   Jun 10      2014    /usr/bin/locate
-rw-r-----. 1   root    slocate 2349055 Jun 15  03:44   /var/lib/mlocate/mlocate.db

與 SUID 非常的類似织中,若我使用 dmtsai 這個帳號去執(zhí)行 locate 時锥涕,那 dmtsai 將會取得slocate 群組的支持, 因此就能夠去讀取 mlocate.db 啦狭吼!非常有趣吧层坠!
除了 binary program 之外,事實上 SGID 也能夠用在目錄上刁笙,這也是非常常見的一種用途破花!當一個目錄設置了 SGID 的權限后,他將具有如下的功能:

  • 使用者若對于此目錄具有 r 與 x 的權限時采盒,該 使用者能夠進入此目錄旧乞;
  • 使用者在此目錄下的有效群組(effective group)將會變成該目錄的群組蔚润;
  • 用途:若使用者在此目錄下具有 w 的權限(可以新建文件)磅氨,則使用者所創(chuàng)建的新文件,該新文件的群組與此目錄的群組相同

Sticky Bit
這個 Sticky Bit,SBIT目前只針對目錄有效嫡纠,對于文件已經(jīng)沒有效果了烦租。SBIT對于目錄的作用是:

  • 當使用者對于此目錄具有 w, x 權限延赌,亦即具有寫入的權限時;
  • 當使用者在該目錄下創(chuàng)建文件或目錄時叉橱,僅有自己與 root 才有權力刪除該文件

SUID/SGID/SBIT 權限設置

使用數(shù)字代表這幾個權限

  • 4 為 SUID
  • 2 為 SGID
  • 1 為 SBIT

設要將一個文件權限改為“-rwsr-xr-x”時挫以,由于 s 在使用者權限中,所以是 SUID 窃祝,因此掐松,在原先的 755 之前還要加上 4 ,也就是:“ chmod 4755 filename ”來設置粪小!

范例

[root@localhost ~]# cd /tmp
[root@localhost tmp]# touch test
[root@localhost tmp]# chmod 4755 test;ls -l test
-rwsr-xr-x. 1 root root 0 2月  15 15:33 test
[root@localhost tmp]# chmod 6755 test; ls -l test
-rwsr-sr-x. 1 root root 0 2月  15 15:33 test
[root@localhost tmp]# chmod 1755 test; ls -l test
-rwxr-xr-t. 1 root root 0 2月  15 15:33 test
[root@localhost tmp]# chmod 7666 test; ls -l test
-rwSrwSrwT. 1 root root 0 2月  15 15:33 test

我們是下達7666喔大磺!也就是說,user ,group以及others 都沒有 x這個可執(zhí)行的標志(因為666 嘛)探膊,所以杠愧,這個 S, T 代表的就是“空的”啦!怎

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末逞壁,一起剝皮案震驚了整個濱河市流济,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌腌闯,老刑警劉巖绳瘟,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異绑嘹,居然都是意外死亡稽荧,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門工腋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姨丈,“玉大人,你說我怎么就攤上這事擅腰◇瘢” “怎么了?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵趁冈,是天一觀的道長歼争。 經(jīng)常有香客問我,道長渗勘,這世上最難降的妖魔是什么沐绒? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮旺坠,結果婚禮上乔遮,老公的妹妹穿的比我還像新娘。我一直安慰自己取刃,他們只是感情好蹋肮,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布出刷。 她就那樣靜靜地躺著,像睡著了一般坯辩。 火紅的嫁衣襯著肌膚如雪馁龟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天漆魔,我揣著相機與錄音坷檩,去河邊找鬼。 笑死改抡,一個胖子當著我的面吹牛淌喻,可吹牛的內容都是我干的。 我是一名探鬼主播雀摘,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼裸删,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了阵赠?” 一聲冷哼從身側響起涯塔,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎清蚀,沒想到半個月后匕荸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡枷邪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年榛搔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片东揣。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡践惑,死狀恐怖,靈堂內的尸體忽然破棺而出嘶卧,到底是詐尸還是另有隱情尔觉,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布芥吟,位于F島的核電站侦铜,受9級特大地震影響,放射性物質發(fā)生泄漏钟鸵。R本人自食惡果不足惜钉稍,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望棺耍。 院中可真熱鬧贡未,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽左敌。三九已至瘾蛋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間矫限,已是汗流浹背哺哼。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留叼风,地道東北人取董。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像无宿,于是被迫代替她去往敵國和親茵汰。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內容