Das Problem, das ich bekomme, ist, wenn ich den Befehl eingebe,
su - root
Am Anfang meiner Shell-Skriptdatei wird der Benutzer aufgefordert, das Kennwort einzugeben, und der Rest des Shell-Skripts wird NICHT fortgesetzt. Ich muss das Shell-Skript dann manuell über das Terminal suchen und ausführen. Ich möchte, dass das Skript sicherstellt, dass sich der Benutzer als root anmeldet und dann mit dem Rest des Shell-Skripts fortfährt.
Mit anderen Worten, ich möchte das Skript als ein beliebiger Benutzer ausführen, aber sobald das Skript ausgeführt wird, muss der Benutzer zu root wechseln und dann mit dem Rest des Skripts als root fortfahren, bis es fertig ist. Kann das gemacht werden?
sudo: must be setuid root
, dann ist etwas mit Ihrem Sudo passiert. Um es zu beheben:chmod u+s $(which sudo)
. Und ja, ich weiß genau, was Sie versuchen, ich mache die ganze Zeit in meinen Skripten das Gleiche.Sie können auch die UID überprüfen:
quelle
Sie können das Skript selbst aufrufen und Folgendes überprüfen:
quelle
Fügen Sie an der Stelle, an der Sie sich anmelden möchten, einfach den folgenden Befehl hinzu
Dies funktioniert perfekt mit meinem Code
quelle