FreeIPA自動マウントホームディレクトリは、ローカルユーザーホームディレクトリの作成を防ぎます。

FreeIPA自動マウントホームディレクトリは、ローカルユーザーホームディレクトリの作成を防ぎます。

FreeIPAを私のネットワークのIDMソフトウェアとして設定し、Kerberos対応NFSサーバーとKerberos対応NFSクライアントを正常に構成しました。ユーザーがコンピュータにログインすると、NFSサーバーのユーザーディレクトリはautofsを介してローカルコンピュータnfs:/srv/nfs/home/userdirに自動的にマウントされます。/home/userdir

私が直面している問題は、1台のコンピュータでローカルユーザー(gitユーザーなど)を作成する必要がある場合は、次のことができないことです。/home/gitユーザーは次のようにgitユーザー用の新しいホームディレクトリを作成します。useradd: cannot create directory /home/git

私のauto.homeマップは次のように構成されています。* nfs:/srv/nfs/home/&任意のユーザーとしてログインすると、ユーザーのホームディレクトリだけが私のauto.masterマップの下にマウントされ、私の/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

これで、私の質問は、この設定により、自分のローカルルートアカウントが自分のコンピュータにローカルホームディレクトリを作成するのを防ぐことができるかどうかです。

答え1

はい、現在の設定ではNFSマウントポイントの自動マウントマップを定義/homeしているため、以下のローカルユーザー用のローカルホームディレクトリを作成できません。/homeNFS は Kerberos を認識するため、ユーザーが NFS インストールのホームディレクトリにアクセスするには、少なくとも Kerberos キータブが必要で、キータブはユーザーのホームディレクトリに保存されます。これは鶏肉か卵か問題のようです。

ただし、名前付きローカルユーザーのホームディレクトリはgit下にある必要はありません。たとえば、次のよう/homeになります。/home.local/git

この質問にタグ付けし、rhelRHELはデフォルトでSELinuxを使用しているため、実際のホームディレクトリに適切なSELinuxラベルを適用する必要があることを知りたい場合があります。および対応する親ディレクトリ

gitホームディレクトリをに設定するには、/home.local/gitまずSELinuxラベルを次のように準備する必要があります。

semanage fcontext -a -t home_root_t -f d /home.local
semanage fcontext -a -t user_home_dir_t -f d '/home.local/[̂^/]+'
semanage fcontext -a -t user_home_t '/home.local/[^/]+/.+'
mkdir /home.local
restorecon -rv /home.local

つまり、すぐ下のすべてのディレクトリ/home.localhome_root_tを取得し、user_home_dir_tそのディレクトリより深いすべてのファイルとディレクトリはを取得しますuser_home_t。同様のラベル付け規則がすでに一般に存在します/home

その後、gitユーザーを作成できます。

useradd -d /home.local/git -m [any other options] git

あるいは、ユーザーがすでに存在し、ホームディレクトリの作成に失敗した場合は、ホームディレクトリパスを変更して実際のホームディレクトリを手動で作成できます。

usermod -d /home.local/git git
cp -a /etc/skel /home.local/git
chown -R git: /home.local/git
chmod 700 /home.local/git  # or according to requirements

関連情報