gpt4 book ai didi

linux - 在 bash 脚本中运行 linux 命令会抛出权限被拒绝的错误

转载 作者:太空宇宙 更新时间:2023-11-04 10:11:06 27 4
gpt4 key购买 nike

我们的环境中有 linux 脚本,它使用普通用户通过 ssh 连接到远程机器,并通过 scp 将脚本从基础机器复制到远程机器。 .

脚本 Test_RunFromBaseVM.sh

#!/bin/bash

machines = $1
for machine in $machines
do
ssh -tt -o StrictHostKeyChecking=no ${machine} "mkdir -p -m 700 ~/test"
scp -r bin conf.d ${machine}:~/test
ssh -tt ${machine} "cd ~/test; sudo bash bin/RunFromRemotevm.sh"
done

脚本 RunFromRemotevm.sh

#!/bin/bash
echo "$(date +"%Y/%m/%d %H:%M:%S")"

在运行 Test_RunFromBaseVM.sh 脚本基础 vm 之前,我们运行以下两个命令。

eval $(ssh-agent)
ssh-add

正在执行 ./Test_RunFromBaseVM.sh "<list_of_machine_hosts>"获取权限被拒绝错误。

[remote-vm-1] bin/RunFromRemotevm.sh:line 2: /bin/date: Permission denied

关于此错误的任何线索或见解都会有很大帮助。谢谢。

最佳答案

我认为问题在于 sudoers 文件中存在 NOEXEC: 标记,对应于执行 "cd ~/test; sudo bash bin 的用户(或组)/RunFromRemotevm.sh” 命令。这会导致拒绝任何进一步的 execv()、execve() 和 fexecve() 调用,在本例中为 /bin/date

解决方案显然是从主 /etc/sudoers 文件或 /etc/sudoers.d 下的某个文件中删除 NOEXEC:,无论它在哪里定义。

关于linux - 在 bash 脚本中运行 linux 命令会抛出权限被拒绝的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49074600/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com