Provided by: manpages-de_2.16-1_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(1) 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.

OPTION

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

       -d, --dump
              gibt den aktuellen Status der Berechtigungen  aus.  Dies  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
              Gruppenkennungen oder Namen.

       --inh-caps (+|-)Cap … oder --ambient-caps (+|-)Cap … oder  --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.  Wenn  Sie  etwas   aus   der
              Begrenzungsmenge   weglassen,   ohne   es   zugleich  aus  der  vererbbaren  Gruppe
              wegzulassen, wird Sie das wahrscheinlich verwirren. Sie sollten das nicht tun.

       --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 Gruppenkennung, --egid Gruppenkennung, --regid Gruppenkennung
              setzt die reale, effektive oder beide Gruppenkennungen. Das Argument Gruppenkennung
              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 Gruppenkennung
              setzen.

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

              Das  Setzen  einer  Benutzerkennung  oder Gruppenkennung ä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(1)
              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(1)  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-Code 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.

BEISPIEL

       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

SIEHE AUCH

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

AUTOR

       Andy Lutomirski ⟨luto@amacapital.net

VERFÜGBARKEIT

       Der  Befehl  setpriv  ist  Teil des Pakets util-linux, welches aus dem Linux Kernel-Archiv
       ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩ heruntergeladen werden kann.

Ü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  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 <debian-l10n-german@lists.debian.org>.