Execute Shell script ohne sudo-Passwort

Ich habe ein shell-script wie unten angegeben.

#!/bin/bash
sudo -u testuser -H sh -c "
mkdir /usr/local/testdir;
if [ $? -eq 0 ];then
    echo "Successfull";
else
    echo "Unsuccessfull";
fi
"

Habe ich Privilegien an Benutzer testuser ausführen, shell script mit sudo, aber ohne Passwort gefragt.Für diese füge ich die folgende Zeile in /etc/sudoers Datei,

testuser ALL=(ALL) NOPASSWD: ALL

Und es funktioniert, könnte ich ausführen von Befehlen mit sudo, aber ohne Passwort gefragt. Aber die oben genannten shell Skript immer geben, setzen ass folgt,

mkdir: cannot create directory `/usr/local/testdir': Permission denied
Successfull

Und es ist nicht zu schaffen-Verzeichnis testdir innen /usr/local. Sie beraten mich, was für änderungen soll ich tun müssen, um zu arbeiten, dieses Skript in Ordnung.

Dank.

  • ok, also so weit wie ich sehen kann, das hat nichts zu tun mit sudo. Einfach auf die der Benutzer nicht das Recht, das Verzeichnis zu erstellen. Sind Sie vertraut mit unix-Datei Berechtigungen?
  • Aber, kann ich das Verzeichnis erstellen mit Befehl sudo mkdir /usr/local/testdir, das ist ohne Aufforderung Passwort !
  • das root-sudo.
  • Beachten Sie, dass Sie sollten beschränken NOPASSWD sudo-Zugriff auf einzelne Skripte nur, da sonst jeder Zugriff auf das Benutzerkonto im Grunde wird root...
  • diese Frage illustriert den Unterschied zwischen sudo make-me-a-sandwich vs sudo -u honey make-me-a-sandwich; die erstere wird immer erfolgreich; das letztere kann oder nicht.
Schreibe einen Kommentar