在 Ubuntu 服务器上添加一个新用户

Pau*_*rds 11 server adduser

我一直在尝试添加一个新用户。我输入了adduser用户名,useradd然后也尝试了用户名。它似乎确实添加了一个用户,但是当我登录时,我只得到一个美元符号而不是user@servername. 我尝试添加规则以允许我进入该用户名的 sudo,但为什么我只得到美元符号?

Jim*_*ter 14

您可能不小心使用了“useradd”而不是“adduser” - 它添加了用户,但没有为他/她设置配置文件 - 或者您可能丢失了 /etc/skel 中通常设置的“骨架”文件注册一个默认用户帐户。

请执行sudo userdel usernameusername您正在创建的帐户的名称在哪里),然后sudo adduser username在此处发布输出。你应该得到如下内容:

me@banshee:~$ sudo adduser noob
Adding user `noob' ...
Adding new group `noob' (1005) ...
Adding new user `noob' (1005) with group `noob' ...
Creating home directory `/home/noob' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
Changing the user information for noob
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] 
Run Code Online (Sandbox Code Playgroud)

如果您执行了所有这些操作并且用户仍然没有得到完整的提示,那么您丢失了 /etc/skel 中的一些文件 - 请回帖,我们可以提供进一步的帮助。我认为您只是不小心使用了useradd而不是adduser,它不会执行上述任何操作 - 它只是创建一个系统帐户,仅此而已,没有 homedir,什么也没有。


小智 5

好吧,我不知道 adduser 的默认行为是什么,但我认为您应该明确指定选项。喜欢:

sudo useradd -d /home/testuser -m testuser
Run Code Online (Sandbox Code Playgroud)

上面的命令为新用户设置主目录,并-m在必要时创建它 ( )。然后你需要为新用户设置密码:

sudo passwd testuser
Run Code Online (Sandbox Code Playgroud)

还有其他几个选项,请查看手册页以查看它们:

man adduser
Run Code Online (Sandbox Code Playgroud)