Linux是一个强大的多用户操作系统。它可以有许多并发的用户同时访问系统。系统管理员可以为每个用户管理权限,指定哪个用户可以访问系统的哪一部分。
本指南将演示如何在Linux中创建一个具有不同主目录的新用户。
用户主目录
在Linux中,每个用户都有自己的主目录,但像各种系统账户的情况除外。主目录是特定用户的专用目录,用于存储用户的特定文件。它也被称为 "登录目录"。每当登录时,用户将登陆到各自的主目录。
默认情况下,系统中的所有用户的主目录都位于以下位置。
$ ls -l /home

每个主目录都是以用户的用户名命名的。例如,用户 "viktor "的主目录将看起来像这样。
$ /home/viktor

然而,我们可以为用户目录建立一个不同的位置。它可以在创建用户账户时设置,也可以在以后移动。
创建一个具有不同主目录的用户
创建一个新的用户
每个Linux系统都带有useradd,这是一个创建和更新用户账户的专用工具。它只对根用户和[具有sudo权限的非根用户])有效。
要在系统中添加一个新的用户,运行以下useradd命令。标志"-m "告诉useradd为新用户创建一个专用的主目录。如果不使用,那么该用户就不会有一个专用的主目录。
$ sudo useradd -m <username>

该用户被添加到系统中。该用户也被注册到各种数据库文件(/etc/passwd, /etc/shadow, /etc/gshadow, 和/etc/group)。
该用户现在还不能访问。下面的命令将为这个新用户分配一个登录密码。
$ sudo passwd <username>

该用户已经准备好了,而且功能齐全。访问这个新用户。
$ su - <username>
检查新用户的主目录的位置。
$ pwd

创建一个具有自定义主目录的用户
默认情况下,useradd将在"/home "下创建用户的主目录。要在不同的位置指定主目录,使用标志"-d"。注意,该目录必须事先存在。
$ sudo useradd -m -d <custom_home_dir_location> <username>

像往常一样,使用passwd为新用户分配一个登录密码。
$ sudo passwd <username>

验证新用户是否有一个不同的主目录。
$ su - <username>
$ pwd ~

移动现有用户的主目录
我们也可以为一个现有的用户指定一个不同的主目录。它不会将现有主目录的内容自动移动到新的位置。
创建一个新的目录。它将成为现有用户的新主目录。
$ mkdir -pv /extra/new_home

允许新用户完全访问新目录。
$ sudo chown <username> /extra/new_home

将现有用户主目录的所有内容移到新目录中。
$ sudo mv /home/<username>/* /extra/new_home
将新目录指定为用户的主页。
$ sudo usermod -d /extra/new_home -m <username>

验证更改。
$ su - <username>
$ pwd ~

最后的想法
主目录是Linux上普通用户账户的一个重要部分。本指南演示了如何为一个新的和现有的用户分配一个自定义的主目录。这些方法适用于任何Linux发行版。
祝您计算愉快!