1. 程式人生 > >Linux使用者組、檔案許可權詳解

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中所有使用者資訊,只可以看不可以編輯