Linux使用者組、檔案許可權詳解
使用者組
在linux中的每個使用者必須屬於一個組,不能獨立於組外。在linux中每個檔案有所有者、所在組、其它組的概念
- 所有者
- 所在組
- 其它組
- 改變使用者所在的組
所有者
一般為檔案的建立者,誰建立了該檔案,就天然的成為該檔案的所有者
用ls ‐ahl命令可以看到檔案的所有者
也可以使用chown 使用者名稱 檔名來修改檔案的所有者
檔案所在組
當某個使用者建立了一個檔案後,這個檔案的所在組就是該使用者所在的組
用ls ‐ahl命令可以看到檔案的所有組
也可以使用chgrp 組名 檔名來修改檔案所在的組
其它組
除開檔案的所有者和所在組的使用者外,系統的其它使用者都是檔案的其它組
檔案許可權
ls
-l中顯示的內容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc |
- 10個字元確定不同使用者能對檔案幹什麼
- 第一個字元代表檔案(-)、目錄(d),連結(l)
- 其餘字元每3個一組(rwx),讀(r)、寫(w)、執行(x)
- 第一組rwx:檔案所有者的許可權是讀、寫和執行
- 第二組rw-:與檔案所有者同一組的使用者的許可權是讀、寫但不能執行
- 第三組r--:不與檔案所有者同組的其他使用者的許可權是讀不能寫和執行
也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示連線的檔案數
- root 表示使用者
- root表示使用者所在的組
- 1213 表示檔案大小(位元組)
- Feb 2 09:39 表示最後修改日期
- abc 表示檔名
改變許可權的命令
chmod 改變檔案或目錄的許可權
chmod 755 abc:賦予abc許可權rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=使用者許可權,g=組許可權,o=不同組其他使用者許可權
chmod u-x,g+w abc:給abc去除使用者執行的許可權,增加組寫的許可權
chmod a+r abc:給所有使用者新增讀的許可權
改變所有者(chown)和使用者組(chgrp)命令
chown xiaoming abc:改變abc的所有者為xiaoming
chgrp root abc:改變abc所屬的組為root
chown root ./abc:改變abc這個目錄的所有者是root
chown ‐R root ./abc:改變abc這個目錄及其下面所有的檔案和目錄的所有者是root
改變使用者所在組
在新增使用者時,可以指定將該使用者新增到哪個組中,同樣用root的管理許可權可以改變某個使用者所在的組
- usermod ‐g 組名 使用者名稱
你可以用
- usermod ‐d 目錄名 使用者名稱,改變該使用者登入的初始目錄
【綜合案例】
【題1.1】建立兩個使用者組group1和group2,以及三個使用者dennis、daniel、abigale,並且將前2個使用者分配在group1使用者組下,後一個分配在group2使用者組下
【題1.2】以dennis使用者登入,建立一個Hello.java檔案
【題1.3】以daniel使用者登入,觀察是否可以訪問/home/dennis目錄以及讀或寫其建立的Hello.java檔案
【題1.4】以dennis使用者登入,修改目錄/home/dennis及Hello.java檔案的讀寫許可權(更正:修改目錄許可權的時候,應該使用770,而不是760,否則許可權不足)
【題1.5】重複【題1.3】
【題1.6】改變abigale的使用者組由group2變為group1
然後,可以使用cat /etc/passwd檢視並確定
【參考】
- groupadd 組名,在linux中新增組
- vi /etc/group,檢視linux中所有組資訊,可以看可以編輯
- cat /etc/group,檢視linux中所有組資訊,只可以看不可以編輯
- useradd ‐g 組名 使用者名稱,建立使用者的同時指定將該使用者分配到哪個組下
- vi /etc/passwd,檢視linux中所有使用者資訊,可以看可以編輯
- cat /etc/passwd,檢視linux中所有使用者資訊,只可以看不可以編輯