創建用戶
在linux中創建用戶可以使用兩種指令 adduser 和 useradd ,其區別可參考 這篇文章 。
在 ubuntu 中使用 adduser 會更方便地創建用戶。
語法
sudo adduser username
示例
其需要使用 root 用戶才能創建用戶,需要輸入當前用戶的密碼,如果未指定組,會自動創建同名組并將其添加到組中,自動創建家目錄。然后要求輸入該用戶的密碼與相關信息。
useradd 則需要指定一系列信息。
語法
useradd [-mMnr][-c <備注>][-d <登入目錄>][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-s <shell>][-u <uid>][用戶帳號]
或
useradd -D [-b][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G <群組>][-s <shell>]
參數說明
-c<備注>
-d<登入目錄>
-D
-e<有效期限>
-f<緩沖天數>
-g<群組>
-G<群組>
-m
-M
-n
-r
-s<shell>
-u<uid>
示例
- 創建 test2 用戶,指定家目錄為 /home/test2 ,如果未有家目錄則自動創建家目錄 /home/test2 ,指定shell為 /bin/bash
注意如果為有指定的組,需要先自行創建改組。
注意此時是 test2 用戶是沒有密碼的,需要手動添加密碼,否則無法登錄用戶。可以使用 passwd 設置密碼, passwd 具體可看 這篇文章 。
添加用戶之后,會在 /etc/passwd 中添加一個記錄
/etc/passwd 文件內容非常規律, 每行記錄對應一個用戶
這里的密碼 x 并不是真正的密碼,密碼存放在 /etc/shadow 中,需要 root 用戶才能查看
同 /etc/passwd 文件一樣,文件中每行代表一個用戶,同樣使用 : 作為分隔符,不同之處在于,每行用戶信息被劃分為 9 個字段。每個字段的含義如下:
用戶名:加密密碼:最后一次修改時間:最小修改時間間隔:密碼有效期:密碼需要變更前的警告天數:密碼過期后的寬限時間:賬號失效時間:保留字段
切換用戶
su (英文全拼:switch user) 命令用于變更為其他使用者的身份,除 root 外,需要鍵入該使用者的密碼。
語法
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
-f 或 --fast
-m -p 或 --preserve-environment
-c command 或 --command=command
-s shell 或 --shell=shell
--help
--version
- -l 或 --login
USER
ARG
示例
變更帳號為 root 并在執行 ls 指令后退出變回原使用者
su -c ls root
變更帳號為 root 并傳入 -f 參數給新執行的 shell
su root -f
變更帳號為 clsung 并改變工作目錄至 clsung 的家目錄(home dir)
su - clsung
切換用戶
hnlinux@runoob.com:~$ whoami //顯示當前用戶
hnlinux
hnlinux@runoob.com:~$ pwd //顯示當前目錄
/home/hnlinux
hnlinux@runoob.com:~$ su root //切換到root用戶
密碼:
root@runoob.com:/home/hnlinux# whoami
root
root@runoob.com:/home/hnlinux# pwd
/home/hnlinux
切換用戶,改變環境變量
hnlinux@runoob.com:~$ whoami //顯示當前用戶
hnlinux
hnlinux@runoob.com:~$ pwd //顯示當前目錄
/home/hnlinux
hnlinux@runoob.com:~$ su - root //切換到root用戶
密碼:
root@runoob.com:/home/hnlinux# whoami
root
root@runoob.com:/home/hnlinux# pwd //顯示當前目錄
/root
切換用戶后可以使用 exit 命令切換回來
刪除用戶
Linux userdel 命令用于刪除用戶賬號。 userdel 可刪除用戶賬號與相關的文件。若不加參數,則僅刪除用戶賬號,而不刪除相關文件。
語法
userdel [-r][用戶帳號]
參數說明
- r 刪除用戶登入目錄以及目錄中所有文件
實例
- 刪除用戶賬號及工作目錄
sudo userdel -r test2