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