우분투에서 루트 사용자를 사용하여 bash 파일에서 파일을 실행한 후 권한이 거부되었습니다.

우분투에서 루트 사용자를 사용하여 bash 파일에서 파일을 실행한 후 권한이 거부되었습니다.

내 서버에 하드 드라이브를 설치한 후 큰 문제가 발생했습니다. 모든 것이 잘 작동하지만 테스트한 후 bash 파일에서 bash 파일을 실행하면 설치 전에는 잘 작동했지만 설치 후에는 루트 모드 권한이 거부되었습니다.

ls -alt /var/www/test/bin/change-sys-hostname
-rwxrwx--- 1 www-data www-data

내 코드는 다음과 같습니다.example.sh

/var/www/test/bin/change-sys-hostname $servername

결과:

permission denied

답변1

권한 거부는 허용되지 않는 작업을 시도하고 있음을 의미합니다. 귀하의 질문에는 허용되지 않는 콘텐츠를 결정하는 데 필요한 몇 가지 기본 정보가 부족합니다.

처음부터 시작하기: example.sh.이 스크립트를 어떻게 실행합니까? 처럼 bash examle.sh? 처럼 ./example.sh? 후자의 경우: 스크립트를 직접 실행할 수 있어야 합니다. 이 스크립트를 실행할 수 있나요? ls -l이를 확인하는 데 사용합니다 .

참고로 다음 줄로 스크립트를 시작해야 합니다.

#!/bin/bash

bash를 사용하여 실행하십시오.

두 번째 참고 사항: $server설정해야 합니다. 이는 쉘 환경에서 설정될 수 있지만 확실해야 합니다. 그러나 $server올바른 값을 설정하지 않으면 다른 오류 메시지가 나타날 수 있습니다. $server확실히 하기 위해 값으로 응답할 수도 있습니다.

다음 기사: 실행할 수 있나요 /var/www/test/bin/change-sys-hostname? 이 스크립트는 그룹별로 실행될 수 있습니다 www-data. 당신은 그 그룹에 속해 있나요? 그룹 세트에 id있는지 확인하세요 .www-data

두 번째는 change-sys-hostname내부에서 할 수 없는 일이 있는지 여부입니다. change-sys-hostname실행이 허용되어야 하는 다른 프로그램이 있을 수도 있습니다. 특히, 스크립트는 루트만 쓸 수 있는 일부 파일을 쓸 수 있습니다. 그래서 sudo필요할 수도 있습니다.

해결책을 찾기 위해 취해야 할 몇 가지 기본 단계를 살펴보았습니다. 이 단계의 많은 정보는 문제에 포함되지 않으며 진행 상황을 평가하는 데 필요하다는 것을 알 수 있습니다.

관련 정보