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.conf
erstellt , und schrieb innen:cap_dac_read_search user1
-
/etc/pam.d/sshd
bearbeitet :#%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.