SSHD SELinuxセキュリティコンテキストの設定

SSHD SELinuxセキュリティコンテキストの設定

私はカスタムボードとUNIXシリーズのオペレーティングシステムを開発しています。 SSHを使用して接続するときにルートがないと、次のSELinuxエラーが発生します。有効なコンテキストを取得できません。ユーザーはrootユーザーではありません。私の日誌で私は読んだ。

pam_selinux(sshd:session): Unable to get valid context for user
ssh_selinux_getctxbyname: Failed to get default SELinux security
ssh_selinux_getctxbyname: Failed to get default SELinux security
ssh_selinux_setup_pty: security_compute_relabel: Invalid argument 

私の殻から私は読んだUnable to get valid context for user

したがって、私はこれが/usr/sbin/sshdSELinuxのコンテキストであると考え、そのラベルが間違っています。sestatus -vルートなしで実行すると、次のようになります。


SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          permissive
Policy MLS status:              disabled
Policy deny_unknown status:     denied
Memory protection checking:     actual (secure)
Max kernel policy version:      31

Process contexts:
Current context:                system_u:system_r:initrc_t
Init context:                   system_u:system_r:init_t

File contexts:
Controlling terminal:           system_u:object_r:initrc_devpts_t
/etc/passwd                     system_u:object_r:etc_t
/etc/shadow                     system_u:object_r:shadow_t
/bin/login                      system_u:object_r:login_exec_t
/bin/sh                         system_u:object_r:bin_t
/sbin/init                      system_u:object_r:init_exec_t
/usr/sbin/sshd                  system_u:object_r:root_t
/lib/libc.so.6                  system_u:object_r:lib_t -> system_u:object_r:lib_t

実行id -Z/usr/sbin/sshd system_u:system_r:kernel_tまたはsystem_u:system_r:initrc_t。にラベルを付けrestorecon -v -r /* 直し、/usr/sbin/sshd プロセスを試してみたので、system_u:system_r:kernel_tファイル/usr/sbin/sshd のコンテキストが system_u:system_r:bin_t

私の考えではsshdのための良いコンテキストはsystem_u:object_r:sshd_exec_t。ルートのchconを使用して設定しようとしましたが、id -Zルートなしで実行するとコンテキストにラベルが再割り当てされず、再起動後にルートsshdがない場合はコンテキストにラベルが付けられません。

私のシステムではsemangeプログラムは利用できず、設定する「ログインブール」はありません。私のgetsebool -aリストは非常に短いです。

私の/etc/pam.d/sshd設定には次の行があります。

session    optional     /lib/security/pam_selinux.so close 
session    optional     /lib/security/pam_selinux.so multiple open

上記のpam構成ファイルから2行目を削除すると、ログエラーのみが発生し、コンソールエラーは発生しません。また、これらの2行を削除すると、ログとコンソールのエラーが発生します。なぜ?

誰でも私を助けることができますか?ありがとう

関連情報