Domanda

Sto installando un server lighttpd su una macchina remota usando uno script bash. Dopo l'installazione, devo configurare la porta per il server. Il sistema dice che non ho il permesso di modificare il file /etc/lighttpd/lighttpd.conf anche se lo faccio

sudo echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf

Come devo modificarlo?

È stato utile?

Soluzione

Quello che stai facendo è eseguire echo come root, quindi provare ad aggiungere il suo output al file di configurazione come utente normale.

Quello che vuoi è sudo sh -c 'echo " server.bind = 2000 " & Gt; > /etc/lighttpd/lighttpd.conf '

Altri suggerimenti

Prova a cambiare l'autorizzazione del file usando chmod

$ sudo chmod a+x /etc/lighttpd/lighttpd.conf

Se non hai il diritto di cambiare il file /etc/lighttpd/lighttpd.conf controlla la pagina man di lighthttpd . Se puoi avviarlo con un altro file di configurazione, crea un file di configurazione da qualche parte e avvia lighthttpd con esso.

Il problema è che il bit a destra di > > non viene eseguito su sudo. O usa sudo -i per far apparire una shell root un superutente ed eseguire il comando, oppure usa semplicemente un editor come menzionato prima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top