Dies ist ein typischer Anwendungsfall für sudo
.
Sie mischen, sudo
was die Ausführung von Befehlen als anderer Benutzer ermöglicht und in hohem Maße konfigurierbar ist (Sie können selektiv angeben, welcher Benutzer welchen Befehl als welcher Benutzer ausführen kann) und su
welcher zu einem anderen Benutzer wechselt, wenn Sie das Kennwort kennen (oder root sind). su
Läuft immer die eingeschriebene Shell /etc/passwd
, auch wenn sie su -c
benutzt wird. Aus diesem Grund su
ist nicht kompatibel mit /usr/sbin/nologin
.
Du solltest benutzen
sudo -u secure /home/someuser/secure.script
Wie sudo
konfigurierbar können Sie steuern, wer diesen Befehl verwenden kann und ob er / sie ein Kennwort eingeben muss, um ihn auszuführen. Sie müssen bearbeiten /etc/sudoers
verwenden , visudo
dies zu tun. (Seien Sie vorsichtig, wenn Sie / etc / sudoers bearbeiten, und verwenden Sie immer visudo, um dies zu tun. Die Syntax ist nicht trivial und ein Fehler kann Sie von Ihrem Root-Konto ausschließen.)
Diese Zeile in sudoers ermöglicht es jedem in der Gruppe somegroup
, den Befehl wie folgt auszuführen secure
:
%somegroup ALL=(secure) /home/someuser/secure.script
Auf diese Weise kann jeder in der Gruppe somegroup
den Befehl ausführen, secure
ohne ein Kennwort einzugeben:
%somegroup ALL=(secure) NOPASSWD: /home/someuser/secure.script
So können Sie user1
den Befehl ausführen, secure
ohne ein Kennwort einzugeben:
user1 ALL=(secure) /home/someuser/secure.script
sudo su
finden unix.stackexchange.com/questions/218169/...