Wie vermeide ich "root darf Sudo nicht ausführen"?

766
kottalovag

Ich versuche, ein Installationsskript eines Drittanbieters (ansible tower setup.sh) auszuführen, das als root oder via sudo gestartet werden muss, da einige Befehle auf root-Berechtigungen angewiesen sind. Einige Befehle während der Skriptausführung versuchen jedoch, Sudo auszuführen . Fragen Sie mich nicht warum, ich denke, das Setup-Skript ist eine gemeinsame Anstrengung mit einigen Inkonsistenzen ...

Das Skript schlägt also fehl und ich kann es reproduzieren. Ich stehe vor diesem seltsamen Fehler, wenn ich versuche, sudo als root auszugeben, z

root@machine:/home/someuser: sudo echo 1 root is not allowed to run sudo on <FQDN here>. This incident will be reported. 

Ich habe so etwas noch nie in meinen bisherigen Erfahrungen mit Ubuntu gesehen (und um ehrlich zu sein, auch noch bei Google.)

Da es nicht möglich ist, alle Stellen zu finden und das Skript so zu transformieren, dass Sudo nicht aufgerufen wird, muss ich für den Root-Benutzer eine Möglichkeit finden, Sudo auszuführen. Der Ubuntu 16.04-Server, an dem ich arbeite, wird auf exotische Weise vom privaten Cloud-Anbieter des Unternehmens innerhalb der Domäne (IDK, ob dies wichtig ist) konfiguriert.

Mein / etc / sudoers sieht so aus:

# # This file MUST be edited with the 'visudo' command as root. # more bla bla Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"  # User privilege specification root ALL=(ALL:ALL) ALL  # Members of the admin group may gain root privileges +unixadmin,+unixadminext ALL= NOPASSWD: ALL  # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL  # See sudoers(5) for more information on "#include" directives:  #includedir /etc/sudoers.d 

über sudo:

root@machine:/home/someuser# which sudo /usr/bin/sudo root@machine:/home/someuser# ll /usr/bin/sudo -rwsr-xr-x 1 root root 140816 Jun 7 2017 /usr/bin/sudo*  

Was vermisse ich?

Ich habe den root-Benutzer der sudo-Gruppe hinzugefügt, aber das Problem wurde nicht gelöst.

0
Wenn Sie * root * sind, warum müssen Sie sudo ausführen? Ich bin mir sicher, dass mir hier ein feiner Punkt fehlt, aber wenn Sie etwas von einer Root-Eingabeaufforderung ausführen, ist Sudo völlig überflüssig. Mokubai vor 6 Jahren 0
Ich stelle mir die gleiche Frage. Root sollte sudo nicht benötigen, da sudo im Wesentlichen den Root-Zugriff für andere Benutzer ohne Rootberechtigung emuliert. Wenn Ihr Skript mit höheren Berechtigungen ausgeführt werden muss, kann dies als root ausgeführt werden. Die Idee, als root zu laufen, gibt mir jedoch den Schauer. Vielleicht könnten wir mehr helfen, wenn wir wüssten, was Sie tatsächlich erreichen wollen und welche Fehler Sie dabei bekommen. s1ns3nt vor 6 Jahren 0
@Mokubai, fragen Sie die Ersteller des Skripts, mit dem ich arbeite. Grundsätzlich erledigt der ansible Tower Installer dies intern, ich nenne das Shellskript. Natürlich muss das Skript über sudo aufgerufen werden, da es hier und da auf die Wurzeligkeit angewiesen ist, an anderen Stellen versucht es, sich zu erhöhen. kottalovag vor 6 Jahren 0
@ s1ns3nt, thx für die Frage, ich habe meine Frage klarer formuliert. kottalovag vor 6 Jahren 0

1 Antwort auf die Frage

0
djsmiley2k

Run groups- root ist nicht in der sudo-Gruppe, warum sollte es jemals sein?

Um das Problem zu beheben, können Sie entweder root zur sudo-Gruppe hinzufügen oder ein Skript einchecken, in dem sudo ausgeführt wird (das Sie als Möglichkeit für Ihr spezielles Problem eingestuft haben, aber es ist möglicherweise eine Lösung für andere .

So fügen Sie der sudo-Gruppe root hinzu:

(als root) usermod -a -G sudo root

Thx, ich habe mir die Gruppen mit dem Members-Befehl angesehen. Dann wurde der root-Benutzer mit usermod der sudo-Gruppe hinzugefügt. Ich habe ein Relogin gemacht. Ich kann Sudo jedoch immer noch nicht über root ausführen. kottalovag vor 6 Jahren 0