基本權限UGO
u 所屬主 g 所屬組 o 其他人
r (4)讀 read w(2)寫 write x(1)執行 execute
針對文件:
r 讀 是否允許可以查看文件的內容
w 寫 能夠修改或刪除文件的內容
x 執行 是否可以執行該文件
一個用戶是否能夠刪除一個文件,判斷依據是該用戶對該文件所在的目錄是否有寫的權限
針對目錄:
r 讀 是否允許可以查看目錄裏的列表
w 寫 是否能夠刪除,重命名目錄下的文件和修改目錄下文件的屬性等
x執行 是否可以進入到該目錄
正常操作一個目錄,至少應該保證r-x
修改權限
chmod ,修改文件的權限 -R (遞歸修改)把目錄以及目錄裏的所有子對象都更改
語法:
單獨修改一個位置的權限
chmod u-x filename ----將用戶的訪問或執行權限減去
chmod [u|g|o|a]+-=rwx filename
[root@anuo ~]# chmod g=rwx /shared/sysadmin
[root@anuo ~]# chmod o=--- /share/sysadmin
修改文件權限語法
chmod [-R] <a|u|g|o> +-= rwx- /<path>/filename
chmod [-R] 755 /<path>/filename
[root@anuo ~]# chmod 750 /home/harry
[root@anuo ~]# chmod 510 /home/harry/test -R
[root@anuo ~]# chmod 770 /shared/sysadmin
修改文件屬性
chown 作用:修改文件擁有者和所屬組
語法格式:
1:chown USER:GROUP /<path>/filename ----修改用戶和屬組
chown USER /<path>/filename ----單獨修改用戶
chown :GROUP /<path>/filename ----單獨修改屬組
2:chown USER.GROUP /<path>/filename ----修改用戶和屬組
chown .GROUP /<path>/filename ----單獨修改屬組
-R選項:遞歸(目錄下的所有內容全部更改,否則只修改目錄)
[root@anuo Desktop]# chown harry:harry /root/Desktop/test ----修改用戶和組
drwxr-xrwx 2 harry harry 4096 7月 13 14:32 test
[root@anuo Desktop]# chown root /root/Desktop/test ----修改用戶
drwxr-xrwx 2 root harry 4096 7月 13 14:32 test
[root@anuo Desktop]# chown :root /root/Desktop/test ----修改組
drwxr-xrwx 2 root root 4096 7月 13 14:32 test
[root@anuo Desktop]# chown .test /root/Desktop/test ----修改組
umask默認權限(遮罩權限)
用戶創建創建對象的默認權限,是由umask來決定的。
root用戶:#umask 0022
普通用戶:#umask 0002
目錄默認權限是777
普通用戶創建目錄的默認權限: 777 - 002 = 775
root用戶創建目錄的默認權限: 777 - 022 = 755
文件默認權限最大權限是666
普通用戶創建文件的起始權限:666 - 002 = 664
root用戶創建文件的起始權限:666 - 022 = 644
umask + 權限= 臨時在當前 終端下更改umask值
修改 ~/.bashrc 只針對當前用戶永久修改 umask值
修改 /etc/bashrc 針對所有所用戶永久修改umask值
特殊權限
冒險位(setuid) u+s 4000 臨時擁有所屬主的權限,作用在屬主上, 針對命令
chmod u+s filename
chmod 4755 filename
[root@anuo ~]# chmod u+s /sbin/shutdown
[root@anuo ~]# ll /sbin/shutdown
-rwsr-xr-x. 1 root root 60400 5月 28 2013 /sbin/shutdown
強制位(setgid) g+s 2000 任何人在該目錄下創建的文件或目錄都會強制繼承父目錄的的屬組權限,針對目錄。
chmod g+s /shared/sysadmin
chmod 2770 /shared/sysadmin
[mary@desktop0 sysadmin]$ ll /shared/sysadmin/ -d
drwxrws---. 2 root sysadmin 4096 7月 13 12:19 /shared/sysadmin/
黏滯位(stick bit)o+t 1000 針對公共目錄,這個目錄下面的文件,只有root和創建人可以刪除。
chmod 777 /share/sysadmin
chmod o+t /share/sysadmin
chmod 1777 /share/sysadmin
訪問控制列表 ACL
ACL 是在普通權限、特殊權限、默認權限都不能實現時才使用。
ACL是Access Control List的縮寫
ACL可以針對單個用戶,單個文件或目錄來進行r,w,x的權限設定,特別適用於需要特殊權限的使用情況。
getfacl:查看文件/目錄的ACL權限
setfacl:設置文件/目錄的ACL權限
語法:setfacl [-bkRd][{-m|-x} acl參數] 文件名
例:setfacl -R -m u:huangbing:rwx hb/ --(-R一定要在-m前面,表示目錄下所有文件)
選項: -m :設置後續的acl參數
-x :刪除後續的acl參數
-b :刪除所有的ACL設定參數
-R :遞歸設置acl參數
-d :設置預設的acl參數(只對目錄有效,在該目錄新建的文件也會使用此ACL默認值)
-k :刪除預設的ACL參數
例:setfacl -x u:huangbing hb/ --刪除用戶ACL:
例:setfacl -b hb/ --刪除所以用戶ACL
注:文件設置ACL最大的權限取決於umask的值
文件系統擴展屬性
chattr —— 設置文件不能刪除(包括root)
語法: chattr + 選項+文件
選項:
+a 只能追加內容
+i 不能被修改
lsattr 查看文件擴展屬性