staging.inyokaproject.org

visudo über ssh anpassen bzw. root Passwort übergeben?

Status: Ungelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

EricBerne

Anmeldungsdatum:
13. Juli 2014

Beiträge: 272

Hallo Gemeinde,

um als Root viele Programm zu installieren ohne das bei mir immer das Passwort gefragt wird, verwende ich diesen Befehl:

1
echo 'james ALL=(ALL) NOPASSWD:ALL' | sudo EDITOR='tee -a' visudo

Danach werde ich nach dem Passwort gefragt. *****

Mein vorhaben ist folgender: (dieser Code ist nur ein Beispielcode)

1
ssh benutzername@wexample.com -t "cd ~/downlaod/  && rm -r *.gz"

Nur das der Befehl:

1
echo 'james ALL=(ALL) NOPASSWD:ALL' | sudo EDITOR='tee -a' visudo

über ssh übergeben wird und gleich das Root-Passwort, so das ich das aus dem Skript erledigen kann.

z.B.

1
ssh benutzername@wexample.com -t "echo 'james ALL=(ALL) NOPASSWD:ALL' | sudo EDITOR='tee -a' visudo"

Nur wie kann ich den Root Passwort mit übergeben?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

EricBerne schrieb:

Nur wie kann ich den Root Passwort mit übergeben?

Zunächst mal brauchst Du für sudo und Verwandte nicht das root-Passwort sondern das vom aktuellen Benutzer. Ich sehe nicht, dass man das so ohne weiteres übergeben kann. Das ist auch nicht besonders sicher. Erfolgversprechender erscheint mir, die Berechtigungen in /etc/sudoers so einzutragen, dass Du die relevanten Befehle (also /usr/bin/apt, /usr/bin/snap) ohne Passworteingabe ausführen kannst.

EricBerne

(Themenstarter)

Anmeldungsdatum:
13. Juli 2014

Beiträge: 272

rklm schrieb:

EricBerne schrieb:

Nur wie kann ich den Root Passwort mit übergeben?

Erfolgversprechender erscheint mir, die Berechtigungen in /etc/sudoers so einzutragen, dass Du die relevanten Befehle (also /usr/bin/apt, /usr/bin/snap) ohne Passworteingabe ausführen kannst.

Genau das möchte ich auch, aber halt per Skript. Nur verlangt das System Passwort Eingabe.

oder habe ich dich falsch verstanden? 😕

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Wenn man einem Benutzer erlaubt alle Befehle mit sudo ohne Passworteingabe auszuführen, dann kann man sich auch gleich als root anmelden...

Warum nimmst du nicht sowas wie ansible, um die Pakete auf entfernten Systemen zu installieren? Wenn man es darauf anlegt, geht das als Einzeiler:

ansible -i "$HOST," -m apt -a "name=package1,package2,package3 state=present" -u $REMOTE_USER -e "ansible_become_pass=$REMOTE_SUDO_PASSWORD ansible_become=true" all 

EricBerne

(Themenstarter)

Anmeldungsdatum:
13. Juli 2014

Beiträge: 272

seahawk1986 schrieb:

Warum nimmst du nicht sowas wie ansible, um die Pakete auf entfernten Systemen zu installieren? Wenn man es darauf anlegt, geht das als Einzeiler:

ansible -i "$HOST," -m apt -a "name=package1,package2,package3 state=present" -u $REMOTE_USER -e "ansible_become_pass=$REMOTE_SUDO_PASSWORD ansible_become=true" all 

Prinzipiell eine gute Idee. Muss mir aber dafür einen Master-Server anschaffen.

Denn aktuell wollte ich das aus der Windows-Kiste über Putty bzw. MobaXterm lösen.

Danke für die Vorschläge, werde mit einen Verteiler-Server anschaffen um das ohne Probleme zu lösen.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 12527

EricBerne schrieb:

Genau das möchte ich auch, aber halt per Skript.

Wozu? Das musst Du doch pro Maschine nur ein Mal machen.

Nur verlangt das System Passwort Eingabe.

Ja, das ist ja auch sinnvoll bei so einer weitreichenden Änderung.

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17432

seahawk1986 schrieb:

Wenn man einem Benutzer erlaubt alle Befehle mit sudo ohne Passworteingabe auszuführen, dann kann man sich auch gleich als root anmelden...

Das sehe ich anders. Dazu braucht root ja einen loginfähigen Account auf dem Zielsystem, und "root" ist ein oft ausprobierter Login, wenn man ssh offen hat. Dagegen probiert sich kaum jmd. als "james" einzuloggen - von daher ist das schon ein wenig sicherer, als mit dem Rootzugang direkt zu arbeiten.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

EricBerne schrieb:

Prinzipiell eine gute Idee. Muss mir aber dafür einen Master-Server anschaffen.

Dafür sollte das Linux Subsystem für Windows 10 genügen (https://www.thomaspreischl.de/ansible-wsl-windows/) - altrernativ geht auch eine VM oder ein Docker-Container mit einem Linux und Ansible.

user_unknown schrieb:

seahawk1986 schrieb:

Wenn man einem Benutzer erlaubt alle Befehle mit sudo ohne Passworteingabe auszuführen, dann kann man sich auch gleich als root anmelden...

Das sehe ich anders. Dazu braucht root ja einen loginfähigen Account auf dem Zielsystem, und "root" ist ein oft ausprobierter Login, wenn man ssh offen hat. Dagegen probiert sich kaum jmd. als "james" einzuloggen - von daher ist das schon ein wenig sicherer, als mit dem Rootzugang direkt zu arbeiten.

SSH-Login mit Passwort würde ich da auf keinen Fall machen, mit SSH-Keys kann man das diskutieren. Aber meine bevorzugte Lösung wäre auch die sudo-Rechte nach der Anmeldung als regulärer Benutzer zu erlagen, daher der Vorschlag mit Ansible und der become-Direktive.

Antworten |