首页 > 解决方案 > /usr/bin/sudo:通过带有 lua 脚本的 telegra-cli 从 sh 脚本调用 sudo 时权限被拒绝

问题描述

我试图通过电报消息运行我的 .sh scipt status.sh:

带有 lua 脚本的 Ubuntu 20.04.1 LTS 服务器 Telegram-cli 来操作 status.sh 脚本

当我通过电报向我的服务器发送消息“状态”时,它会执行 status.sh 脚本,在这个脚本中,我有一堆东西可以为我收集信息并将其发送回电报,这样我就可以看到我的状态但是,如果脚本有一行以 sudo 开头的代码,则服务器是(我最近重新安装了服务器),我得到: line 38: /usr/bin/sudo: Permission denied

如果我从命令行运行脚本 ./status.sh 它运行没有任何问题!?所以我认为它是因为它是从电报或lua调用的!?

生成错误的代码示例:sudo ifconfig enp0s25 >> file

另一方面,这条线没有问题: sudo echo Time: $(date +"%H:%M:%S") > file

/usr/bin 拥有 0755 权限集 sudo 拥有 4755 权限集

标签: luashtelegramsudopermission-denied

解决方案


以下命令

sudo ifconfig enp0s25 >> file

如果file需要修改 root 权限将无法工作。
sudo影响ifconfig但不影响重定向。

要解决这个问题:

sudo sh -c 'ifconfig enp0s25 >> file'

推荐阅读