我正在服务器中使用最新的 RHEL 6.0 重新安装较旧的 Ubuntu 机器。
我已/etc/passwd
备份/etc/group
了/etc/shadow
重新安装操作系统后需要创建的用户帐户列表的文件。
我已经在几台机器上安装了 RHEL 6.0,我需要立即授予用户访问权限。
我想/etc/passwd
在这台机器中使用 和其他文件,以便用户可以开始使用他们的用户帐户使用服务器。但是,出于几个原因,我不想/home/user
为用户创建目录。
- 用户将仅访问
/mounts
显然具有项目数据的分区。 -
我最终计划在稍后阶段
NFS
进行配置。openldap
因此,如果我必须home
为用户提供目录,我需要在为用户提供本地用户帐户的所有计算机中备份用户的主目录,并将其放在服务器中,NFS
这是一个多余的步骤。
是否可以在没有文件夹的情况下授予用户访问权限home
?我见过没有/home
目录用/
作主目录的机器。但我不确定这是否是一个安全的步骤,我希望用户能够不知道他们的home
目录不存在。
编辑
我看到可以使用以下命令添加用户,而无需为他们创建主目录。
adduser --system --no-create-home USERNAME
但我的挑战在于如何在/etc/passwd
不创建主目录的情况下使用与其他文件相同的用户帐户?我希望用户能够在/etc/passwd
没有主目录的情况下使用与现在相同的密码。
答案1
当您使用/etc/passwd
和/etc/shadow
作为用户帐户(在/etc/nsswitch.conf
和 PAM 中设置)时,这两个文件中的条目足以创建帐户。 (/etc/group
对于他们的团体来说可能也需要)。
所有useradd
要做的就是编辑这些文件。如果您自己使用vipw
&编辑它们vigr
并添加用户,则您已经创建了帐户。
useradd
还将(可选)创建一个主目录,基本上是:
cp -p /etc/skel /home/newuser
chown -R newuser:newgroup /home/newuser
也就是说,如果没有主目录,您的用户将面临很多挑战,因为那里存储了许多文件 -
- 编辑器配置文件
- ssh 的授权密钥
- 外壳启动脚本
- 随机程序配置文件
您可以将它们的所有主目录设置为单个 root 拥有的模式 0755(用户不可写)目录,并使用合理的默认值。