Provided by: manpages-de_4.13-4_all bug

BEZEICHNUNG

       setpriv - ein Programm mit anderen Linux-Berechtigungseinstellungen ausführen

ÜBERSICHT

       setpriv [Optionen] Programm [Argumente]

BESCHREIBUNG

       Legt die verschiedenen über execve(2) vererbten Linux-Berechtigungseinstellungen fest oder
       fragt diese ab.

       Im Vergleich zu su(1) und runuser(1) verwendet setpriv weder PAM, noch bittet es um die
       Eingabe eines Passworts. Es ist ein einfacher Wrapper für execve(2), der keine
       Benutzerkennung setzt und zum Abgeben von Privilegien auf die gleiche Art wie setuidgid(8)
       aus daemontools, chpst(8) aus runit oder ähnlichen Werkzeugen, die von anderen
       Diensteverwaltern ausgeliefert werden, verwendet werden kann.

OPTIONEN

       --clear-groups
           löscht zusätzliche Gruppen.

       -d, --dump
           gibt den aktuellen Status der Berechtigungen aus. Diese Option kann mehrfach angegeben
           werden, um zusätzliche, aber weitestgehend nutzlose Informationen anzuzeigen. Dies ist
           zu allen anderen Optionen inkompatibel.

       --groups Gruppe …
           setzt zusätzliche Gruppen. Das Argument ist eine durch Kommata getrennte Liste von
           GIDs oder Namen.

       --inh-caps (+|-)Cap …, --ambient-caps (+|-)Cap …, --bounding-set (+|-)Cap …
           setzt die vererbbaren Capabilities, Umgebungs-Capabilities oder die
           Capabilities-Begrenzungsmenge. Siehe capabilities(7). Das Argument ist eine durch
           Kommata getrennte Liste von +cap- beziehungsweise -cap-Einträgen, die jeweils einen
           entsprechenden Eintrag hinzufügen oder entfernen. Cap kann entweder ein
           menschenlesbarer Name wie in capabilities(7) sein (ohne das Präfix cap_) oder als
           cap_N formatiert sein, wobei N der von Linux intern verwendete Capability-Index ist.
           +all und -all können Sie zum Hinzufügen oder Entfernen aller Capabilities verwenden.

           Die Gruppe der Capabilities ist anfänglich der als der aktuell vererbbare Satz für
           --inh-caps, der aktuelle Umgebungs-Satz für --ambient-caps und die aktuelle
           Begrenzungsmenge für --bounding-set.

           Beachten Sie die folgenden Einschränkungen (datailliert in capabilities(7)
           beschrieben) hinsichtlich der Änderungen an diesen Capability-Gruppen:

           •   Eine Capability kann nur zu einem vererbbaren Satz hinzugefügt werden, wenn sie in
               der Begrenzungsmenge vorhanden ist.

           •   Eine Capability kann nur zum Umgebungssatz hinzugefügt werden, wenn sie sowohl in
               den erlaubten als auch vererbbaren Sätzen vorhanden ist.

           •   Trotz der von setpriv bereitgestellten Syntax erlaubt es der Kernel nicht,
               Capabilities zum Umgebungssatz hinzuzufügen.

       Falls Sie eine Capability aus dem Umgebungssatz entfernen, ohne sie auch aus dem
       vererbbaren Satz zu entfernen, kommen Sie wahrscheinlich durcheinander. Tun Sie das besser
       nicht.

       --keep-groups
           behält zusätzliche Gruppen bei. Dies ist nur zusammen mit --rgid, --egid oder --regid
           nützlich.

       --init-groups
           initialisiert zusätzliche Gruppen mittels initgroups(3). Dies ist nur zusammen mit
           --ruid oder --reuid nützlich.

       --list-caps
           listet alle bekannten Capabilities auf. Diese Option muss allein angegeben werden.

       --no-new-privs
           setzt das no_new_privs-Bit. Wenn dieses gesetzt ist, gewährt execve(2) keine neuen
           Privilegien. Zum Beispiel werden sowohl die Bits »set-user-ID« und »set-group-ID« als
           auch die Datei-Capabilities deaktiviert. Die Ausführung von Programmen wird mit diesen
           gesetzten Bits noch möglich sein, aber sie werden keine Privilegien erlangen können.
           Bestimmte Linux Security Modules (LSMs), vor allem AppArmor, könnten das Ausführen
           bestimmter Programme verhindern. Dieses Bit wird an Kindprozesse vererbt und kann
           nicht zurückgesetzt werden. Siehe prctl(2) und Documentation/prctl/no_new_privs.txt in
           den Linux-Kernelquellen.

           Das Bit no_new_privs wird seit Linux 3.5 unterstützt.

       --rgid GID, --egid GID, --regid GID
           setzt die reale, effektive oder beide GIDs. Das Argument GID kann als Gruppenname in
           Textform angegeben werden.

           Aus Sicherheitsgründen müssen Sie eine der Optionen --clear-groups, --groups,
           --keep-groups oder --init-groups angeben, wenn Sie eine primäre GID setzen.

       --ruid UID, --euid UID, --reuid UID
           setzt die reale, effektive oder beide Benutzerkennungen. Das Argument UID kann als
           Anmeldename in Textform angegeben werden.

           Das Setzen einer UID oder GID ändert keine Capabilities, obwohl der Exec-Aufruf doch
           Capabilities ändern könnte. Das bedeutet, dass Sie mit Root-Rechten vielleicht
           Folgendes tun wollen:

           setpriv --reuid=1000 --regid=1000 --inh-caps=-all

       --securebits (+|-)Sicherheitsbit …
           setzt Sicherheitsbits oder setzt sie zurück. Das Argument ist eine durch Kommata
           getrennte Liste. Zulässige Sicherheitsbits sind noroot, noroot_locked,
           no_setuid_fixup, no_setuid_fixup_locked und keep_caps_locked. keep_caps wird von
           execve(2) zurückgesetzt und ist daher nicht erlaubt.

       --pdeathsig keep|clear|<Signal>
           erhält oder setzt das Eltern-Tötungssignal oder setzt es zurück. Einige LSMs, vor
           allem SELinux und AppArmor, setzen das Signal zurück, wenn sich die Anmeldedaten des
           Prozesses ändern. Mit --pdeathsig keep können Sie, um die Situation zu verbessern, das
           Eltern-Tötungssignal wiederherstellen, nachdem die Anmeldedaten des Prozesses geändert
           wurden.

       --selinux-label Label
           fordert eine bestimmte SELinux-Transition (Übergang) an (mit einer Transition auf
           exec, nicht dyntrans). Dies wird fehlschlagen und einen Abbruch von setpriv
           verursachen, falls SELinux nicht verwendet wird, und die Transition könnte ignoriert
           werden oder execve(2) wegen SELinux fehlschlagen lassen (insbesondere wird dies
           wahrscheinlich mit no_new_privs nicht funktionieren). Dies ist ähnlich zu runcon(1).

       --apparmor-profile Profil
           fordert ein bestimmtes AppArmor-Profil an (mit einer Transition auf exec). Dies wird
           fehlschlagen und einen Abbruch von setpriv verursachen, falls AppArmor nicht verwendet
           wird, und die Transition könnte ignoriert werden oder execve(2) wegen AppArmor
           fehlschlagen lassen.

       --reset-env
           setzt alle Umgebungsvariablen außer TERM zurück; initialisiert die Umgebungsvariablen
           HOME, SHELL, USER, LOGNAME entsprechend dem Passworteintrag des Benutzers; setzt PATH
           für einen normalen Benutzer auf /usr/local/bin:/bin:/usr/bin und für den Root-Benutzer
           auf /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

           Die Umgebungsvariable PATH kann auf Systemen anders sein, auf denen /bin und /sbin in
           /usr zusammengeführt sind. Die Umgebungsvariable SHELL ist standardmäßig /bin/sh,
           sofern im Passworteintrag des Benutzers nichts angegeben ist.

       -V, --version
           zeigt Versionsinformationen an und beendet das Programm.

       -h, --help
           zeigt einen Hilfetext an und beendet das Programm.

