• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

sudo als "nicht Admin"

RedRaptor

Newbie
Guten Tag,

ich habe ein etwas verzwicktes Problem und komme da nicht weiter. Liegt wohl auch am Unverständnis bzw "nicht wissen" gegenüber sudo.

Folgende Situation:
Ich habe einen Rechner auf dem ein öffentlicher Account ist. Kein Passwort etc und im folgenden als "public" bezeichnet. Das ist quasi ein Info Pannel, der lediglich dazu dient, etwas anzuzeigen. Dementsprechend hat dieser Acccount kaum Berechtigungen, besonders nicht sudo, was auch so bleiben soll.
Ein zweiter Account ist der Adminaccount im folgenden als "admin" bezeichnet und dieser kann selbstverständlich sudo ausführen.

Ich habe nun ein Script das unsere Mitarbeiter ausführen sollen dürfen. Im Endeffekt werden hier einige Konfigurationen umgeschrieben. Was genau ist allerdings hier unwichtig ;-)
das script führe ich nun aus und es kommt irgendwann eine zeile inder ein sudo notwendig wird. Da der Benutzer public allerdings keine Berechtigung hat für sudo schlägt das natürlich fehl.
Meine Idee war zu erst sich als admin zu authentifizieren und dann einen sudo auszuführen.
Code:
su admin
sudo <Befehl>
Unhübsch, unpraktisch und will ich nicht im Code haben. Da ich mit sudo nur selten arbeite kam ich nun dan den Punkt wo ich mir dachte, da muss es doch bestimmt eine Möglichkeit geben mit sudo....
Mein Blick in "man sudo" erbrachte dann den Befehl
Code:
sudo -u admin
Allerdings funktioniert es nicht so wie ich gedacht hatte. Ich dachte ich authentifiziere mich als admin für den root Zugriff. Falsch gedacht denn ich authentifiziere mich als public für den admin Zugriff. Also wieder nutzlos.
mh. man könnte ja vielleicht das Ganze "verschachteln".
quasi ein
Code:
sudo -u admin sudo <befehl>
oder sowas.
Geht aber nicht, da ich keinen Zugriff als public auf sudo habe...*grml*, heist ich kann mich ja nichtmal als admin authentifizieren.
Doch su? Wie sähe ein Befehl aus der nur einen Befehl als root ausführen soll, wenn ich nicht in der "Admin-Gruppe" bin.
wie würdet ihr das lösen?

Ich habe im Übrigen diesen Thread hier gesehen: http://www.linux-club.de/viewtopic.php?f=21&t=115107
wie sähe die Syntax in der datei sudoers aus, wenn ich diese Befehle für den public user Freigeben will? Wie kann ich sicherstellen das es nur über dieses Script erlaubt ist?
Ich habe leider Gottes kein "Yast " zur Hand um mir das zusammenzuklicken und muss das somit Händisch in die Datei eintragen.

MFG
 
A

Anonymous

Gast
ließ mal hier

RedRaptor schrieb:
.... es kommt irgendwann eine zeile inder ein sudo notwendig wird
möglich das ist ein einzelner Befehl für den hier die Rechte benötigt würden, wenn man damit sonst nichts anstellen kann, dann reicht es für diesen einen Befehl die Freigabe für sudo zu schalten, ansonsten genau diese Zeile/n für die mehr Rechte erforderlich sind aus dem Script raus und in ein anders geschütztes (nicht beschreibbar als User) kleines Subscript das an dieser Stelle vom Script heraus über sudo aufgerufen wird, und auf nur dieses kleine Subscript gibst du eine Freigabe für sudo (wenn möglich mit begrenzung der Optionen) und nicht etwa auf das ganze große Script.

Das große Script läuft dann mit wenigen Rechten nur der wichtige Abschnitt läuft mit höheren Rechten, ob wirklich Adminrechte notwendig sind ?
Bei dem kleinen Script sollte dann sogut wie irgendwie auch nur möglich ein Missbrauch des Subscriptes durch Optionen oder den Standardeingabekanal durch Eingabe- , Parameter- und Env-Überprüfung verhindert werden, aber dazu müsste man schon etwas genauer wissen was du dort genau machen willst, für das du mehr als "überhaupt keine Rechte" benötigst.

robi
 
Hallo RedRaptor,

RedRaptor schrieb:
das script führe ich nun aus und es kommt irgendwann eine zeile inder ein sudo notwendig wird.
Dann sollte das doch so gehen:
Code:
"su -c <befehl>"
also so etwas:
Code:
su -c "cat /etc/shadow"
Damit wird der Benutzer, der das Script gerade ausführt nach dem root Passwort gefragt um den in den Anführungszeichen stehenden Befehl auszuführen.
Ist es das was Du suchst?

lieben Gruß aus Hessen
 
Oben