用戶是Unix/Linux系統工作中重要的一環,用戶管理包括用戶與組賬號的管理。
在Unix/Linux系統中,不論是由本機或是遠程登錄系統,每個系統都必須擁有一個賬號,並且對於不同的系統資源擁有不同的使用權限。
Unix/Linux系統中的root賬號通常用於系統的維護和管理,它對Unix/Linux操作系統的所有部分具有不受限制的訪問權限。
在Unix/Linux安裝的過程中,系統會自動創建許多用戶賬號,而這些默認的用戶就稱為“標准用戶”。
在大多數版本的Unix/Linux中,都不推薦直接使用root賬號登錄系統。
<1>查看當前用戶:whoami
whoami該命令用戶查看當前系統當前賬號的用戶名。可通過cat /etc/passwd查看系統用戶信息。
由於系統管理員通常需要使用多種身份登錄系統,例如通常使用普通用戶登錄系統,然后再以su命令切換到root身份對傳統進行管理。這時候就可以使用whoami來查看當前用戶的身份。
<2>查看登錄用戶:who
who命令用於查看當前所有登錄系統的用戶信息。
常用選項:
選項 | 含義 |
---|---|
-m或am I | 只顯示運行who命令的用戶名、登錄終端和登錄時間 |
-q或--count | 只顯示用戶的登錄賬號和登錄用戶的數量 |
-u | 在登錄時間后顯示該用戶最后一次操作到當前的時間間隔 |
-u或--heading | 顯示列標題 |
<3>退出登錄賬戶: exit
如果是圖形界面,退出當前終端;
如果是使用ssh遠程登錄,退出登陸賬戶;
如果是切換后的登陸用戶,退出則返回上一個登陸賬號。
<4>切換用戶:su
可以通過su命令切換用戶,su后面可以加“-”。su和su –命令不同之處在於,su -切換到對應的用戶時會將當前的工作目錄自動轉換到切換后的用戶主目錄:
注意:如果是ubuntu平台,需要在命令前加“sudo”,如果在某些操作需要管理員才能操作,ubuntu無需切換到root用戶即可操作,只需加“sudo”即可。sudo是ubuntu平台下允許系統管理員讓普通用戶執行一些或者全部的root命令的一個工具,減少了root 用戶的登陸和管理時間,提高了安全性。
命令 | 含義 |
---|---|
su | 切換到root用戶 |
su root | 切換到root用戶 |
su - | 切換到root用戶,同時切換目錄到/root |
su - root | 切換到root用戶,同時切換目錄到/root |
su 普通用戶 | 切換到普通用戶 |
su - 普通用戶 | 切換到普通用戶,同時切換普通用戶所在的目錄 |
<5>添加、刪除組賬號:groupadd、groupdel
groupadd 新建組賬號 groupdel 組賬號 cat /etc/group 查看用戶組
<7>添加用戶賬號:useradd
在Unix/Linux中添加用戶賬號可以使用adduser或useradd命令,因為adduser命令是指向useradd命令的一個鏈接,因此,這兩個命令的使用格式完全一樣。
useradd命令的使用格式如下: useradd [參數] 新建用戶賬號
參數 | 含義 |
---|---|
-d | 指定用戶登錄系統時的主目錄,如果不使用該參數,系統自動在/home目錄下建立與用戶名同名目錄為主目錄 |
-m | 自動建立目錄 |
-g | 指定組名稱 |
相關說明:
- Linux每個用戶都要有一個主目錄,主目錄就是第一次登陸系統,用戶的默認當前目錄(/home/用戶);
- 每一個用戶必須有一個主目錄,所以用useradd創建用戶的時候,一定給用戶指定一個主目錄;
- 用戶的主目錄一般要放到根目錄的home目錄下,用戶的主目錄和用戶名是相同的;
- 如果創建用戶的時候,不指定組名,那么系統會自動創建一個和用戶名一樣的組名。
命令 | 含義 |
---|---|
useradd -d /home/abc abc -m | 創建abc用戶,如果/home/abc目錄不存在,就自動創建這個目錄,同時用戶屬於abc組 |
useradd -d /home/a a -g test -m | 創建一個用戶名字叫a,主目錄在/home/a,如果主目錄不存在,就自動創建主目錄,同時用戶屬於test組 |
cat /etc/passwd | 查看系統當前用戶名 |
<8>設置用戶密碼:passwd
在Unix/Linux中,超級用戶可以使用passwd命令為普通用戶設置或修改用戶口令。用戶也可以直接使用該命令來修改自己的口令,而無需在命令后面使用用戶名。
<9>刪除用戶:userdel
命令 | 含義 |
---|---|
userdel abc(用戶名) | 刪除abc用戶,但不會自動刪除用戶的主目錄 |
userdel -r abc(用戶名) | 刪除用戶,同時刪除用戶的主目錄 |
<10>修改文件權限:chmod
chmod 修改文件權限有兩種使用格式:字母法與數字法。
字母法:chmod u/g/o/a +/-/= rwx 文件
[ u/g/o/a ] | 含義 |
---|---|
u | user 表示該文件的所有者 |
g | group 表示與該文件的所有者屬於同一組( group )者,即用戶組 |
o | other 表示其他以外的人 |
a | all 表示這三者皆是 |
[ +-= ] | 含義 |
---|---|
+ | 增加權限 |
- | 撤銷權限 |
= | 設定權限 |
rwx | 含義 |
---|---|
r | read 表示可讀取,對於一個目錄,如果沒有r權限,那么就意味着不能通過ls查看這個目錄的內容。 |
w | write 表示可寫入,對於一個目錄,如果沒有w權限,那么就意味着不能在目錄下創建新的文件。 |
x | excute 表示可執行,對於一個目錄,如果沒有x權限,那么就意味着不能通過cd進入這個目錄。 |
chmod o+w file 給文件file的其它用戶增加寫權限:
chmod u-r file 給文件file的擁有者減去讀的權限:
chmod g=x file設置文件file的同組用戶的權限為可執行,同時去除讀、寫權限:
數字法:“rwx” 這些權限也可以用數字來代替
字母 | 說明 |
---|---|
r|讀取權限,數字代號為 "4" w|寫入權限,數字代號為 "2" x|執行權限,數字代號為 "1" -|不具任何權限,數字代號為 "0"
如執行:chmod u=rwx,g=rx,o=r filename 就等同於:chmod u=7,g=5,o=4 filename
chmod 751 file:
- 文件所有者:讀、寫、執行權限
- 同組用戶:讀、執行的權限
- 其它用戶:執行的權限
chmod 777 file:所有用戶擁有讀、寫、執行權限
注意:如果想遞歸所有目錄加上相同權限,需要加上參數“ -R ”。 如:chmod 777 test/ -R 遞歸 test 目錄下所有文件加 777 權限