我需要正确使用“sudo”运行脚本,并且在脚本的某个时刻,我必须使用“(su $TS3_USER -c“$TS3_DIR/ts3server_startscript.sh start”)”运行程序以避免出现此“警告!出于安全原因,我们建议:不要以root身份运行服务器”,但我之前创建的用户“(adduser --system --group --disabled-login --disabled-password --no-create-home“$TS3_USER”)”没有登录权限,这是由安全性完成的,因此当“此帐户当前不可用”时,我遇到以下错误。
使用“sudo”测试启动脚本:
#!/bin/bash
TS3_USER="teamspeak3"
TS3_DIR="/opt/teamspeak3-server_linux_amd64"
## Check if user exists
if getent passwd $TS3_USER > /dev/null 2>&1; then
#echo "User alrealy exist"
echo ""
else
## add the user to run ts3server
echo "No, the user does not exist"
if adduser --system --group --disabled-login --disabled-password --no-create-home "$TS3_USER" >/dev/null 2>&1; then
echo -e "\nAdded new user: '$TS3_USER'"
else
echo -e "\n ERROR!!! Failed to add new user: '$TS3_USER'\n"
exit 1
fi
fi
Install() {
$TS3_DIR/ts3server_minimal_runscript.sh createinifile=1
}
结果:“警告!出于安全原因,我们建议:不要以 root 身份运行服务器”
如果我测试这个甚至不起作用:
Install() {
su $TS3_USER -c "$TS3_DIR/ts3server_startscript.sh stop"
}
结果:“此帐户目前不可用。”
我怎么解决这个问题?