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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top