未创建主目录

未创建主目录

我正在尝试了解 Ubuntu 上的系统管理。因此,作为示例,我使用以下命令创建一个虚拟用户

sudo useradd -d /home/linda linda

passwd创建密码。我检查是否已使用cat /etc/passwd

linda:x:1004:1004::/home/linda:/bin/sh

然而,当su - linda

No directory, logging in with HOME=/

确实没有创建主目录。我遗漏了什么?

谢谢。

答案1

man useradd状态:

useradd is a low level utility for adding users. On Debian,
administrators should usually use adduser(8) instead.

注意低级实用程序

要添加用户,请使用adduser。这是一个更高级的实用程序。


此外,看一下这个-d选项:

   -d, --home HOME_DIR
       The new user will be created using HOME_DIR as the value for the
       user's login directory. The default is to append the LOGIN name to
       BASE_DIR and use that as the login directory name. The directory
       HOME_DIR does not have to exist but will not be created if it is
       missing.

如果缺少该目录,则不会创建该目录。

一般情况下,远离useradd,改用adduser

答案2

您只需创建主目录即可解决此问题。

mkdir /home/linda
chown linda:linda /home/linda

尝试再次登录,这样就应该可以了。

答案3

根据man useradd,如果缺少该目录,-d /home/linda选项将不会创建目录/home/linda。因此,您必须手动创建它。为此,请在终端中运行以下命令:

sudo -i                            #to get root privileges
mkdir /home/linda                  #to create the directory /home/linda
cp -rT /etc/skel /home/linda         #to populate /home/linda with default files and folders
chown -R linda:linda /home/linda   #to change the owner of /home/linda to user linda

也可以看看:创建账户后如何创建用户主文件夹?

答案4

使用-m而不是-d,这样将为您创建目录:

sudo useradd -m linda

此外,如果linda是普通用户,您可能希望她使用/bin/bash默认设置shell

sudo useradd -m linda -s /bin/bash

相关内容