Ich verwende CentOS 8 und möchte einem Benutzer die cap_dac_read_search gewähren Fähigkeit obwohl PAM. Es scheint über die lokale Anmeldung und su zu funktionieren , aber nicht über ssh .
Ich habe diese Schritte befolgt, und nur sie:
-
die Datei
/etc/security/capability.conferstellt , und schrieb innen:cap_dac_read_search user1 -
/etc/pam.d/sshdbearbeitet :#%PAM-1.0 auth required pam_cap.so auth substack password-auth auth include postlogin ... -
SSH-Dienst neu gestartet:
systemctl restart sshd
Wenn ich mich jedoch mit user1 anmelde über ssh , und verwenden Sie das capsh Befehl, den ich sehen kann:
[[email protected] ~]$ capsh --print
Current: =
Wenn ich etwas Ähnliches mit /etc/pam.d/login mache und /etc/pam.d/su , scheint alles in Ordnung zu sein.
Ich habe mich vergewissert und den sshd überprüft config und UsePam auf true gesetzt ist .
Aktualisierung:
Ich erhalte die folgende Fehlermeldung in audit.log , ich glaube, SELinux blockiert mich aus irgendeinem Grund:
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
Akzeptierte Antwort:
[Ich bin relativ neu hier, habe also nicht genug Ruf, um dies als Kommentar hinzuzufügen. Also…]
Für eine Antwort habe ich die hier geäußerten Bedenken in eine Funktionsanfrage für pam_cap.so umgewandelt . Dies wurde über das Modulargument autoauth in der Version libcap-2.51 implementiert.