假设您有一台装有 Bash 的 Linux/UNIX 机器。您有一个只有 root 才能读取的文件secret.txt 。您想使用将字符串作为参数的命令,例如,
sample-command <string>
以 root 用户身份登录并使用文本文件的第一行运行命令:
root ~ $ sample-command $(sed '1!d' secret.txt)
这可以由非 root、sudoer 用户完成吗?
笔记。 sudo sh -c "<command>"
没有帮助,因为子外壳不会继承 root/sudo 特权。例如,
sarah ~ $ sudo sh -c "echo $(whoami)"
给你sarah
,不是root
。