介紹如何在 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