리눅스에서 permission 관련

declspec의 이미지

안녕하세요

root@declspec-desktop:~# ls -al 23.elf
-rw-r--r-- 1 user1 root 4394 2012-07-21 14:12 23.elf
root@declspec-desktop:~#
root@declspec-desktop:~#
root@declspec-desktop:~# ./23.elf
bash: ./23.elf: Permission denied
root@declspec-desktop:~#

위와같이 rw-r--r-- 로 권한설정된 23.elf 라는 실행파일이 있으때
루트권한으로 실행하면 permission denied 가 뜹니다.

chmod 로 x 권한을 주면 실행되긴 하는데
생각해보니 root 는 위에나온 rw-r--r-- 이 설정에 아무 영향 안받고
무조건 뭐든지 read, write, execute 할수있는것 아닌가요?

왜 permission denied 가 뜨는지 생각해보니 이상하네요...

kwchun의 이미지

루트도 권한 설정에 따르죠. 다만, 루트는 23.elf를 실행할 방법이 두 가지 있지요. 권한을 마음대로 조정하거나(chmod +x), user1으로 계정을 갈아탈 수 있습니다(su user1). 여기선 user1도 실행 권한이 없으니, 어차피 chmod를 써야겠군요.

세이군의 이미지

Quote:

생각해보니 root 는 위에나온 rw-r--r-- 이 설정에 아무 영향 안받고
무조건 뭐든지 read, write, execute 할수있는것 아닌가요?

root도 execute 권한이 없는 파일을 실행하지 못합니다.
hermes의 이미지

root도 execute 권한이 없는 파일을 실행하지 못한다고 하더군요.
다만 실행 권한의 변경이 자유롭기 때문에 결국은 실행을 할 수가 있다더라구요..

declspec의 이미지

위의경우 소유자가 user1 이므로 root 로 실행하려하면 guest 의 권한부분
r-- 가 적용되는군요

권한의 변경이 자유로우므로 권한설정에 영향을 안받고 실행가능한것이지
그냥 곧바로 영향을 안받는게 아니었네요

감사합니다

자기실력이 좋다고 느껴지는건 공부를 안하고 있다는 신호.