吳宏東 - 記於2018年06月13日 - 博客 https://segmentfault.com/u/wu...segmentfault
drwxr-xr-x. 2 root root 15 6月 13 16:23 wuhd -rwsr-xr--+ 1 root root 27832 6月 10 2014 /usr/bin/passwd lrwxrwxrwx. 1 root root 8 5月 20 00:29 sbin -> usr/sbin brw-rw----. 1 root disk 8, 0 6月 13 06:54 sda crw-rw-rw-. 1 root root 1, 5 6月 13 06:54 zero
說明:
第1列第1個字符分別有b、c、d、-、l,分別表明
[b] 表示裝置文件裏面的可供儲存的接口設備;
[c] 表示裝置文件裏面的串行端口設備;
[d] 表示目錄;
[-] 表示文件;
[l] 表示連接文件;
第2-4列三個位表示屬主權限標記;
第5-7列三個位表示組權限標記;
第8-10列三個位表示其餘用戶權限標記;
第11列表示特殊權限位,+表示存在ACL權限;
[r] 表示讀,用數字4標記;
[w] 表示寫,包括建立、刪除,用數字2標記;
[x] 表示執行,用數字1標記;bash
格式:chmod ugoa[rwx] <文件名或目錄名>
[u] 屬主(user)
[g] 屬組用戶(group)
[o] 其餘用戶(other)
[a] 全部用戶(all)
[+] 添加權限
[-] 刪除權限
[=] 替換原有權限
[r] 容許讀取
[w] 容許寫入、建立、刪除
[x] 容許執行code
# 對屬主用戶添加執行權限,對其餘用戶刪除讀取權限,針對文件text.txt chmod u+x,o-r text.txt # 分配權限=的寫法 chmod u=rwx,g=rw,o=rx text.txt
格式:chmod n1n2n3 <文件名或目錄名>
n1 屬主權限
n2 組用戶權限
n3 其餘用戶權限
數字分別按r=四、w=二、x=1進行相加組合而成。遞歸
# 對文件text.txt賦予最高權限 chmod 777 text.txt;
格式:chown [-R] <用戶[:組]> <文件名或目錄名>接口
# 將www目錄的屬主和組由root:root改成wuhd:wuhd chown wuhd:wuhd www; # 加-R表示將www目錄及其子目錄下的全部文件的屬主和組都修改成wuhd:wuhd chown -R wuhd:wuhd www;
權限掩碼是告訴系統當建立文件或目錄時不該該賦予的權限。
格式:umask [-S] [u0u1u2u3]
[u0] 表示特使權限,0爲不設置,4爲SUID權限,2爲SGID權限,1爲sticky-bit權限
[u1] 不容許屬主有的權限,0爲擁有所有權限
[u2] 不容許同組人有的權限,0爲擁有所有權限
[u3] 不容許其餘人有的權限,0爲擁有所有權限get
# 查看當前的權限掩碼,root用戶輸出0022,普通用戶輸出0002 umask; # 權限掩碼的文字表達,表示實際賦予的權限,輸出u=rwx,g=rx,o=rx umask -S; # 將普通用戶的掩碼設置成root用戶的權限掩碼 umask 0022;
# 爲文件 /usr/bin/passwd 添加SUID權限 chmod u+s /usr/bin/passwd; # 爲文件 /usr/bin/passwd 添加SGID權限 chmod g+s /usr/bin/passwd; # 爲文件 /usr/bin/passwd 添加sticky-bit權限 chmod o+t /usr/bin/passwd;
格式:setfacl [-R] {-m|-x} <u:用戶名:{r|w|x}> <文件名或目錄名>
[-R] 遞歸目錄
[-m] 修改ACL權限
[-x] 刪除ACL權限博客
[root@master ~]# ll /usr/bin/passwd -rwsr-xr--+ 1 root root 27832 6月 10 2014 /usr/bin/passwd # 第11位爲+號表示已設置ACL權限
# 設置全部普通用戶不能修改密碼 chmod o-x /usr/bin/passwd; # 單獨給普通用戶wuhd賦予修改密碼的權限 setfacl -m u:wuhd:x /usr/bin/passwd; # 刪除文件 /usr/bin/passwd 全部ACL權限 setfacl -b /usr/bin/passwd; # 單獨刪除某個用戶的ACL權限 setfacl -x u:wuhd /usr/bin/passwd;
# 查看ACL權限 getfacl /usr/bin/passwd;
輸出:it
# file: usr/bin/passwd # owner: root # group: root # flags: s-- user::rwx user:wuhd:--x group::r-x mask::r-x other::r--
# 安裝 yum install -y e2fsprogs;
# 查看文件的屬性 lsattr fluent.conf;
a:讓文件或目錄僅供附加用途;
i:不得任意更動文件或目錄;ast
[-R]:遞歸處理,將指令目錄下的全部文件及子目錄一併處理;
+<屬性>:開啓文件或目錄的該項屬性;
-<屬性>:關閉文件或目錄的該項屬性;
=<屬性>:指定文件或目錄的該項屬性;class
# 設置任何用戶(包括root用戶)只讀且不可刪除 chattr +i fluent.conf; # 取消任何用戶(包括root用戶)只讀且不可刪除 chattr -i fluent.conf; # 設置任何用戶(包括root用戶)只能追加內容且不可刪除 chattr +a fluent.conf; # 取消任何用戶(包括root用戶)只能追加內容且不可刪除 chattr -a fluent.conf;