小编use*_*130的帖子

Ubuntu runuser 命令?

我正在创建一个需要以特定用户身份运行命令的 bash 脚本。结果我使用了命令:

runuser
Run Code Online (Sandbox Code Playgroud)

我已经测试了这个脚本,它在 Ubuntu Server 14.10 中完美运行。但是,在 14.04 和 12 上对其进行测试时,我遇到了以下错误:

runuser: command not found
Run Code Online (Sandbox Code Playgroud)

任何时候使用 runuser 命令都会发生这种情况。

我正在使用以下命令创建一个新用户:

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"
Run Code Online (Sandbox Code Playgroud)

创建新用户时是否需要指定一些特定的内容?是否缺少特定的依赖项?

问题编辑:

echo $PATH 的输出

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc??al/games
Run Code Online (Sandbox Code Playgroud)

ls -l /sbin/runuser 的输出

ls: cannot access /sbin/runuser: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我之所以要使用 runuser vs su 是因为以下几点:

使用 runuser 时,我可以运行以下命令:

runuser user -c 'cd'
runuser user -c 'wget http://file.com'
Run Code Online (Sandbox Code Playgroud)

而使用 su 我必须像这样链接命令:

su user -c 'cd; wget http://file.com'
Run Code Online (Sandbox Code Playgroud)

ubuntu su utilities shell-script util-linux

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

shell-script ×1

su ×1

ubuntu ×1

util-linux ×1

utilities ×1