ANMERKUNGEN

       Falls irgendeine der angegeben Optionen fehlschlägt, wird das Programm nicht ausgeführt
       und setpriv gibt den Exit-Status 127 zurück.

       Seien Sie vorsichtig mit diesem Werkzeug – es könnte unerwartete Folgen für die Sicherheit
       haben. Wenn Sie beispielsweise no_new_privs setzen und dann ein Programm ausführen, das
       durch SELinux eingeschränkt wird (wie es dieses Werkzeug machen würde), könnte das die
       SELinux-Einschränkungen wirkungslos machen.

BEISPIELE

       Wenn Sie ein Verhalten wünschen, das ähnlich zu su(1)/runuser(1) oder sudo(8) (ohne die
       Option -g) ist, versuchen Sie Folgendes:

       setpriv --reuid=1000 --regid=1000 --init-groups

       Wenn Sie das Verhalten von setuid(8) aus Daemontools nachbilden wollen, versuchen Sie:

       setpriv --reuid=1000 --regid=1000 --clear-groups

AUTOREN

       Andy Lutomirski <luto@amacapital.net>

SIEHE AUCH

       runuser(1), su(1), prctl(2), capabilities(7)

FEHLER MELDEN

       Verwenden Sie zum Melden von Fehlern das Fehlererfassungssystem auf
       https://github.com/karelzak/util-linux/issues.

VERFÜGBARKEIT

       Der Befehl setpriv ist Teil des Pakets util-linux, welches heruntergeladen werden kann
       von: Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Mario Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an die Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.