2014-01-10 3 views
0

가 나는 그러나쉘 스크립트를 루트 권한으로 실행하는 권한을 변경할 수없는 이유는 무엇입니까?

./run.sh 

에 의해 터미널에서 그것을 실행하고자하는 run.sh 파일을 가지고, 그것은

bash: ./run.sh: Permission denied 

그럼 내가 그것을 실행의 권한을 변경하려고했다. 해당 파일의 속성을 열고 권한 탭으로 이동하여 " Allow executing file as program"을 확인했습니다. 체크 표시가 사라졌습니다! 그것은 ... 수표를 무효화

그때 나는 경우 다음

이 ... 는 그러나, 나는

과 실행 그리고 같은 권한 문제가 일어난
./run.sh 

sudo chmod +x run.sh 

등을 사용하려

bash run.sh 

작동합니다. 하지만이 문제를 해결하고 ./을 사용하여 셸 스크립트를 실행하는 습관으로 돌아가고 싶습니다. 누구든지 도와 줄 수 있습니까? 감사.

답변

1

우선, 이것은 유형과 관련한 권한이 아니며 대신 사용자 별 권한에 관한 것입니다.

bash 프로세스가 루트 소유자로 실행 중일 수 있습니다.

bash script.sh

는 수퍼 유저 권한을 필요로하지 않는 따라서 모든 응용 프로그램은 실행. 당신이

bash script.sh

로 실행하면 당신은 작동하려면 루트 암호를 제공해야합니다.

+0

당신의 의견은 자기 모순처럼 보입니다 :'bash script.sh'를 실행하면 수퍼 유저 권한이 필요 없지만'bash script.sh'를 실행하면 루트 암호? 두 번째 것에 대해'sudo' 또는'su'를 염두에두고 계셨습니까? –

1

스크립트 run.sh에 shebang (#!으로 시작하는 스크립트의 첫 번째 줄)이 있습니까?

+0

예, Bash에서 실행됩니다. –

+1

당신은 당신의 shebang을 복사/붙여 줄 수 있습니까? –

+0

The shebang is #!/bin/bash –

관련 문제