如何为Linux中的现有用户创建主目录
默认情况下,当你在Linux中创建一个用户时,用户的默认主目录是在/home下创建的。如果你注意到在Ubuntu和Debian衍生的发行版中,useradd命令不会默认创建一个主目录。
让我们想一下,如果你已经创建了一个用户,但是缺少了home目录。在本教程中,我将告诉你如何在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_helperroot或具有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