我正在运行一个 7Days to Die 服务器。通常我通过 ssh 与用户“linux”连接并运行命令:
/home/linux/start
这有效,服务器正在运行。
但是当我将用户切换到root(su root)并运行时:
sudo -u linux /home/linux/start
或者
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 运行它时,用户 ID 仍然是 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 (debian-kernel@lists.debian.org) (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"
我希望这与使用 putty 在 ssh 上执行此操作相同。但它仍然不起作用。