05linux用戶和組的權限總結

1、文件的權限分類

文件的權限對象分三類:屬主(u)、屬組(g)、其他(o),每個對象都有rwx,讀寫執行三類權限。

對于文件

r:可查看文件內容

w:可修改其類容

x:可把此文件提請內核啟動為一個進程

對于目錄

r:可使用ls查看此目錄中文件列表

w:可在此目錄中創建和刪除文件

x:可使用ls查看目錄中文件列表,可以cd進入此目錄

X:只給目錄x權限,不給文件x權限

【在訪問文件之前,必須要先能夠進入文件的父目錄】

前提:進程有屬主和屬組;文件有屬主和屬組

(1) 任何一個可執行程序文件能不能啟動為進程:取決發起者對程序文件是否擁有執行權限

(2) 啟動為進程之后,其進程的屬主為發起者;進程的屬組為發起者所屬的組

(3) 進程訪問文件時的權限,取決于進程的發起者

(a) 進程的發起者,同文件的屬主:則應用文件屬主權限

(b) 進程的發起者,屬于文件屬組;則應用文件屬組權限

(c) 應用文件“其它”權限

root 沒有了 x 執行權限不能執行,但是可以給自己加權限

root用戶沒有讀和寫權限也可以直接修改查看。

2、chmod 用法

a、chmod [option]… 八進制  file

eg:chmod -R 755 /dir

b、chmod [option]… mode … file 

eg:chmod u=rwx,g=rx,u= file/dir

或者 chmod a=rx file/dir 或者 chmod u+w file/dir

c、chmod [option] … –reference = rfile file 

參考rfile權限 復制到 file

chmod -R a=rwX dir

目錄下的文件如果有x權限 則都有x權限

如果沒有x權限 則 所有的文件都沒有x權限 

但是所有的目錄都有x權限

3、新建文件和目錄的默認權限

新建FILE權限:666-umask如果所得結果某位存在執行(奇數)權限,則將其權限+1

新建DIR權限: 777-umask,非特權用戶umask是002,root的umask是022

umask: 查看  umask#: 設定  #umask -S –> u=rwx,g=rx,o=rx #umask -p –> umask 0022

4、Linux文件系統上的特殊權限,SUID, SGID, Sticky

chmod 4755 file【文件】 /usr/bin/passwd   chmod u+s /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd

當用戶使用passwd【具有suid權限的二進制程序文件】命令,用戶權限臨時切換成【passwd文件所有者】權限

啟動為進程之后,其進程的屬主為原程序文件的屬主

/bin   文件夾下面有眾多 紅色背景的程序均是這樣。

chmod 2755 file【文件】 /usr/bin/passwd chmod g+s /usr/bin/passwd

-rwxr-sr-x. 1 root root 30768 Feb 22  2012 /usr/bin/passwd

當用戶使用passwd【具有suid權限的二進制程序文件】命令,用戶權限臨時切換成【passwd文件所屬組】權限 –黃色背景

啟動為進程之后,其進程的屬主為原程序文件的屬組

chmod 1777 /dir【目錄】 eg: /tmp 

[root@localhost conf]#ll -d /tmp 

drwxrwxrwt. 18 root root 4096 Oct 16 02:52 /tmp

可以在目錄中刪除【自己的】文件,而不能刪除別人的文件

chmod 2755 dir【目錄】 /dir chmod g+s /dir【目錄】

-rwxr-sr-x. 1 root root 30768 Feb 22  2012 /dir 

當該目錄【所屬組用戶】在該目錄下創建文件的時候,創建的文件所屬組均為目錄的所屬組

小坑一個: 用0777,并不能把sst等權限去掉

沒有執行權限則該位置顯示為【S、T】

5、設定文件特定屬性(attr–attribute)

chattr +i 不能刪除,改名,更改 +a 只能追加(>>)

lsattr 顯示文件特定屬性。

6、ACL

ACL:Access Control List,實現靈活的權限管理,除了u,g,o可以對更多的用戶設置權限

ACL生效順序:所有者(屬主,屬組),自定義用戶,自定義組,其他人

setfacl [-bkndRLP] { -m|-M|-x|-X … } file …

-b,–remove-all:刪除所有擴展的acl規則,基本的acl規則(所有者,群組,其他)將被保留。 

-k,–remove-default:刪除缺省的acl規則。如果沒有缺省規則,將不提示。 

-n,–no-mask:不要重新計算有效權限。setfacl默認會重新計算ACL mask,除非mask被明確的制定。 

–mask:重新計算有效權限,即使ACL mask被明確指定。 

-d,–default:設定默認的acl規則。 

