Linux系統(5):操作用戶和用戶組、修改訪問權限、權限分配
一、用戶和用戶組的介紹
超級用戶(root):權限最大,可以操作任何指令
普通用戶:部分指令沒有權限去執行
普通用戶如果有需求,可以向超級用戶申請權限,相當於借用root來執行
解釋說明
當在一個區域有很多的普通用戶需要執行部分指令,但是權限不夠,
這個區域可以表示為一個組,然后以組的形式向上申請權限來執行指令
這樣是組表示用戶組
查看Linux系統的用戶
想要查看Linux系統的用戶和用戶組,需要通過配置文件去查看,
配置文件所在的位置都在etc目錄下的passwd文本內,passwd表示用戶的意思
查看用戶時:
test:x:1000:1000:test:/home/test:/bin/bash
test:用戶名
x:加密的密碼
1000:用戶編號
1000:組編號
test:用戶全名稱
/home/cy:所在位置
/bin/bash:可執行命令
查看Linux系統的用戶組
group表示用戶組的意思
當我們自定義創建用戶的時候,系統會默認給該用戶生成一個用戶組
總結
用戶和用戶組:
用戶在/etc/passwd中
用戶組在/etc/group/中
二、操作用戶
1、創建新用戶
格式:
useradd 用戶名
2、登錄新用戶
在創建新用戶的時候,沒有輸入密碼
所以在我們登錄新用戶之前需要手動設置密碼
(1)給新用戶設置密碼
passwd----修改密碼
格式:
passwd 用戶名
注意:輸入密碼時,密碼默認不顯示
(2)登錄新用戶
su----切換用戶
格式:
su 用戶名
注意:root切換普通用戶時,不需要輸入密碼;反過來,普通用戶切換root用戶,需要輸入密碼
驗證一下普通用戶無法操作部分指令
(3)刪除用戶
userdel----刪除用戶
格式:
userdel [選項] 用戶名
選項:
-f:刪除登錄用戶(使用-f時,用戶相關文件和目錄不會進行刪除)
-r:刪除用戶和用戶相關文件和目錄
-rf:刪除登錄用戶和登錄用戶相關文件和目錄
注意:用戶主目錄在/home,通信文件在/var/spool/mail/
如何刪除已登錄的用戶
雖然我們使用使用userdel -f 刪除了用戶 刪除了用戶,但是原來的用戶和用戶相關文件和目錄沒有刪除,
那么我們需要將原用戶的所有東西都要刪除掉,需要使用userdel -r將其刪除
(前面使用userdel -f 刪除了用戶,這時候不能再使用使用userdel -rf ,因為userdel -rf 是刪除用戶和用戶相關文件和目錄,此時已經沒有用戶,只有用戶相關文件和目錄)
三、操作用戶組
1、創建用戶組
groupadd----創建組(普通組)
格式:
groupadd 組名
注意:
自定義創建的用戶組,叫做普通組,創建普通組的時候不會生成普通用戶;
但是創建普通用戶的時候系統會默認生成組,這種組叫做主組
2、刪除用戶組
groupdel----刪除組(普通組)
格式:
groupdel 組名
注意:
groupdel不能刪除主組,主組隨着用戶的消失而消失(想要刪除主組,就必須刪除對應的用戶)
區分:主組是創建用戶時系統默認生成的,依賴於用戶的存在而存在;
手動創建的普通組用於管理多個普通用戶
3、管理用戶和組
手動創建一個普通組,再手動創建多個普通用戶
因為普通組用於管理多個普通用戶,這時候就需要將多個普通用戶添加到普通組
例:
gpasswd -a 普通用戶1 普通組
gpasswd -a 普通用戶2 普通組
gpasswd -a 普通用戶3 普通組
......
gpasswd----管理用戶和組
格式:
gpasswd [選項] 用戶名 組名
選項:
-a:添加
-d:刪除
注意:
組默認是沒有任何用戶的;
添加用戶到組的時候,可以添加到普通組、別的主組和本身的主組
如果是刪除普通組,無論組下是否有用戶都可以直接刪除
如果是刪除主組,並且主組里面有其他用戶,刪除主組時,刪除的是主組對應的用戶,主組不會被刪除;此時主組變成普通組
四、操作訪問權限
通過ll查看詳細信息時:
-rw-r--r--. 1 root root 181 3月 15 15:34 test.txt
d rwx rwx rwx 分為4部分
d:表示類型,如果是d,表示是文件夾/目錄,如果是-,表示是文本
rwx:表示當前用戶權限
rwx:表示當前用戶組權限
rwx:表示其他用戶權限
root:表示當前用戶
root:表示當前用戶組
r:讀,w:寫,編輯,x:執行
- rw- r-- r--
-:表示該類型是文本
rw-:表示當前用戶可讀,可編寫,但不能執行
r--:表示當前用戶組只能讀,不能編寫和執行
r--:表示其他用戶只能讀,不能編寫和執行
1、修改權限
chmod----修改文件的訪問權限
權限分為4部分:
d rwx rwx rwx
d:表示類型,如果是d,表示是文件夾/目錄,如果是-,表示是文本
rwx:表示當前用戶權限
rwx:表示當前用戶組權限
rwx:表示其他用戶權限
r:讀
w:寫,編輯
x:執行
格式1:(使用相加減修改權限)
chmod [選項]±[權限修改] [文件]
選項:
u:代表當前用戶
g:代表當前組
o:代表其他用戶
a:代表所有(所有用戶和組)
舉例1:
將 -rw-r--r-- 的其他用戶權限增加可編寫權限
chmod o+w test.txt
修改后:-rw-r--rw-
舉例2:
將 -rwxrwxrwx 的所有可編寫和可執行權限去掉
chmod a-w,a-x test.txt
修改后:-r--r--r--
格式2:(使用數字修改權限)
chmod [選項]±[權限修改] [文件]
4:讀(r)
2:寫,編輯(w)
1:執行(x)
7:全部權限(4+2+1)
舉例1:
將 -rw-rw-r-- 的權限修改為所有權限
chmod 777 test.txt
修改后:-rwxrwxrwx
舉例2:
將 -rwxrwxr-- 的所有執行權限去掉
chmod 664 test.txt
修改后:-rw-rw-r--
注意:
如果只給一個數字,表示修改其他用戶o,兩個數字表示修改當前組g和其他用戶o
舉例:
-rw-r--r--
chmod 7 test.txt
修改后:-------rwx
選項:
-R:迭代修改
如果show.txt在目錄test下,使用chmod修改test權限的時候,show.txt不會變;
要想在修改test權限的時候,其內部的文件權限也隨之改變,使用迭代修改:chmod -R
2、修改用戶組
chgrp----修改用戶組
格式:
chgrp [選項] [組名] [文件或目錄]
選項:
-R:表達迭代修改
舉例:
-rw-r--r--. 1 root root 181 3月 15 15:34 test.txt
chgrp test01 test.txt
修改后:-rw-r--r--. 1 root test01 181 3月 15 15:34 test.txt
注意:
文件或目錄的所有用戶或所有組,都是以編號來查詢所有用戶或所有組
如果不存在就顯示編號,存在顯示名稱
3、修改所屬用戶
chown----修改所屬用戶
格式:
chown [選項] [組名] [文件或目錄]
選項:
-R:表達迭代修改
舉例:
-rw-r--r--. 1 root root 181 3月 15 15:34 test.txt
chown test01 test.txt
修改后:-rw-r--r--. 1 test01 root 181 3月 15 15:34 test.txt
五、權限分配
sudo----越權執行
格式:
sudo 命令
注意:
sudo實際上去借root權限執行命令(root對普通用戶分配了權限)
sudo -l:查看當前權限
visudo----修改配置文件進行權限分配(文件所在位置/etc/sudoers)
例如:
普通用戶擁有root所有權限
用戶名 ALL=(ALL) ALL
用戶名 ALL=(root) ALL
例如:
普通用戶只能執行一個命令
用戶名 ALL=(root)/bin/rm
可以同過vim /etc/sudoers修改權限分配