설정 :패브릭 sudo는 권한이 거부
- 패브릭 1.9.1
- 서버에 CentOS 7
- 이다 사용자 tester0는 &가의 sudoers에 관리자 권한
문제 파일이 : 나는 '언제 '/ opt /'아래에 폴더를 만들려고하면 "Permission denied"를 반환합니다. 내 fabfile.py에서
:
[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
같은 폴더를 만들 수 있었다 :
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"
내 터미널에서 나는 출력을 참조하십시오. 그러나 출력을 sudo -S -p 'sudo password:' -u "tester0" /bin/bash -l -c "mkdir -p /opt/pt_server/"
실행할 때 동일한 오류가 발생하므로 fabric sudo_prefix를 변경해야합니다.
더 좋은 솔루션이 있습니까? 내가 뭔가를 놓친 적이 있습니까?