繁体   English   中英

面料sudo权限被拒绝

[英]fabric sudo permission denied

设定:

  • 面料1.9.1
  • 服务器是centOS 7
  • 用户tester0具有管理员权限,并且在sudoers文件中

问题:当我尝试在“ / opt /”下创建文件夹时,它返回“权限被拒绝”。

从我的fabfile.py中:

parent_code_dir = '/opt/deploy_dest'
with settings(sudo_user=pt_root_user,warn_only=False):
     sudo("ls /opt/") #this works OK with the sudo command
     sudo("id") #this works OK with the sudo command
     sudo("mkdir -p %s" % parent_code_dir) #this returns the "Permission denied" 

在我的终端中,我看到输出:

[192.168.1.108] sudo: ls
[192.168.1.108] out: rh
[192.168.1.108] out: 

[192.168.1.108] sudo: id
[192.168.1.108] out: uid=1000(tester0) gid=1000(tester0) groups=1000(tester0),10(wheel)   context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[192.168.1.108] out: 

[192.168.1.108] sudo: mkdir -p /opt/deploy_dest/
[192.168.1.108] out: mkdir: cannot create directory ‘/opt/deploy_dest/’: Permission denied
Fatal error: sudo() received nonzero return code 1 while executing!
Requested: mkdir -p /opt/pt_server/
Executed: sudo -S -p 'sudo password:'  -u "tester0"  /bin/bash -l -c "mkdir -p /opt/pt_server/"

当以tester0访问时,我可以通过ssh手动创建相同的文件夹sudo mkdir -p /opt/deploy_dest deploy_dest。 但是,当我运行输出sudo -S -p 'sudo password:' -u "tester0" /bin/bash -l -c "mkdir -p /opt/pt_server/"我得到了相同的错误,所以我想我应该更改面料sudo_prefix ..

有更好的解决方案吗? 我错过了什么吗?

这是/ opt /文件夹中的权限问题。 用户tester0不是root =>他在具有root权限的组轮中,但是在运行sudo -u =>时,由于tester0用户访问/ opt /(仅在该组中,但该组不允许写),因此运行该命令。 一种快速的解决方案是chmod g+w /opt/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM