檢視檔案時的詳細資訊:
d(檔案類型) r-xr-x—.(權限) 2 (硬連結次數) root (所屬使用者) root(所屬組) 6(檔案大小) Dec 11 15:02(檔案的最後一次修改時間) Music(檔案名)
權限:rw-r–r-- 每三個為一個小組 ,分别時一下的權限:
屬主的權限u 屬組的權限g 其他人的權限o
權限分為三種 r w x
讀:r 4
寫:w 2
執行:x 1
在修改權限時也可直接 輸入數字進行更改 如一下 分别為數字對應權限
000 0 —
001 1 --x
010 2 -w-
011 3 -wx
100 4 r–
101 5 r-x
110 6 rw-
111 7 rwx
rwxr-xr-x:755
對于目錄和普通檔案 r w x 的含義
修改權限 1. chmod 777 檔案名
chmod 6 A.txt (o)
chmod 66 A.txt (go)
chmod 777 A.txt (ugo)
2. [[email protected] ~]# chmod ugo=rwx A.txt
chmod u+w,o+x,g+r A.txt
chmod u/g/o/ +/=/- r /w/x 檔案名 (/中的分别随機組合進行修改權限) 加減隻能對自己本身存在的權限有影響,等号等于覆寫之前的檔案權限c
chown 修改 所屬使用者
chown 使用者名 檔案名
chown 使用者名**:組名 檔案名
chown 使用者名.**組名 檔案名
chown **.**組名 檔案名
chown : 組名 檔案名
chgrp 隻修改所屬組
chgrp 組名 檔案名
對目錄和檔案進行 r w x 的指令
特殊權限
u+s
suid:讓程序不再屬于它的發起者,而是屬于程式檔案本身。(suid隻對二進制檔案有效;調用者對該檔案有執行權;在執行過程中,調用者會暫時獲得該檔案的所有者權限;該權限隻在程式執行的過程中有效)
查找passwd的程式檔案位置:which passwd
chmod u+s /usr/bin/passwd
先找到檢視指令的程式檔案位置,which cat
檢視文本檔案如果說 要求你執行的某種指令後産生的變化為統一的,則對該指令進行檢視 例如:實作一個功能,當使用任何使用者建立目錄的時候,它的所屬者為root。則對其指令進行
)
**sgid:g+s,**對于普通檔案,以組的權限執行修改/usr/bin/touch的g+s,touch檔案後檔案所屬組為root(作用于普通檔案時,和suid類似);對于目錄檔案,目錄的屬組是誰,在目錄下建立的檔案的屬組是目錄的屬組。
例如:.建立一個目錄為/exercise,在該目錄下建立一個目錄為red,實作一個功能:任何使用者在red目錄下建立檔案的時候的所屬組為redhat。
[[email protected] /]# mkdir /exercise
[[email protected] /]# mkdir /exercise/red
[[email protected] /]# chgrp redhat /exercise/red
[[email protected] /]# ll -d /exercise/red
drwxr-xr-x. 2 root redhat 6 Jan 26 16:52 /exercise/red
[[email protected] /]# chmod g+s /exercise/red/
[[email protected] /]# su xiaohong
[[email protected] /]$ touch /exercise/red/c
[[email protected] /]$ ll /exercise/red/
total 0
-rw-rw-r–. 1 xiaohong root 0 Jan 26 16:59 a
-rw-rw-r–. 1 xiaohong root 0 Jan 26 17:02 b
-rw-rw-r–. 1 xiaohong redhat 0 Jan 26 17:04 c
sticky,o+t:不能夠删除其他使用者在同目錄裡建立的檔案,也無法修改其他使用者建立的檔案的内容,可删除修改自己建立的檔案
例如:.在exercise目錄下建立一個目錄為nochange,任何普通使用者都隻能删除自己在該目錄下建立的檔案,無法删除其他使用者建立的檔案。
mkdir /exercise/nochange
[[email protected] /]# chmod o+t /exercise/nochange/
[[email protected] /]# ll -d /exercise/nochange/
drwxr-xr-t. 2 root root 6 Jan 26 17:05 /exercise/nochange/
[[email protected] /]# chmod o+w /exercise/nochange/
[[email protected] /]# su xiaohong
[[email protected] /]$ touch /exercise/nochange/a
[[email protected] /]$ exit
exit
[[email protected] /]# su redhat
[[email protected] /]$ touch /exercise/nochange/b
[[email protected] /]# su redhat
[[email protected] /]$ rm -f /exercise/nochange/b
[[email protected] /]$ rm -f /exercise/nochange/a
rm: cannot remove ‘/exercise/nochange/a’: Operation not permitted
[[email protected] /]$ ll /exercise/nochange/
total 0
-rw-rw-r–. 1 xiaohong xiaohong 0 Jan 26 17:08 a
**o+t 測試方法**
1.建立目錄/test
2.添加三個使用者
3.讓每一個使用者在目錄裡面寫檔案
4.使用者3删除1和2使用者的檔案
5.目錄 o+t
6.重複3、4步操作,驗證是否能夠删除其他使用者在同目錄裡建立的檔案
(如果說 要求你執行的某種指令後産生的變化為統一的,則對該指令進行檢視 例如:實作一個功能,當使用任何使用者建立目錄的時候,它的所屬者為root。則對其指令進行
)
ACL可以對某個檔案設定該檔案具體的某些使用者的權限,意思就是通過ACL可以對一個檔案權限做擴充,可以不同的使用者對某個檔案有不同的權限。
擷取檔案的通路控制資訊:getfacl 檔案名
sefacl 設定檔案的acl
修改檔案的acl:setfacl -m u:使用者名:權限 檔案名/目錄名
setfacl -m g:組名:權限 檔案名
setfacl -b 檔案名 (清空acl 權限)
setfacl -x g:組名 檔案名
檢視權限掩碼:umask 0022
目前面第一位為2和4權限就叫強制位,1的權限就是冒險位,2代表GID,4代表的是uid,1代表的是sticky
權限掩碼:控制建立檔案的權限
檢視權限掩碼:umask
修改權限掩碼:umask 022
普通檔案的權限屬性:666
目錄檔案的權限屬性:777