GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ubuntu Runuser-Befehl?

Ich erstelle ein Bash-Skript, das Befehle als bestimmter Benutzer ausführen muss. Als Ergebnis verwende ich den Befehl:

runuser

Ich habe dieses Skript getestet und es funktioniert perfekt in Ubuntu Server 14.10. Beim Testen am 14.04 und 12 stoße ich jedoch auf den folgenden Fehler:

runuser: command not found

Dies geschieht jedes Mal, wenn der Befehl runuser verwendet wird.

Ich verwende den folgenden Befehl, um einen neuen Benutzer zu erstellen:

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"

Muss beim Erstellen des neuen Benutzers etwas Bestimmtes angegeben werden? Fehlt eine bestimmte Abhängigkeit?

Änderungen für Fragen:

Ausgabe von echo $PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc‌​al/games

Ausgabe von ls -l /sbin/runuser

ls: cannot access /sbin/runuser: No such file or directory

Der Grund, warum ich runuser vs su verwenden möchte, ist folgender:

Wenn ich runuser verwende, kann ich die folgenden Befehle ausführen:

runuser user -c 'cd'
runuser user -c 'wget http://file.com'

Wohingegen ich bei su die Befehle wie folgt verketten muss:

su user -c 'cd; wget http://file.com'

Akzeptierte Antwort:

runuser ist ein neuerer Befehl, er erschien in util-linux 2.23. Ubuntu 14.04 enthält util-linux 2.20, daher gibt es diesen Befehl noch nicht.

runuser ist nicht sehr nützlich. Verwenden Sie einfach su stattdessen. Beachten Sie, dass der Befehl runuser user -c 'cd' macht eigentlich gar nichts – den Geltungsbereich von cd erstreckt sich nicht bis zum nächsten Aufruf von runuser . Sie müssten runuser user -c 'cd && wget http://file.com' verwenden ohnehin. Verwenden Sie su user -c 'cd && wget http://file.com' stattdessen.


Ubuntu
  1. So installieren Sie Hadoop auf Ubuntu 18.04 oder 20.04

  2. So fügen Sie Benutzer in Ubuntu, Debian und LinuxMint hinzu und löschen sie

  3. Erstellen und löschen Sie Benutzer in Ubuntu 20.04

  4. Root-Benutzer in Ubuntu 22.04 werden - Schritt-für-Schritt-Anleitung?

  5. Linux-su-Befehl

su-Befehl unter Linux

So werden Sie ein Root-Benutzer in Ubuntu

So deaktivieren oder deaktivieren Sie ein Benutzerkonto in Ubuntu 20.04 LTS

Kontingentverwaltung auf Ubuntu

Der Shutdown-Befehl?

Ping-Befehl in Ubuntu 22.04