Ich weiß, wie man "nicht benutzt sudo su -
" usw. Aber seien wir ehrlich, fast alle von uns tun es.
Hier ist also das Problem. Wir können keine Root-Anmeldungen aktivieren, daher müssen wir uns als unser Benutzer anmelden und dann su zu root.
Hier ist der Prozessbaum:
1 7897 7826 7826 ? -1 S 1000 0:00 sshd: josh@pts/0
7897 7898 7898 7898 pts/0 8182 Ss 1000 0:00 \_ -bash
7898 7990 7990 7898 pts/0 8182 S 0 0:00 \_ sudo su -
7990 7991 7990 7898 pts/0 8182 S 0 0:00 \_ su -
7991 7992 7992 7898 pts/0 8182 S 0 0:00 \_ -su
7992 8182 8182 7898 pts/0 8182 R+ 0 0:00 \_ ps axjf
Ich möchte root und dann meinen Benutzer mit einem Befehl verlassen. Gibt es eine Möglichkeit, dies zu tun?
BTW exit && exit funktioniert nicht, da es die Shell verlässt und den Rest des Befehls nicht verarbeitet
josh@ubuntu:~$ sudo su -
root@ubuntu:~# exit && exit
logout
josh@ubuntu:~$
sudo su
, es ist sinnlos und startet nur einen zusätzlichen Prozess. Verwendensudo -i
Sie stattdessen, wenn Sie müssen.sudo -i
, um eine Wurzelschale zu erhalten. In Bezug auf ssh können Sie ssh so konfigurieren, dass Root-Anmeldungen zulässig sind. Ich persönlich verwende die Optionen "ohne Passwort" für root und entweder ssh-Schlüssel oder Kerberos. Dadurch bleibt das Root-Konto für Kennwörter gesperrt.exit
Ausfahrtensu
, die zweite Logouts. Wolltest du es nicht tun?Antworten:
Technisch hat niemand Ihre Frage beantwortet. Ich schätze, dass sie denken, dass ihr Weg besser ist (wahrscheinlich ist), aber hier ist ein anderer Ansatz (falls Sie
su -
etwas Zeit haben und das gleiche Problem haben);$ sudo su -;exit
# echo "do things"
# exit
Wenn Sie root verlassen, meldet sich der ursprüngliche Benutzer ebenfalls ab, da er seinen letzten Befehl fortsetzt.
Prost!
quelle
Mach einfach
Jetzt ersetzt die Root-Shell die Standard-Shell, und beim Beenden beenden Sie "beide" (falsch formuliert, da die erste Shell nicht mehr mit der existiert
exec
).Aussehen:
Ich benutze es oft, um ein
ssh
-ed-Terminal zu haben : benutzeexec ssh whatever
und wenn du es verlässt, wird das Terminal geschlossen.quelle
Wenn Sie Root-Benutzer werden, geben Sie einfach :: ein
Wenn Sie root verlassen, wird Ihre Shell automatisch geschlossen. Sie können diesen Befehl exportieren, um ihn dauerhaft zu machen.
quelle