изменить содержимое файла
-
05-07-2019 - |
Вопрос
Я устанавливаю сервер 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 для вызова корневой оболочки суперпользователя и запуска команды, либо просто используйте редактор, как упоминалось ранее.