ubuntuusers.de

Sudo und echo verträgt sich nicht?

Status: Gelöst | Ubuntu-Version: Xubuntu 12.04 (Precise Pangolin)
Antworten |

Michel_Wagner

Anmeldungsdatum:
26. Oktober 2005

Beiträge: 25

Hallo zusammen,

ich habe ein Installationsskrip geschrieben, das die von mir gewünschten Einstellungen und Programme installiert, die ich auf meinem Rechner bei einer Neuinstallation gerne hätte. Leider funktioniert es nicht, wenn ich nicht zuvor im Terminal sudo -s eingebe und damit mit Rootrechten unterwegs bin. Das ist zwar grundsätzlich kein Problem, aber es wurmt mich, das ich die Ursache nicht kenne.

Bei der Zeile 4

1
2
3
4
sudo apt-get remove --purge zeitgeist zeitgeist-core zeitgeist-datahub -y --force-yes
sudo apt-get remove --purge unity-lens-shopping -y --force-yes
sudo apt-get remove --purge oneconf unattended-upgrades update-notifier update-notifier-common update-manager-core -y --force-yes
sudo echo '@reboot         root    sleep 60 && date > /var/log/apt/ownautoupdate.log && apt-get update >> /var/log/apt/ownautoupdate.log && apt-get upgrade -y >> /var/log/apt/ownautoupdate.log' >> /etc/crontab

kommt es zu Fehlermeldung bash: /etc/crontab: Keine Berechtigung und hier werde ich nicht wie erwartet nach dem Passwort gefragt bzw. das Passwort aus dem Cache genutzt.

Kann mir bitte jemand verraten, warum das Passiert. Alle anderen Befehle funktionieren mit vorrangestellten sudo. Mir fehlt hier das Verständnis.

Viele Grüße

Michel

tomtomtom Team-Icon

Supporter
Avatar von tomtomtom

Anmeldungsdatum:
22. August 2008

Beiträge: 55345

Wohnort: Berlin

sudo und echo vertragen sich wunderbar, man muss nur wissen, wie man sie anwendet. 😛

Dein Befehl wird mit sudo ausgeführt, dies gilt genau bis vor die Umleitung. Alles dahinter ist dann ein neuer Befehl und wird mit Nutzerrechten ausgeführt.

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

Benutze statt dessen sowas wie

1
echo irgdenwas | sudo tee -a /pfad/zur/datei

Michel_Wagner

(Themenstarter)

Anmeldungsdatum:
26. Oktober 2005

Beiträge: 25

Super, jetzt habe ich es kapiert und so klappt es:

1
echo '@reboot         root    sleep 60 && date > /var/log/apt/ownautoupdate.log && apt-get update >> /var/log/apt/ownautoupdate.log && apt-get upgrade -y >> /var/log/apt/ownautoupdate.log' | sudo tee -a  /etc/crontab

Vielen Dank für die schnelle Hilfe! 👍

Antworten |