十五、Linux組管理與許可權管理(重點)
Linux組的基本介紹
在linux中每個使用者必須屬於一個組,不能獨立於組外,在linux中每個檔案有所有者、所在組、其他組的概念
(1)、所有者
(2)、所在組
(4)、改變使用者所在的組
一、檔案/目錄的所有者
一般為檔案的建立者,誰建立了該檔案,就自然成為改檔案的所有者
1、檢視檔案的所有者
(1)、指令:ls -ahl
(2)、例項:建立一個組police,再建立一個使用者tom,然後使用tom
來建立一個檔案ok.txt,看看情況如何
groupadd police
useradd -g police tom
passwd
tom使用者登入,建立檔案:touch ok.txt
檢視:ls -ahl
2、修改檔案所有者
- 指令:chown 使用者名稱 檔名
- 例項:使用root建立一個檔案apple.txt,然後將其所有者修改為tom
root使用者建立:touch apple.txt
chown tom apple.txt (組並沒有改變)
組的建立
- 基本指令:
groupadd 組名
- 例項:
(1)、建立一個組 Monster
groupadd Monster
(2)、建立一個使用者fox,並放入到Monster組中
useradd -g Monster fox
二、檔案/目錄所在組
當一個使用者建立一個檔案後,預設這個檔案的所在組就是該使用者所在的組
1、檢視檔案/目錄所在組
- 基本指令:
ls -ahl
2、修改檔案所在組
- 基本指令
chgrp 組名 檔名
- 例項:
使用root使用者建立檔案orange.txt,看看當前檔案屬於那個組,然後將這個檔案
所在組修改到police組。
touch orange.txt
ls -ahl
chgrp police orange.txt
其他組
除檔案的所有者和所在組的使用者外,系統的其他使用者都是檔案的其他組。
3、改變使用者所在組
在新增使用者時,可以指定將該使用者新增到哪個組中,同樣的用root的管理許可權可以改變某個使用者所在組。
- 改變使用者所在組命令:
(1)、usermod -g 組名 使用者名稱
(2)、usermod -d 目錄名 使用者名稱 改變該使用者登入的初始目錄
- 例項:
建立一個ban組,將tom使用者從原來所在的police組,修改到ban組
groupadd ban
usermod -g ban tom
id --檢視效果
三、許可權的基本介紹(記住)
ls -l中顯示內容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
- 0-9位說明:
(1)、第0位確定檔案型別(-,d,c,b)
(2)、第1-3位確定改檔案所有者擁有該檔案的許可權
(3)、第4-6位確定所有組擁有該檔案的許可權
(4)、第7-9位確定其他使用者擁有該檔案的許可權
1、rwx許可權詳解
rwx作用到檔案
(1)、【r】代表可讀read,可以讀取、檢視
(2)、【w】代表可寫write,可以修改,但不代表可以刪除該檔案;刪除一個檔案前提是對該檔案所在的目錄有寫許可權,才能刪除該目錄
(3)、【x】代表可執行execute,可以被執行
rwx作用到目錄
(1)、【r】代表可讀read,可以讀取,ls檢視目錄內容
(2)、【w】代表可寫write,可以修改,目錄內建立、刪除、重新命名目錄
(3)、【x】代表可執行execute,可以進入該目錄
四、許可權管理
1、修改許可權-chmod
- 基本說明
通過chmod指令,可以修改檔案或者目錄的許可權
- 第一種方式:+、-、=變更許可權
u:所有者 g:所在組 o:其他人 a:所有人(u、g、o的總和)
(1)、chmod u=rwx,g=rx,o=x 檔案目錄名
(2)、chmod o+w 檔案目錄名
(3)、chmod a-x 檔案目錄名
- 例項:
(1)、給abc檔案的所有者讀寫執行的許可權,給所在組讀執行許可權,給其他組讀執行許可權
chmod u=rwx,g=rx,o=rx abc
(2)、給abc檔案所有者除去執行的許可權,增加組寫的許可權
chmod u-x,g+w abc
(3)、給abc檔案的所有使用者新增讀的許可權
chmod a+r abc
- 第二種方式:通過數字變更許可權
r=4 w=2 x=1 rwx=4+2+1=7
chmod u =rwx,g=rx,o=x 檔案目錄名
相當於 chmod 751 檔案目錄名
- 例項:
將/home/abc.txt檔案許可權修改成rwxr-xr-x,使用給數字的方式實現
chmod 755 /home/abc.txt
2、修改檔案所有者-chown
- 基本介紹
chown newower file (改變檔案的所有者)
chown newower:newgroup file (改變使用者的所有者和所有組)
-R:如果是目錄,使其下所有子檔案或目錄遞迴生效
例項:
(1)、將/home/abc.txt檔案的所有者修改為tom
chown tom /home/abc.txt
(2)、將/home/kkk目錄下所有檔案和目錄的所有者都改成tom
使用root使用者操作
chown -R tom /home/kkk
3、修改檔案所在組-chgrp
- 基本介紹:
chgrp newgroup file (修改檔案的所有組)
- 例項:
(1)、將/home/abc.txt檔案的所有組修改成shaolin
chgrp shaolin /home/abc.txt
(2)、將/home/kkk目錄下所有的檔案和目錄的所在組都修改成shaolin
chgrp -R shaolin /home/kkk
五、許可權實踐案例
police ,bandit
jack,jerry:警察
xh,xq:土匪
(1)、建立組
groupadd police
groupadd bandit
(2)、建立使用者
useradd -g police jack
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq
(3)、jack建立一個資料夾jack01.txt,自己可以讀寫,本組人可以讀,其他組沒有任何許可權
jack登入,touch jack01.txt
chmod 640 jack01.txt
(4)、jack修改該檔案,其他組人可以讀,本組人可以讀寫
chomd o=r,g=rw jack01.txt
(5)、xh投靠警察,看看是否可以讀寫
xh登入,cd /home
ls -l
root登入 修改xh所在組 usermod -g police xh
jack登入 chmod g=rx jack
logout xh,重新連線,登入xh
可以讀寫jack目錄