루트만 읽고 쓸 수 있는 스크립트를 만들었습니다. 다른 것들은 x만 될 수 있습니다. 내가 지금 가지고 있는 것
[root@localhost /]# chmod 755 scripts/ -v
mode of 'scripts/' retained as 0755 (rwxr-xr-x)
[root@localhost /]# chmod 711 scripts/macchange -v
mode of 'scripts/macchange' retained as 0711 (rwx--x--x)
여기는 모든 것이 괜찮은 것 같아요. 사용자와 함께 가면 폴더 내용을 읽을 수 있지만 파일은 읽을 수 없습니다. 하지만 스크립트를 실행하려고 하면 다음과 같은 결과가 나타납니다.
[iron@localhost /]$ ./scripts/macchange
/bin/bash: ./scripts/macchange: Permission denied
내가 뭘 잘못했나요? 사용자에게 읽기 권한을 부여하면 갑자기 작동합니다.
가능한 중복과 다른 이유를 설명하기 위해 bash가 파일을 실행하기 위해 파일을 읽어야 한다는 것을 몰랐습니다. 폴더-파일 권한 문제인 것 같아요.
답변1
/bin/bash
실행할 파일의 내용을 읽는 것은 허용되지 않습니다.
당신은 할 수 있습니다가지다읽기 권한을 활성화합니다.
chmod 751 /scripts/macchange ##If you only want the user's of the same group to access the file.