###########################################################################
本文的所有內容均來自作者劉春凱的學習總結,未經本人許可,禁止私自轉發及使用。
QQ:1151887353
E-mail:[email protected]
###########################################################################
Linux下的文件或目錄權限詳解
1.1權限介紹
1、linux下的文件或目錄權限是由9個權限來控制的,每三位爲一組,即文件屬主(owner=主人=用戶)的r、w、x;用戶組(group=同組的=家人)的r、w、x;其他的人(other=外人=不在同一組)的r、w、x;
2、權限分組說明
3、r=read=4=cat; w=write=2=echo x=exexute=1 '-'=沒有權限;
特殊權限:t 、T、s、S、x、X、+等;
4、哪個用戶創建的文件它的用戶或者主人就是誰,文件的組是用戶或者用戶所在的組;
5、用戶、組、權限都是相對於文件或目錄的;
1.2創建模擬環境
1.2.1測試準備
groupadd incahome =在root下創建一個組即用戶和文件的家;
useradd oldboy -g incahome =在incahome組裏添加用戶;
useradd oldgirl -g incahome = =在incahome組裏添加用戶;
useradd test =創建組外的用戶
若oldboy用戶存在,則執行如下命令:
usermod gincahome oldboy
id oldboy ???
uid=500(oldboy) gid=500(oldboy) 組=500(oldboy)
id oldgirl
uid=509(oldgirl) gid=508(incahome) 組=508(incahome)
id test
uid=504(test) gid=504(test) 組=504(test)
1.2.2文件創建測試準備
mkdir /oldboy ===在root下創建
echo "echo oldboylinux.">/oldboy/test.sh 在root下創建文件,文件的用戶和組都是root
ls -l /oldboy/test.sh
chmod +x /oldboy/test.sh =賦予腳本文件可執行權限;
測試一:
打開root、oldboy、oldgirl、test用戶--克隆標籤--su- 用戶或者logout重登
ls -l /oldboy/test.sh ===send到四個會話框中logout
-rwxr-xr-x
結論一:
oldboy、oldgirl、test對於root用戶或者root組(家)來說是other外人,所以三個用戶看第三權限,即r和x,無法寫
測試二:
chown oldboy.incahome /oldboy/test.sh ===讓oldboy成爲文件的主人,incahome成爲文件的家或組
ls -l /oldboy/test.shtxt ===在oldboy用戶下
-rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh
結論:用戶=主人的oldboy擁有r、w、x
ls -l /oldboy/test.sh ==在oldgirl用戶下
-rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh
結論:oldgirl用戶擁有r和x,無法w,跟文件的主人oldboy同組,是用戶組=家人
ls -l /oldboy.txt ===在test用戶下
-rwxr-xr-x 1 oldboy incahome ...../oldboy/test.sh
結論:test=other,跟用戶組oldgirl權限相同,有r和x,無法w