如何在Linux上为现有用户创建主目录

在Linux上默认情况下创建用户时,该用户的默认主目录在/ home下创建。如果您知道Ubuntu和Debian派生的发行版,则默认情况下useradd命令将不会创建主目录。

考虑您已经创建用户但主目录不存在的情况。本教程介绍了如何在Linux上为现有用户创建默认主目录。

为现有用户创建默认主目录

我正在使用Ubuntu 20.04,并且正在使用useradd命令创建一个名为“ bob”的用户。

$ sudo useradd bob

Useradd命令将条目主目录添加到/ etc / passwd文件

$ grep bob /etc/passwd
bob:x:1003:1003::/home/bob:/bin/sh
$

当我尝试使用以下用户身份登录时 su -,那是 logging in with Home=/..即,没有为用户创建主目录。

$ su - bob
Password:
No directory, logging in with HOME=/
$

在Linux上,用户的默认主目录是/ home。创建默认主目录 mkhomedir_helper 命令。

请务必执行 mkhomedir_helper 以root用户或具有sudo访问权限的用户身份运行命令。

$ sudo mkhomedir_helper bob

前面的命令创建一个主目录和一个名为“ / home / bob”的用户设置文件。

$ ls -al /home/bob
total 20
drwxr-xr-x 2 bob  bob  4096 Jun  1 02:26 .
drwxr-xr-x 5 root root 4096 Jun  1 02:26 ..
-rw-r--r-- 1 bob  bob   220 Jun  1 02:26 .bash_logout
-rw-r--r-- 1 bob  bob  3771 Jun  1 02:26 .bashrc
-rw-r--r-- 1 bob  bob   807 Jun  1 02:26 .profile

在图形环境(例如GNOME和XFCE)中,如果主目录没有子目录,则用户将必须注销并再次登录。

用户首次登录时,可以在其主目录中创建所有子目录,例如图片,文档,视频和下载。

另一种方法是删除用户并创建一个新用户 -m 要么 --create-home 选项。

以下命令创建一个主文件夹(-m),并将指定的主目录(-d)设置为新用户的登录值。

$ sudo useradd -m -d /home/bob01 bob01

结论

总之,如果您是Ubuntu的粉丝,则应使用Debian建议的adduser命令。如果您有现有用户,则应该能够添加默认目录。

感谢您的阅读。请在下面的评论部分中写下您的建议。

Sidebar