在脚本 sudo 中添加带有帐户 disable-login 的命令“su”

在脚本 sudo 中添加带有帐户 disable-login 的命令“su”

我需要正确使用“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"
}

结果:“此帐户目前不可用。”

我怎么解决这个问题?

相关内容