我正在编写一个 Python 脚本以管理员用户身份登录远程 Linux 服务器(dev),然后:
在名为 Archive
的目录中创建文件备份dev.sudo(“bash -c ‘cd /path/; cp file.dat Archive/file.dat)
读取文件并保存为变量
read_file = dev.sudo(“bash -c ‘cd /path/; cat file.dat)
然后我将一个新值插入到文件中,并希望覆盖服务器上的现有文件
dev.sudo(f”echo ‘{new_file}’ > /path/file.dat)
然而,最后一步将返回“权限被拒绝”错误。我登录的用户具有适当的权限,如果我要在服务器的命令行上手动执行此步骤,则此步骤有效。
我不确定是什么原因导致此权限错误。
我正在使用面料库,以获取更多信息。
我尝试在 bash -c 中运行命令,但没有进一步的运气。
我已确认备份已成功完成,并添加了打印(new_file)以确保将正确的内容输入到服务器中。
请检查您的文件权限。之后您会收到类似的错误
touch /tmp/acz
chmod 444 /tmp/acz
echo "Something" > /tmp/acz
# Returns
-bash: /tmp/acz: Permission denied
请尝试
echo '{new_file}' > /path/file.dat