изменить содержимое файла - PullRequest
0 голосов
/ 22 октября 2009

Я устанавливаю сервер lighttpd на удаленной машине, используя скрипт bash. После установки мне нужно настроить порт для сервера. Система говорит, что у меня нет разрешения на изменение файла /etc/lighttpd/lighttpd.conf, даже если я

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

Как мне изменить это?

Ответы [ 4 ]

4 голосов
/ 22 октября 2009

То, что вы делаете, запускает echo от имени пользователя root, а затем пытается добавить свой вывод в файл конфигурации как обычный пользователь.

То, что вы хотите, это sudo sh -c 'echo "server.bind=2000" >> /etc/lighttpd/lighttpd.conf'

0 голосов
/ 22 октября 2009

Проблема в том, что бит справа от >> не запускается под sudo. Либо используйте sudo -i для вызова корневой оболочки суперпользователя и запуска команды, либо просто используйте редактор, как упоминалось ранее.

0 голосов
/ 22 октября 2009

Если у вас нет прав на изменение файла /etc/lighttpd/lighttpd.conf, проверьте справочную страницу lighthttpd. Если вы можете запустить его с другим конфигурационным файлом, то создайте где-нибудь конфигурационный файл и начните с него lighthttpd.

0 голосов
/ 22 октября 2009

Попробуйте изменить разрешение файла, используя chmod

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