Ist es möglich, Gruppen in /etc/security/capability.conf anzugeben?

Ist es möglich, Gruppen in /etc/security/capability.conf anzugeben?

Ich bin inspiriert worden, wieder mit den Linux-Fähigkeiten herumzuspielen. Mein Lieblingsprojekt ist es, die Setuid in vielen Binärdateien zu ersetzen und Nicht-Root-Benutzern Zugriff auf zusätzliche privilegierte Dienstprogramme zu gewähren. Dies erreiche ich, indem ich die relevanten Fähigkeiten ( +ei, das Problem ist bei +ep) über hinzufüge setcapund mein persönliches Benutzerkonto ( jdavis4) so konfiguriere, dass diese Fähigkeiten seiner Sitzung beim Anmelden über zugewiesen werden, pam_cap.sound es läuft hervorragend. Ich kann einzelnen Benutzern über die Fähigkeit.conf Zugriff auf „Ping“ und „Kill“ gewähren.

Das Problem, das ich habe, ist jedoch, dass mir aufgefallen ist, dass ein Administrator, wenn dies ein Produktionssystem wäre, wahrscheinlich Berechtigungen durch eine Art aggregierte Einheit zuweisen möchte, damit er dies nicht jedes Mal für jeden einzelnen Benutzer tun muss, wenn er einen erstellt. Auf diese Weise kann ein Benutzer einfach zur Gruppe „filesystemAdmin“ hinzugefügt werden und erhält Dinge wie CAP_DAC_OVERRIDEoder zu „ProcessManagement“ hinzugefügt werden und erhält Dinge wie CAP_SYS_NICEund CAP_SYS_KILL.

Ist das derzeit möglich?

Antwort1

Wir haben @groupSyntax zur pam_cap.sos- capability.confUnterstützung in hinzugefügt libcap-2.29. Zum Zeitpunkt des Schreibenslibcapist in der Version 2.49.

Es gibt auch einige Dokumentationen fürpam_cap.so Hier.

Antwort2

Was Sie tun möchten, ist nicht möglich. Es werden nicht nur pam_capdie vererbbaren Fähigkeiten manipuliert (es werden also tatsächlich überhaupt keine zulässigen/wirksamen Fähigkeiten gewährt), sondern es werden auch nur Benutzer und keine Gruppen (nicht einmal primäre Gruppen) behandelt.

Antwort3

Ich kann keine Dokumentation finden, die besagt, dass capability.conf direkt einer Gruppe zugewiesen werden kann.

Dies scheint ein Produkt der Notwendigkeit für pam_cap zu sein, dem Authentifizierungsprozess die Privilegien zu „entziehen“, der wahrscheinlich „alle“ Fähigkeiten hat oder genug, um solche zu werden. Dies führt zu einer Tendenz, bei der kumulative additive Zuordnungen unklug erscheinen, da dies schnell zu einer „nicht überprüfbaren Struktur“ werden könnte. Daher sind Zuweisungen über capability.conf nicht kumulativ. Wenn Sie eine Übereinstimmung finden, ist das, was Sie bekommen. Nicht mehr und nicht weniger.

Nachdem das gesagt worden ist:

  • Es ist möglich, pam_cap so zu konfigurieren, dass Funktionen aus einer beliebigen Datei im Format /etc/security/capability.conf geladen werden.

  • Es ist möglich, Skripte innerhalb einer PAM-Konfiguration zu verwenden. Es wäre relativ einfach, eine pro Benutzer erstellte Datei „capability.conf“ für den authentifizierenden Benutzer zu erstellen, basierend auf seinen Gruppenmitgliedschaften, und sie dem Modul „pam_cap“ zuzuführen.

Es ist weder „elegant“ noch „ideal“, aber für eine große LDAP-ähnliche Benutzerbasis ist es wahrscheinlich besser überprüfbar als eine „Synchronisierung über Layer-8-Jellyware“ zwischen gültigen Benutzern und einem Volltexteintrag pro Benutzer in einer einzelnen /etc/security/capability.conf.

verwandte Informationen