我已将 FreeIPA 设置为网络的 IDM 软件,并成功配置了 Kerberos 感知 NFS 服务器和 Kerberos 感知 NFS 客户端。当用户登录到一台机器上时,它在 NFS 服务器上的用户目录会通过 autofs 从本地机器上自动挂载nfs:/srv/nfs/home/userdir
到/home/userdir
。
我面临的问题是,当我需要在一台机器上创建一个本地用户时,比如 git 用户,我不能作为 root 用户为git 用户创建一个新的主目录/home/git
,因为它说useradd: cannot create directory /home/git
我的 auto.home 地图配置如下:* nfs:/srv/nfs/home/&
当我以任何用户身份登录时,只有用户的主目录挂载在/home
我的 auto.master 地图下有以下条目:/home auto.home
来自的输出mount
如下:
auto.home on /home type autofs (rw,relatime,fd=6,pgrp=651,timeout=300,minproto=5,maxproto=5,indirect,pipe_ino=15731)
nfs:/srv/nfs/home/userdir on /home/userdir type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=krb5,clientaddr=10.110.29.100,local_lock=none,addr=10.110.29.107)
我省略了关于其他文件系统和设备的不必要信息。
主目录的 getfacl 返回:
file: home
owner: root
group: root
user::rwx
group::r-x
other::r-x
现在,我的问题是,此设置是否会阻止我的本地 root 帐户在我的机器上创建本地主目录?
是的,您当前的设置阻止您在 ... 下为本地用户创建本地主目录,
/home
因为您已将其定义/home
为 NFS 挂载点的自动挂载映射。由于 NFS 是 Kerberos 感知的,因此用户至少需要一个 Kerberos keytab 才能访问 NFS 安装的主目录,并且该 keytab 将存储在...用户的主目录中。这似乎是先有鸡还是先有蛋的问题。但是,名为 named 的本地用户的主目录
git
不必位于: 下,例如,/home
它也可以位于 at 下。/home.local/git
由于您已将此问题标记为
rhel
并且 RHEL 默认使用 SELinux,因此您可能需要知道您必须将适当的 SELinux 标签应用于实际主目录及其父目录。如果您希望 make
git
的主目录为/home.local/git
,您需要先准备 SELinux 标签,如下所示:换句话说,
/home.local
will gethome_root_t
,它下面的每个目录都将 getuser_home_dir_t
,比它更深的所有文件和目录都将 getuser_home_t
。类似的标签规则已经存在于常规/home
.在此之后,您可以创建
git
用户:或者如果用户已经存在,只是主目录创建失败,你可以修改它的主目录路径,手动创建实际的主目录: