Während root
ich eingeloggt bin, möchte ich su
an einen bestimmten regulären Benutzer. Ich laufe su username
und erhalte sofort die Rückmeldung, immer noch als root. Es ist kein Fehler angegeben. Mir ist das alte Problem bekannt, dass der Benutzer, nach dem Sie suchen, keine Berechtigung für den Ordner hat, in dem Sie sich gerade befinden. In diesem Szenario ist dies nicht der Fall. Darüber hinaus wird kein Fehler angezeigt, was meines Wissens immer der Fall ist, wenn ein bestimmtes Berechtigungsproblem auftritt.
Ich habe es su - username
mit dem gleichen Effekt versucht . Der Befehl wird verarbeitet, es werden keine Fehler angezeigt, und ich erhalte die Aufforderung sofort zurück.
Was könnte dieses Verhalten verursachen? Wie kann ich das beheben?
/bin/false
?sudo -u username -s
(oder-i
) BTW verwenden./etc/passwd
letzte Nacht nachgesehen und es war nicht so! =) Kannst du das als Antwort geben? Ich werde es akzeptieren.Antworten:
Überprüfen Sie, in welcher Shell der Benutzer sich befindet
/etc/passwd
. Wenn es sich bei der Shell um/bin/false
eine häufig verwendete Shell handelt, die Anmeldungen nicht zulässt, wird das von Ihnen beschriebene Verhalten angezeigt. Alternativ kann es sich um ein anderes Programm handeln, das sofort beendet wird und dasselbe effektive Ergebnis liefert.quelle
/bin/false
als Shell dient, können Sie dies mit tunsu - user -s /bin/sh
.Ich würde vorschlagen, Strace für den su-Prozess zu verwenden, um festzustellen, wo der Prozess fehlschlägt.
Sollte Ihnen VIELE Ausgaben zum Durchsuchen geben, aber irgendetwas sollte darauf hinweisen, wo das Problem auftritt.
quelle
Sie sollten die Shell einchecken
/etc/passwd
und, ohne bevormunden zu wollen, die Ausgabe vonwhoami
nach der Ausführung überprüfensu
.quelle
root
und nicht der Benutzer, zu dem ich wechseln wollte.Überprüfen Sie Ihre Systemprotokolle: Mit sudo sollten alle Aktionen protokolliert werden. Wenn es also ein Problem gibt, sollte es geschrieben werden.
quelle