介紹如何在 Linux 系統上使用 adduser 與 deluser 指令新增與刪除使用者帳號。
在 Linux 系統上若要新增使用者帳號,可以使用 adduser 指令,這個指令是低階指令(例如 useradd)的包裝版本,使用上比較方便:
# 新增使用者帳號
sudo adduser myuser
Adding user `myuser' ...
Adding new group `myuser' (1001) ...
Adding new user `myuser' (1001) with group `myuser' ...
Creating home directory `/home/myuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for myuser
Enter the new value, or press ENTER for the default
Full Name []: My User
Room Number []: 123
Work Phone []: 02-12345678
Home Phone []: 03-1234567
Other []:
Is the information correct? [Y/n]
執行 adduser 指令之後,首先要設定使用者的密碼(輸入兩次),隨後填寫使用者的全名(Full Name)、房間號碼(Room Number)、工作電話(Work Phone)、家庭電話(Home Phone)與其他(Other)資訊,最後確認資料無誤後,即可新增使用者。
若要自行指定使用者的家目錄路徑,可以使用 --home 參數來指定:
# 指定家目錄為 /home2/myuser sudo adduser --home /home2/myuser myuser
若要設定使用者預設的 shell,可以使用 --shell 來指定:
# 指定 Shell 為 /bin/rbash sudo adduser --shell /bin/rbash myuser
若要指定新增使用者的 UID,可以使用 --uid 參數來指定:
# 指定新使用者的 UID 為 3000 sudo adduser --uid 3000 myuser
新增使用者時預設會同時新增一個相同名稱的群組,若要指定該群組的 GID,可以使用 --gid 來指定:
# 指定新建群組的 GID 為 3000 sudo adduser --gid 3000 myuser
若要將新增的使用者加入既有的群組,不要另外建立新的群組,可以加上 --ingroup 指令要加入的群組:
# 將新使用者加入既有的 adm 群組 sudo adduser --ingroup adm myuser
若在建立帳號之後,想要先禁止使用者登入,可以加上 --disabled-login 參數,加上此參數之後所建立的新帳號都無法登入,直到管理者設定密碼之後,該帳號才能被使用:
# 禁止新帳號登入 sudo adduser --disabled-login myuser
若在使用 adduser 建立帳號時加上 --disabled-password 參數,則建立帳號時就不會設定使用者的密碼,使用者也無法以密碼的方式登入,但可用 SSH 的 RSA 金鑰認證的方式登入。
# 禁止新帳號以密碼登入 sudo adduser --disabled-password myuser
若要讓新使用者的家目錄以加密的方式保護資料,可以加上 --encrypt-home 參數:
# 加密家目錄 sudo adduser --encrypt-home myuser
若要刪除使用者帳號,可以使用 deluser 指令:
# 刪除使用者帳號
sudo deluser myuser
若要連同家目錄(home)與郵件(mail spool)一起刪除,可以加上 --remove-home 參數:
# 連同家目錄與郵件一起刪除 sudo deluser --remove-home myuser
若要刪除整個系統上所有該使用者擁有的檔案,可以加上 --remove-all-files 參數:
# 刪除整個系統上所有該使用者擁有的檔案 sudo deluser --remove-all-files myuser
若要在刪除檔案之前將檔案備份起來,可以加上 --backup 參數:
# 刪除檔案前先備份 sudo deluser --remove-home --backup myuser
備份的檔案預設會進行壓縮並儲存為 username.tar.gz 或 username.tar.bz2,若要指定備份檔案輸出的目錄,可以使用 --backup-to 參數來指定:
# 指定備份檔案輸出目錄 sudo deluser --remove-home --backup --backup-to /backup/path myuser