linux - bash 中的 sudo,权限被拒绝

标签 linux bash sudo

我想阻止 LAN 中某些系统中的 USB 大容量存储。我编写了一个 bash 脚本来修改该文件。我在 ubuntu 中以默认管理员身份运行该脚本。但该脚本无法修改该文件。我收到以下错误 “bash:/etc/modprobe.d/blacklist.conf:权限被拒绝

下面是我的 bash 脚本

#/bin/bash
password='mypassword'                  #admin password of remote system
val='blacklist usb-storage'            #text which i want to add in the file
for sysName in $(cat systemDetails)    #systemDetails is file which stores
do
ssh $sysName 'echo '$password' | sudo -S echo '$val ' >> /etc/modprobe.d/blacklist.conf'
echo
done
#script ends

注意:我已将系统配置为不需要 ssh 密码。

这方面的任何指示都会非常有帮助。

最佳答案

试试这个:

ssh $sysName "echo $password | sudo -S sh -c 'echo $val >> /etc/modprobe.d/blacklist.conf'"

关于linux - bash 中的 sudo,权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29940441/

相关文章:

ubuntu - 云平台- sudo : unable to resolve host

linux - 在 linux 服务器上卸载了 PhpMyAdmin,现在 apache 重启给出了这个错误

linux - 执行以下命令时,为什么我的权限被拒绝?我正在尝试在 HDP 上运行它

bash - 如何将 bash 脚本的整个输出保存到文件

bash - 删除目录中所有文件名中最后一个带括号的字符串

linux - 使用 ssh 执行命令从自动执行用户登录中获取输入

node.js - 在 Linux RHEL 上安装 NodeJS(6.6 版(圣地亚哥)?

linux - 如何在日志中发送错误,在 shell 脚本中添加日期?

linux - http: 接受错误:接受 tcp [::]:8080: accept4: 打开的文件太多;

linux - 如何允许服务器上的任何用户编辑特定文件?