Я запускаю сервер 7Days to Die. Обычно я подключаюсь по ssh с пользователем «linux» и запускаю команду:
/home/linux/start
Все работает, сервер работает.
Но когда я переключаю пользователя на root (su root) и запускаю:
sudo -u linux /home/linux/start
or
sudo -u linux -i bash -c '/home/linux/start'
сервер отключается через 5 минут, и я получаю это в файле журнала:
Failed to create secure directory (/run/user/0/pulse): Permission denied
Failed to create secure directory (/run/user/0/pulse): Permission denied
Failed to create secure directory (/run/user/0/pulse): Permission denied
и после некоторых строк я также получаю:
2015-06-23T12:12:15 17,008 INF Disconnect
2015-06-23T12:12:15 17,008 INF NET: Stopping server protocols
Platform assembly: /home/linux/7daysded/7DaysToDie_Data/Managed/Mono.Security.dll (this message is harmless)
2015-06-23T12:12:15 17,054 INF NET: Untiy NW server stopped
2015-06-23T12:12:15 17,055 INF [Steamworks.NET] NET: Server stopped
2015-06-23T12:12:15 17,055 INF [NET] ServerShutdown
То же самое касается xinetd. Когда сервер xinetd пытается запустить скрипт, он тоже падает.
Я предполагаю, что когда я запускаю его через sudo или xinetd, идентификатор пользователя по-прежнему равен 0 (root) вместо 1000 (linux). Как я могу решить проблему?
Стартовый скрипт:
#!/bin/bash
if pgrep "7DaysToDie." > /dev/null
then
exit
else
cd /home/linux
screen -A -m -d -S 7DaysServer /home/linux/7daysded/startserver.sh -configfile=serverconfig.xml
screen -ls
fi
Немного информации о моей системе:
Debian Version 8.1
Linux version 3.16.0-4-amd64 ([email protected]) (gcc version 4.8.4 (Debian 4.8.4-1) ) #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24)
Спасибо и С уважением,
Патрик
ОБНОВИТЬ:
я пытался запустить как root:
ssh -t linux@localhost -p 1111 "/home/linux/restart"
Я надеялся, что это будет так же, как делать это по ssh с замазкой. Но это все еще не работает.