'ls' 실행 권한이 거부되었습니다.

'ls' 실행 권한이 거부되었습니다.

내 서버를 루트 사용자로 실행하고 있지만 그럼에도 불구하고 명령을 실행하면 ls다음 오류가 발생합니다.

bash: /bin/ls: Permission Denied.

이 파일의 권한을 변경하려고 시도했지만 chmod권한도 거부되었습니다. 이것의 원인은 무엇입니까?

답변1

이에 대한 몇 가지 잠재적인 원인이 있습니다.

  1. 파일 시스템이 마운트되었습니다 noexec.
  2. fsck로 해결해야 하는 파일 시스템 손상.
  3. 파일 시스템이 외부이고 권한을 잘못 변환하면 권한이 거부됩니다.
  4. 바이너리를 보관하는 디렉터리에 실행 비트가 설정되어 있지 않습니다(순회 문제 발생).
  5. 디렉터리의 하위 디렉터리에 실행 비트가 설정되어 있지 않습니다(바이너리가 둘 이상의 디렉터리에 중첩된 경우에만 적용됨).
  6. 바이너리에는 사용자 ID 또는 그룹 ID에 대해 설정된 읽기 및 실행 비트가 없습니다.
  7. 계정 이름이 로 되어 있어도 실제로는 루트(UID 0)가 아닙니다 root. 있을 수 없는 일이지만 이는 가능합니다. root권한 검사를 우회하는 "특수" ID인 UID 0과 100% 동일하지는 않습니다 .root그러나 계정 은매핑된UID 0으로.
  8. SELinux/grsecurity 규칙은 모든 것을 거부합니다. (Janne Pikkarainen에게 감사드립니다! 그 성가심에 대해 약간의 정신적 차단이 있었습니다.)
  9. 하나 이상의 바이너리가 손상되었습니다. 이 경우 실행 중인 모든 항목을 신뢰할 수 없습니다.

무슨 일이 일어나고 있는지 실제로 이해하려면 더 많은 정보가 필요합니다.

관련 정보