제한된 쉘에서 명령을 실행합니다/bin/rbash '를 입력하십시오.사용 패브릭 나는 다음과 같은 fabfile을했습니다
매개 변수가있는 명령을 실행하면 매개 변수없이 'ls'가 완벽하게 작동하는 반면 단일 명령으로 처리됩니다.
Fabric이 '/ bin/bash'를 사용하려고 시도 했으므로 빈 쉘을 넣었습니다.이 쉘은 제한된 쉘로는 허용되지 않습니다.
제한된 쉘에서 패브릭을 사용할 수 있습니까?
제한된 쉘에서 명령을 실행합니다/bin/rbash '를 입력하십시오.사용 패브릭 나는 다음과 같은 fabfile을했습니다
매개 변수가있는 명령을 실행하면 매개 변수없이 'ls'가 완벽하게 작동하는 반면 단일 명령으로 처리됩니다.
Fabric이 '/ bin/bash'를 사용하려고 시도 했으므로 빈 쉘을 넣었습니다.이 쉘은 제한된 쉘로는 허용되지 않습니다.
제한된 쉘에서 패브릭을 사용할 수 있습니까?
이 문제는 rbash
이 사용되고 있다는 사실과 관련이 없지만 env.shell
의 빈 값입니다.
env.shell = '/bin/rbash -l -c'
참고 :
env.shell
에 대한 기본 값이 너무 /bin/rbash -l -c
를 사용하여, /bin/bash -l -c
입니다 감각env.shell
이 빈 문자열로 설정되어
echo $SHELL
와 대상 기계의
- 체크 환경 일어나고으로 발견하지 않을 :
/bin/sh
- 그렇다면 귀하의 파이썬 fabfile.py :
from fabric.api import env
env.shell = "/bin/sh -c"
제 환경에서는 Pure 배열의 일부로 제한된 셸을 부르는 경우에는 run 함수에 인수 shell = False를 전달하는 옵션이있는 것처럼 보입니다.
'rbash -l -c'를 지정하면 문제가 해결됩니다. 제한된 쉘이 절대 경로를 사용할 수 없으므로''/ bin/rbash ''를 넣을 수 없습니다. – alexyz78