
Ist es möglich, sudo so zu konfigurieren, dass nach dem Root-Passwort statt nach dem Benutzerpasswort gefragt wird?
Der Server ist mit einem Root-Benutzer und einem einfachen Benutzer (nennen wir ihn einfach) mit eingeschränkten Berechtigungen konfiguriert, der zum Bereitstellen aller auf dem Server gehosteten Anwendungen verwendet wird. Der einfache Benutzer ist nicht in der Sudoers-Liste enthalten, daher
$ sudo command
funktioniert nicht, da Simples Passwort ihm keine Root-Rechte gewähren kann.
Gelegentlich muss ich einige Skripte ausführen, die Root-Zugriff über Capistrano (ein Ruby-Bereitstellungstool) benötigen, und es ist ziemlich schwierig, ein Skript zu programmieren, um sich als Root anzumelden, das Skript auszuführen und sich dann abzumelden. Ich möchte die folgende Anweisung ausführen können
$ sudo god restart tasks-group
und Capistrano fragt mich nach dem Root-Passwort. Derzeit fragt Capistrano nach dem Bereitstellungsbenutzerpasswort, bei dem es sich offensichtlich um ein Nicht-Administratorkonto handelt.
Antwort1
Ich glaube, Sie versuchen, sudo auf eine Weise zum Laufen zu bringen, die nicht vorgesehen ist – Sie möchten den „einfachen“ Benutzer nicht zur sudoers-Datei hinzufügen (korrigieren Sie mich bitte, wenn ich falsch liege).
In diesem Fall ist „sudo“ nicht das Tool, das Sie verwenden möchten. Sie möchten su -c <command>
dies eingeben. Es wird nach dem Root-Passwort gefragt, der Befehl wird ausgeführt und dann das Programm beendet.
Antwort2
In der sudoers-Datei muss ein Flag gesetzt werden, wenn der Benutzer sich mit seinem eigenen Passwort oder mit dem von root authentifizieren soll. Das Flag heißt rootpw
. Sudo ist ein sehr leistungsfähiges Paket. Lesen Sie unbedingt die Manpage zu sudoers(5).
Antwort3
Nein. Verwenden Sie es su
, um mit dem Root-Passwort Root zu werden.
sudo
Die bessere Lösung besteht wahrscheinlich darin, Capistrano auf der Bereitstellungsmaschine für Aufgaben zu verwenden , die Root-Zugriff erfordern.
Antwort4
Wenn der Bereitstellungsbenutzer sudo verwenden darf, wird er zu einem privilegierten Konto, das administrativ agieren kann. Das ist der Zweck von sudo. Oder verstehe ich die Frage falsch?