Вопрос

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

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

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

Это было полезно?

Решение

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

Вы хотите sudo sh -c 'echo " server.bind = 2000 " & GT; & GT; /etc/lighttpd/lighttpd.conf

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top