Používám CentOS 8 a rád bych uživateli udělil cap_dac_read_search
schopnost přes PAM. Zdá se, že to funguje přes místní přihlášení a su
, ale ne přes ssh
.
Postupoval jsem podle těchto kroků a pouze podle nich:
-
vytvořil soubor
/etc/security/capability.conf
a napsal dovnitř:cap_dac_read_search user1
-
upraven
/etc/pam.d/sshd
:#%PAM-1.0 auth required pam_cap.so auth substack password-auth auth include postlogin ...
-
Restartována služba SSH:
systemctl restart sshd
Když se však přihlásím pomocí user1
přes ssh
a použijte capsh
příkaz, který vidím:
[[email protected] ~]$ capsh --print
Current: =
Když dělám podobnou věc s /etc/pam.d/login
a /etc/pam.d/su
, zdá se, že je vše v pořádku.
Přesvědčil jsem se a zkontroloval sshd
config a UsePam
je nastaveno na true
.
Aktualizace:
V audit.log
se mi zobrazuje následující chyba , Myslím, že mě SELinux z nějakého důvodu blokuje:
type=AVC msg=audit(1621457365.510:253): avc: denied { setcap } for pid=1969 comm="sshd" scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tclas s=process permissive=0
Přijatá odpověď:
[Jsem tu relativně nový, takže nemám dostatečnou pověst, abych to přidal jako komentář. Takže…]
Abych odpověděl, převedl jsem zde vyjádřené obavy na žádost o funkci pro pam_cap.so
. To bylo implementováno prostřednictvím argumentu modulu autoauth` ve verzi libcap-2.51.