如何在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命令。如果您有现有用户,则应该能够添加默认目录。
感谢您的阅读。请在下面的评论部分中写下您的建议。