權限管理作爲在學linux的人來說,覺得無所爲事。如何來保障個人的隱私以及個人工作環境,你學完這個之後你就覺得權限是多麼多麼的重要。
#ls -l 1.sh
- rw-r--r-- 1 root root 0 Sep 12 19:36 1.sh
第1列
第1字符:代表文件類型
- 普通文件
f 普通文件
d 目錄
b 設備文件
l 鏈接文件
c 串行端口設備
s scocket 文件
第2-10字符:文件的普通權限
r -讀權限 數字表示:4 u 文件的擁有者
w -可寫權限 數字標識:2 g 文件屬組
x-可執行權限 數字標識:1 o 文件的其他人權限
第2列:代表文件的子目錄個數或者鏈接文件的個數
第3列:文件的屬主
第4列:文件的屬組
第5列:文件的大小(單位默認字節)
第6~8列:文件的日期時間(修改時間或創建時間)
第九列:文件
默認情況下
root用戶文件的權限是644,創建目錄權限是755
普通用戶:默認情況下,創建文件的權限是664,創建目錄的權限是775
文件和目錄的權限都是通過 umask 值決定的 ,默認的爲umask=022
修改默認權限:
1、臨時修改(只在當前終端生效)
#umask 0002
2、永久修改(針對所有用戶 | 針對某個用戶)
針對user01用戶:
vim ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
umask 0033 放在最後
# source ~/.bashrc
0033
0666-0033=0633 0644
0777-0033=0744
針對所有用戶:
# vim /etc/bashrc
...
umask 0014
# source /etc/bashrc
0014
0666-0014=0652 0662
0777-0014=0763
特殊權限 (冒險位)"S"”
一般針對的命令,臨時擁有文件的擁有者權限。
# chmod u+s /bin/rm 用戶加"s"權限 | g+s 組“s”權限 | o+s 其他人權限
ll /bin/rm
-rwsr-xr-x. 1 root root 57440 Oct 17 2013 /bin/rm
# su - 用戶名
# rm 文件名 (可以刪除了)
粘制位:(stick bit )
一般針對的是公共目錄,只有root和文件的擁有者可以刪除文件,其他任何人不能刪除其他人的文件。只能自己管理自己
ACL 訪問策略 setfacl:設置文件的acl策略 -R:遞歸授權,對於目錄下已存在的目錄或者文件有acl策略。但是該目錄下新創建的文件沒有acl策略 -d:默認acl策略,針對目錄;該目錄下新建的文件或者目錄會繼承acl策略,老的文件不繼承 -m:修改設置acl策略 -x:刪掉某個用戶的acl策略 -b:刪除所有的acl策略 mask:定義除了other和owner以外的最大權限 #setfacl -m u:user01:rw file1 ——>給單個用戶ACL 策略權限 [root@vm01 test]# setfacl -m u:user01:rw file1 [root@vm01 test]# getfacl file1 # file: file1 # owner: root # group: root user::rw- user:user01:rw- group::rw- mask::rw- other::r-- #setfacl -m m::r file1 ——>設置最大權限,最大權限只有 r [root@vm01 test]# setfacl -m m::r file1 [root@vm01 test]# getfacl file1 # file: file1 # owner: root # group: root user::rw- user:user01:rw- #effective:r-- user:user03:r-x #effective:r-- group::rw- #effective:r-- group:admin:rw- #effective:r-- mask::r-- other::r-- #setfacl -x u:user01 file1 ——> 刪除 user01 對文件 file1 的 ACL 策略權限 #setfacl -x g:admin file1 ——>刪除組 admin 對文件 file1 的 ACL 策略權限 #setfacl -x m file1 ——>刪除文件的最大權限 #setfacl -b file1 ——> 移除所有的 ACL 策略權限 -R :老的文件和目錄會繼承 ACL 策略 [root@vm01 test]# setfacl -R -m u:user01:rwx dir1 [root@vm01 test]# getfacl dir1 # file: dir1 # owner: root # group: root user::rwx user:user01:rwx group::r-x mask::rwx other::r -d : 新創建的文件或者目錄會繼承 ACL 策略 [root@vm01 test]# setfacl -d -m g:admin:rwx dir2 [root@vm01 test]# getfacl dir2 # file: dir2 # owner: root # group: root user::rwx group::r-x other::r-x default:user::rwx default:group::r-x default:group:admin:rwx default:mask::rwx default:other::r-x 測試結果: # id user02 uid=501(user02) gid=501(user02) groups=501(user02),502(admin) user02用戶不可以在該目錄下創建任何文件,但是在新建的目錄下可以創建文件 setfacl -m g:admin:rwx dir2 -Rd 一起使用: # setfacl -Rd -m u:user02:rwx dir1/ 1、老的目錄可以繼承 ACL 策略,但是不能再該目錄下創建文件; 文件不會繼承 ACL 策略 2、新建的目錄和文件都會繼承ACL策略,並且可以創建文件