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.confa 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.