Users

為什麼創建新使用者時沒有創建主目錄?

  • January 2, 2021

useradd我在Ubuntu 伺服器虛擬機上使用該命令創建了一個新使用者(testuser) 。我想為使用者創建一個主目錄,並為他們提供 root 權限。

但是,當我以新使用者身份登錄時,它抱怨沒有主目錄。我究竟做錯了什麼?

最後我自己找到瞭如何做到這一點:

  useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser

-m如果主目錄不存在,則創建它。

-d覆蓋預設的主目錄位置。 -s設置使用者的登錄 shell。

-G期望使用者應屬於的以逗號分隔的組列表。

詳情請參閱man useradd

useradd程序已被棄用,取而代之的是adduser. 來自man useradd

useradd 是用於添加使用者的低級實用程序。**在 Debian 上,

管理員通常應該使用 adduser(8) 代替**。

adduser是一個更友好的前端useradd,預設情況下會做一些事情,比如創建使用者目錄。當您僅使用使用者名作為參數執行它時,系統將提示您提供其他資訊,例如密碼:

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
   Full Name []: 
   Room Number []: 
   Work Phone []: 
   Home Phone []: 
   Other []: 
Is the information correct? [Y/n] 

通常,您應該始終使用adduser而不是,useradd因為這也會自動設置所需的組。如中所述man adduser

  adduser  and  addgroup  add users and groups to the system according to
  command    line    options    and    configuration    information    in
  /etc/adduser.conf.   They  are  friendlier  front ends to the low level
  tools like useradd, groupadd and usermod programs, by default  choosing
  Debian  policy conformant UID and GID values, creating a home directory
  with skeletal configuration, running a custom script,  and  other  fea‐
  tures. 

引用自:https://unix.stackexchange.com/questions/182180