modifier le contenu du fichier
-
05-07-2019 - |
Question
J'installe un serveur lighttpd sur une machine distante à l'aide d'un script bash. Après l'installation, je dois configurer le port du serveur. Le système indique que je n’ai pas l’autorisation de modifier le fichier /etc/lighttpd/lighttpd.conf même si je le fais
sudo echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf
Comment modifier cela?
La solution
Vous exécutez echo
en tant que root, puis essayez d’ajouter sa sortie au fichier de configuration en tant qu’utilisateur normal.
Ce que vous voulez, c'est sudo sh -c 'echo " server.bind = 2000 " > > /etc/lighttpd/lighttpd.conf '
Autres conseils
Essayez de modifier l'autorisation du fichier en utilisant chmod
$ sudo chmod a+x /etc/lighttpd/lighttpd.conf
Si vous n'avez pas le droit de modifier le fichier /etc/lighttpd/lighttpd.conf
, consultez la page de manuel de lighthttpd
. Si vous pouvez le démarrer avec un autre fichier de configuration, créez-en un quelque part et démarrez lighthttpd
avec.
Le problème est que le bit situé à droite de > > n'est pas exécuté sous sudo. Utilisez sudo -i pour faire apparaître un super-utilisateur dans un shell racine et exécutez la commande, ou utilisez simplement un éditeur, comme indiqué précédemment.