따라서 루트로서 읽기 권한 없이 파일을 분류하려고 하면 여전히 내용을 볼 수 있습니다. 이는 약간 이상해 보입니다. 왜냐하면 루트로서 w 권한 없이는 파일에 쓸 수 없고(읽기 전용으로 열림) x 권한이 없으면 파일을 실행할 수 없습니다.
내가 뭐 잘못 했어요?
[root@aaaaaa enc]# ll logsuper
--w-------. 1 root root 3268 Apr 19 13:26 logsuper
[root@aaaaaa enc]# head logsuper
Done at Fri Apr 19 12:22:02 UTC 2019
루트의 x 권한이 없으면 파일을 실행할 수 없습니다.
[root@aaaaaa enc]# ll test1
----------. 1 root root 25 Apr 19 13:40 test1
[root@aaaaaa enc]# cat test1
#!/bin/bash
echo "${1}"
[root@aaaaaa enc]# ./test1 asdfasdasgasga
bash: ./test1: Permission denied
답변1
무엇이든 할 수 root
있고 권한 테스트를 우회할 수 있습니다.
다음 내용도 읽어보세요.설정값.
프로그램 - head
심지어 쉘조차도 root
(정의에 따라 uid가 0인) 실행되는 경우에도 - 시스템 호출을 사용합니다(in시스템 호출(2)...)
당신은 또한 볼 수 있습니다경로 해상도(7)그리고능력(7)그리고바우처(7). 언제인지 함께 설명해준다.오픈(2)- 의지하다프로세스실행 중 /usr/bin/head
- 실패합니다. 그런데,독서(2)권한이 확인되지 않습니다.
일부 실행 파일은 다음을 통해 실행됩니다.실행(2)실패할 수 있는 파일 쉘은 많은 일을 하고 있습니다포크(2)그리고 execve
전화하세요.
오래된 책과 같은 좋은 유닉스 프로그래밍 책알칼리성 포스파타제, 모든 것을 설명하는 여러 장이 있습니다. 당신의껍데기또 다른 프로그램(또한 참조유닉스 철학) C로 쉘을 작성할 수 있습니다(또는 기존 자유 소프트웨어 쉘 프로그램의 소스 코드를 연구할 수 있습니다.GNU 배쉬).