Как перезапустить сервис 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каталог

Другие вопросы по тегам