!['ls' 실행 권한이 거부되었습니다.](https://rvso.com/image/632752/'ls'%20%EC%8B%A4%ED%96%89%20%EA%B6%8C%ED%95%9C%EC%9D%B4%20%EA%B1%B0%EB%B6%80%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
내 서버를 루트 사용자로 실행하고 있지만 그럼에도 불구하고 명령을 실행하면 ls
다음 오류가 발생합니다.
bash: /bin/ls: Permission Denied.
이 파일의 권한을 변경하려고 시도했지만 chmod
권한도 거부되었습니다. 이것의 원인은 무엇입니까?
답변1
이에 대한 몇 가지 잠재적인 원인이 있습니다.
- 파일 시스템이 마운트되었습니다
noexec
. - fsck로 해결해야 하는 파일 시스템 손상.
- 파일 시스템이 외부이고 권한을 잘못 변환하면 권한이 거부됩니다.
- 바이너리를 보관하는 디렉터리에 실행 비트가 설정되어 있지 않습니다(순회 문제 발생).
- 디렉터리의 하위 디렉터리에 실행 비트가 설정되어 있지 않습니다(바이너리가 둘 이상의 디렉터리에 중첩된 경우에만 적용됨).
- 바이너리에는 사용자 ID 또는 그룹 ID에 대해 설정된 읽기 및 실행 비트가 없습니다.
- 계정 이름이 로 되어 있어도 실제로는 루트(UID 0)가 아닙니다
root
. 있을 수 없는 일이지만 이는 가능합니다.root
권한 검사를 우회하는 "특수" ID인 UID 0과 100% 동일하지는 않습니다 .root
그러나 계정 은매핑된UID 0으로. - SELinux/grsecurity 규칙은 모든 것을 거부합니다. (Janne Pikkarainen에게 감사드립니다! 그 성가심에 대해 약간의 정신적 차단이 있었습니다.)
- 하나 이상의 바이너리가 손상되었습니다. 이 경우 실행 중인 모든 항목을 신뢰할 수 없습니다.
무슨 일이 일어나고 있는지 실제로 이해하려면 더 많은 정보가 필요합니다.