为终端中的现有用户创建默认主目录

我该怎么做呢? 我创建了一个没有主目录的用户,现在我想创建一个。 不只是一个名为new_user的文件夹,我想要默认的主目录及其所有文件夹和隐藏文件等。

使用以下(以root用户身份,如果不是root用户,则使用sudo):

 mkhomedir_helper username 

为此,文件夹/home/username不能存在。

对于X相关文件夹(桌面,下载等),您需要在图形环境中登录; 它们将在您第一次登录时自动生成。

当用户首次通过GNOME登录时,会自动创建子目录(Documents,Downloads等),前提是主目录是使用正确的权限创建的。 这是一个演示:

 alaa @ aa-lu:〜$ sudo useradd testinguser
 alaa @ aa-lu:〜$ sudo passwd testinguser
输入新的UNIX密码:
重新输入新的UNIX密码:
 passwd:密码已成功更新
 alaa @ aa-lu:〜$ sudo ls -l / home
共20
 drwxr-xr-x 55 alaa alaa 4096 8月22日22:00 alaa
 drwx ------ 2 root root 16384 Jun 5 09:46丢失+发现
 alaa @ aa-lu:〜$ sudo mkdir / home / testinguser
 alaa @ aa-lu:〜$ sudo chown testinguser:testinguser / home / testinguser
 alaa @ aa-lu:〜$ ls -l / home
总共24
 drwxr-xr-x 55 alaa alaa 4096 8月22日22:00 alaa
 drwx ------ 2 root root 16384 Jun 5 09:46丢失+发现
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:03 testinguser
 alaa @ aa-lu:〜$ ls -l / home / testinguser /
总共0
 阿拉@ AA禄:〜$

您可以通过检查/etc/passwd的条目来检查用户的主目录是否已正确设置。 默认情况下,您应该看到主目录设置为/home/testinguser

 alaa @ aa-lu:〜$ grep testinguser / etc / passwd
 testinguser:x:1001:1001 :: / home / testinguser :/ bin / sh

如果你没有在那里看到主目录/home/testinguser ,你需要执行命令sudo usermod -d /home/testinguser testinguser来更新它,尽管你不需要使用这个命令,因为它应该被设置默认情况下(根据useradd的联机帮助页)。

然后我退出了我的帐户,并使用testinguser重新登录,这里是自动创建的子目录:

 alaa @ aa-lu:〜$ ls -l / home / testinguser /
总共36
 drwxr-xr-x 2 testinguser testinguser 4096 8月23日10:05桌面
 drwxr-xr-x 2 testinguser testinguser 4096 8月23日10:05文件
 drwxr-xr-x 2 testinguser testinguser 4096 8月23日10:05下载
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05音乐
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:07图片
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05公开
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05模板
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05video

我不需要复制/etc/skel的内容。

如果可能,您可以尝试按照这些步骤创建另一个新用户吗? 完成后,您可以通过sudo deluser testinguser && sudo rm -r /home/testinguser删除此新用户。

如果所有这些都不适合你,那么我猜这是一个错误。

更新:解决方案已经破解,也不适合我。

如果要创建用户的主目录(如果不存在),请运行带有-m标志的useradd命令。 这将复制/etc/skel目录中的所有文件。

 useradd -m username 

您可能需要为系统配置设置。 根据手册页:

  -m, --create-home Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory. By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are created. 

并进一步表明:

 CONFIGURATION The following configuration variables in /etc/login.defs change the behavior of this tool: CREATE_HOME (boolean) Indicate if a home directory should be created by default for new users. 

如果使用adduser命令创建新用户,则无需为新用户创建主目录。 使用/home目录中的用户名命名的/home目录,具有以下子目录:将自动创建新用户的桌面,下载,文档,音乐,图片,video(和其他)。

如果使用useradd命令创建新用户,则在终端中运行以下命令:

 sudo -i #enter your user password when you are asked gedit /etc/passwd 

以root身份编辑/etc/passwd文件(这是最重要的一步)。 找到具有新用户名称的行,并为他设置默认的主目录,如下所示:

 new_username:x:1001:1001::/home/new_username:/bin/sh 

在此行,您还可以为新用户添加真实姓名,或设置默认shell。 像这样的东西:

 new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash 

小心,不要做任何其他改动。

保存文件后,在从root帐户退出之前,请运行以下命令:

 mkdir /home/new_username #to create the directory /home/new_username cp /etc/skel/* /home/new_username #to copy copy files from the /home/new_username chown -R new_username:new_username /home/new_username #to change the owner of /home/new_username to the new user 

完成所有这些操作后,首次登录后将自动填充新用户的主文件夹。

另请参阅: 如何在创建帐户后创建用户主文件夹?

所有你需要的是使它工作的主文件夹。 作为根,

 cd /home cd mkdir username chown username username chgrp username username 

第一次登录应创建所有必需的文件,这些文件似乎是:

 drwxr-xr-x 16 fotanus fotanus 4096 Jun 4 17:46 . drwxr-xr-x 9 root root 4096 Jun 4 17:43 .. drwx------ 11 fotanus fotanus 4096 Jun 4 17:46 .cache drwx------ 13 fotanus fotanus 4096 Jun 4 17:46 .config drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Desktop drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Documents drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Downloads drwx------ 3 fotanus fotanus 4096 Jun 4 17:46 .gconf drwxrwxr-x 2 fotanus fotanus 4096 Jun 4 17:46 .gstreamer-0.10 -rw------- 1 fotanus fotanus 334 Jun 4 17:45 .ICEauthority drwxr-xr-x 3 fotanus fotanus 4096 Jun 4 17:45 .local drwx------ 4 fotanus fotanus 4096 Jun 4 17:45 .mozilla drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Music drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Pictures drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Public drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Templates drwxr-xr-x 2 fotanus fotanus 4096 Jun 4 17:45 Videos -rw------- 1 fotanus fotanus 55 Jun 4 17:45 .Xauthority -rw------- 1 fotanus fotanus 711 Jun 4 17:45 .xsession-errors