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

时间:2020-03-05 15:26:24  来源:igfitidea点击:

默认情况下,在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 -""作为用户登录,它会显示它是"使用Home = /"登录。
这意味着未创建用户主目录。

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

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

确保使用sudo访问的root或者用户运行mkhomedir_helper命令。

$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"或者"创建-Creat-Home""选项创建新用户。

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

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