Как перезапустить сервис openvpn (или любой сервис), работающий под пользователем "nobody"?
На моем сервере Ubuntu 16.04 у меня есть служба OpenVPN, работающая как пользователь nobody, Как я могу перезапустить службу или перезагрузить файл конфигурации для службы, используя, например, systemctl?
openvpn процесс запущен, но я не знаю, как получить к нему доступ.
310 nobody 20 0 44440 3184 1968 S 0.0 0.3 1263:30 openvpn
Команда su nobody не работает, потому что пароль не установлен. Есть ли альтернатива?
7 ответов
Попробуйте это, я заметил, что restart не работает для меня
sudo systemctl stop openvpn@server
sudo systemctl enable openvpn@server.service
sudo systemctl start openvpn@server
OpenVPN - это шаблонный сервис под systemd, Услуги названы openvpn@config.service, Таким образом, вы должны перезагрузить свой/etc/openvpn/myvpn.conf пример с:
Перезапуск systemctl openvpn @myvpn.service
Перейдите в этот каталог и посмотрите файлы:
sudo su
cd /etc/systemd/system/multi-user.target.wants
ls
должен быть файл в этом формате (может быть другим в зависимости от версии openvpn):
openvpn-server@server.service
или
openvpn@server.service
если вы видите несколько файлов в этом формате, это потому, что вы, вероятно, использовали этот код раньше:
sudo systemctl enable openvpn-something@server.service
эти самодельные файлы (созданные с помощью enable) ничего не делают и могут быть удалены позже. Но пока вы должны обнаружить, что одна из них хорошо работает с этими командами, не вызывая ошибок:
sudo systemctl stop <openvpn-server@server.service>
sudo systemctl start <openvpn-server@server.service>
и заменить всеми файлами в этом формате (начинается с openvpn и заканчивается на.service) в каталоге. Тот, который действительно останавливает и запускает службу openvpn, - это нужный вам файл, а другие могут быть удалены (вы не должны были создавать их в первую очередь, включив их):
sudo rm <openvpn-selfMadeFiles@server.service>
Будьте осторожны, чтобы не удалить тот, который запускает и останавливает службу.
Войти как
sudo su.
Бежать
service openvpnas restart или же
service openvpn restart.
Еще одна вещь, которую вы можете сделать, если вы не знаете точного названия службы или ленивы, как я. Бежать
systemctl status openvpn** соответствует сервису, ближайшему к этой строке. Работает для других функций, таких как стоп-старт.
Иногда я обнаруживал, что если вы запускаете докер на одной машине, возникает какой-то конфликт.
Поэтому, если вы используете службу Docker, я предлагаю вам сначала остановить Docker, а затем попробовать запустить сервер OpenVPN.
Для меня это былоopenvpn-server@server.service, я нашел это в/etc/systemd/system/multi-user.target.wantsкаталог