–restore=file:從文件恢復備份的acl規則(這些文件可由getfacl-R產生)。通過這種機制可以恢復整個目錄樹的acl規則。

此參數不能和除–test以外的任何參數一同執行。 

–test:測試模式,不會改變任何文件的acl規則,操作后的acl規格將被列出。 

-R,–recursive:遞歸的對所有文件及目錄進行操作。 

-L,–logical:跟蹤符號鏈接,默認情況下只跟蹤符號鏈接文件,跳過符號鏈接目錄。 

-P,–physical:跳過所有符號鏈接,包括符號鏈接文件。 

–version:輸出setfacl的版本號并退出。 –help:輸出幫助信息。 

–:標識命令行參數結束,其后的所有參數都將被認為是文件名 

-:如果文件名是-,則setfacl將從標準輸入讀取文件名。

Usage: setfacl [-bkndRLP] { -m|-M|-x|-X … } file …

 -m, –modify=acl        modify the current ACL(s) of file(s)

 -M, –modify-file=file  read ACL entries to modify from file

 -x, –remove=acl        remove entries from the ACL(s) of file(s)

 -X, –remove-file=file  read ACL entries to remove from file

例子:

mount -o acl /directory

getfacl file|directory –獲取文件或者目錄的acl

setfacl -m u:wang:rwx file|directory –增加文件或者目錄的用戶acl

setfacl -Rm g:sales:rwX directory –目錄及其子目錄以及文件增加用戶acl,新增加文件或者目錄【不會自帶acl】

setfacl -M file.acl file|directory –參照file.acl 給目錄或者文件增加acl

setfacl -m g:salesgroup:rw file| directory –增加文件或者目錄的用戶組acl

setfacl -m d:u:wang:rx directory –增加該目錄的acl,新增文件或者目錄的時候【自帶acl】,目錄下原有的文件或者目錄acl不變

setfacl -x u:wang file|directory –刪除文件或者目錄中,對應用戶的acl ,mask還在

setfacl -X file.acl directory –參照file.acl 刪除目錄中的acl ,mask還在

setfacl -Rb directory –清空目錄下的所有acl,包括mask

setfacl-k dir –刪除默認ACL權限

【注意】:

默認拷貝不會拷貝文件或者目錄的acl,用cp來復制文件的時候我們現在可以加上-p選項。對于不能拷貝的ACL屬性將給出警告。

mv命令將會默認地移動文件的ACL屬性,同樣如果操作不允許的情況下會給出警告。

如果你的文件系統不支持ACL的話,你也許需要重新mount你的file system: mount -o remount, acl [mount point] 

如果用chmod命令改變Linux file permission的時候相應的ACL值也會改變,反之改變ACL的值,相應的file permission也會改變。

—-joker的部落閣

原創文章,作者:joker,如若轉載,請注明出處:http://www.www58058.com/61143

(0)
jokerjoker
上一篇 2016-11-27
下一篇 2016-11-27

相關推薦

  • 磁盤管理

    上圖sda disk information中對 255 heads,63 sectors/track,1958 cylinders的解析: sda磁盤總共有1958個cylinder(柱面),每個cylinder(柱面)有63個sectors(扇區),每個sectors(扇區)有255個heads(磁頭) 那么這塊sda的總的磁頭數量為:255*63*19…

    2017-08-20
  • 【N25第七周作業】

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@localhost ~]# mke2fs -t ext4 -b 2048 -m 2 -L MYDATA /dev/sdb1 mke2fs 1.42.9 (28…

    2017-04-13
  • 文本處理sed的使用

    語法:sed【option】、、、‘script’ inputfile、、、 選項:         -n:不輸出模式空間內容到屏幕,即不自動打印        -e: 多點編輯        -f:/PATH/SCRIPT_FILE: 從…

    Linux干貨 2017-05-01
  • 文本處理-三劍客-awk

    報告生成器,格式化文本輸出
    awk [options] ‘BEGIN{ action;… } pattern{ action;… } END{ action;… }’ file …

    2018-03-16
  • linux用戶和組管理

    linux用戶和組管理 類Unix系統的設計初衷就是為讓多用戶同時工作,所以也迫使Linux系統有了極強的安全性,在前面安裝紅帽RHEL7操作系統時還特別要求“設置root用戶密碼”,而root用戶是存在于所有類UNIX系統中的”超級用戶”。 用戶管理 root賬戶介紹(超級管理員) root用戶擁有極高的系統所有權,能夠管理系統的各項功能,如添加/刪除用戶…

    Linux干貨 2016-09-05
  • 用戶創建過程&grep練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。     ~]# cp -r /etc/skel /home/tuser1     ~]# ls -la /home/tuser1  &…

    Linux干貨 2016-10-17
欧美性久久久久