2009-10-22 5 views
0

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

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

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

+0

Вы пробовали 'chmod'? – billyswong

ответ

4

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

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

0

Попробуйте изменить права доступа к файлу с помощью chmod

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

Uhm ... кому нужно ВЫПОЛНИТЬ этот файл конфигурации? – ndim

0

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

0

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

Смежные вопросы