SELinuxは、oddjobd-mkhomedirが非標準の場所にユーザーのホームディレクトリを作成することを許可していません


9

CentOSサーバー上のユーザーを認証するためにSSSDを使用しています。oddjobd-mkhomedirは、デフォルトのホームディレクトリが/ homeの場合に完全に正常に機能しますが、特定のサーバーでは、デフォルトのホームディレクトリをSANマウント上の/ dataに変更する必要がありました。

これで、ユーザーがログインしようとするたびに、次のメッセージとともにbashシェルにドロップされます。

Creating home directory for first.last.

Could not chdir to home directory /data/X.Y.local/first.last: No such file or directory

-bash-4.1$

試行ごとに次のAVC拒否メッセージが表示されます。

type=AVC msg=audit(1492004159.114:1428): avc:  denied  { create } for  pid=2832 
comm="mkhomedir" name="x.y.local"
scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
tcontext=system_u:object_r:default_t:s0 tclass=dir

/ dataのコンテキストを必ず変更してください。

 drwxr-xr-x. root root system_u:object_r:home_root_t:s0 data

/ dataが/ homeと同じコンテキストを持っている場合、SELinuxはoddjobdに/data/XYlocal/first.lastの作成を制限しているのはなぜですか?

# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          enforcing
Policy version:                 24
Policy from config file:        targeted

[更新]

これがこれを解決する正しい方法かどうかはわかりませんが、次の3つのエントリを追加すると、ユーザーはログインしてホームディレクトリにアクセスできるようになります。新しいユーザーのディレクトリは、以下で定義されているコンテキストに基づいて作成されます。

semanage fcontext -a -t home_root_t /data
semanage fcontext -a -t user_home_dir_t /data/x.y.local
semanage fcontext -a -t user_home_t "/data/x.y.local(/.*)?"

これはこの問題を回避する正しい方法ですか?


これがあなたの問題に関連しているかどうかはわかり
0xSheepdog

回答:


4

の最後のセクションsemanage fcontextは、コンテキストを永続的にyesに設定する正しい方法です。restoreconただし、有効にするには実行する必要があります。

restorecon -Rv /data

restoreconを考慮に入れます。これには/etc/selinux/targeted/contexts/files/file_contexts.local、使用して追加したカスタムfcontextが含まれているはずです。semanage

これらのコンテキストを一時的に設定するには、chcon次のコマンドを参照してください。

chcon -Rv -t home_root_t /data 

1

ホームディレクトリを再配置する場合の最善の解決策は、サーバーの障害に関するこの回答でsemanage fcontext説明されているEQUALメカニズムを使用することです。

semanage fcontext -a -e /home /data

これは、元のホームの場所のすべてのルールが新しい場所にも適用されるようにするためです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.