ändern Dateiinhalt
-
05-07-2019 - |
Frage
Ich bin der Installation eines lighttpd-Server auf einem entfernten Rechner ein Bash-Skript. Nach der Installation muss ich den Port für den Server konfigurieren. Das System sagt ich habe keine Berechtigung, die Datei /etc/lighttpd/lighttpd.conf zu ändern, obwohl ich
sudo echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf
Wie soll ich ändere das?
Lösung
Was Sie tun echo
als root ausgeführt wird, dann versucht, seine Ausgabe an die Konfigurationsdatei als normaler Benutzer anhängen.
Was Sie wollen, ist sudo sh -c 'echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf'
Andere Tipps
Versuchen Sie die Datei Erlaubnis mit chmod
ändern
$ sudo chmod a+x /etc/lighttpd/lighttpd.conf
Wenn Sie nicht das Recht haben, um die Datei zu ändern, um die man-Seite von /etc/lighttpd/lighttpd.conf
lighthttpd
zu überprüfen. Wenn Sie es mit einer anderen Konfigurationsdatei starten können, dann erstellen Sie eine Konfigurationsdatei irgendwo und startet lighthttpd
mit.
Das Problem ist, dass das Bit auf der rechten Seite von >> nicht unter sudo laufen. Entweder sudo -i verwenden, um ein Root-Shell einen Super-User zu bringen und den Befehl ausführen, oder einfach nur einen Editor verwenden, wie zuvor erwähnt.