shell – 与su相反:运行没有root权限的命令

我正在编写一个 shell脚本,大多数命令都不需要root权限.
该脚本应由管理员运行.但我希望能够“su”到普通用户帐户,以获取不需要root权限的脚本部分.
这将最大限度地减少使用root权限执行的操作数量,并提高安全性.

是否有linux命令来做到这一点?

我知道可以su到任何用户帐户,但我不想依赖于机器上存在特定用户名的假设.

我想到为脚本的时间创建一个临时帐户,并在脚本结束时删除它.但是,如果我没有在此帐户上设置密码,攻击者是否可以在帐户的短暂生命周期内使用它?我无法将用户shell设置为/ sbin / nologin,因为这显然会阻止在shell脚本中执行命令“起诉”到帐户.

谢谢你的帮助.

我个人会反转您的策略并以非特权用户身份运行脚本,sudo用于运行需要root权限的命令.您是否需要以root身份运行脚本?

但是,要回答您的问题,可以使用-c标志以用户身份运行特定命令:

su someuser -c "touch /tmp/file"

参考:http://linux.die.net/man/1/su

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...