사용자가 이미 파일에 대한 읽기 및 쓰기 권한을 가지고 있다면 파일의 내용을 복사하고 삭제한 다음 다시 생성하여 권한을 실행할 수는 없습니까? "x" 비트가 없으면 사용자가 파일 내용을 실행할 수 없나요?
답변1
사용자가 파일의 소유자인 경우 읽기 권한이 없어도 파일을 읽기 가능으로 설정한 다음 읽을 수 있습니다. 쓰기 가능하게 만들고 편집할 수 있습니다. 포함된 디렉터리에 쓰기 가능한 비트가 있으면 삭제할 수 있습니다. 따라서 귀하의 논리에 따르면 "w" 및 "r" 비트도 유용하지 않은 것 같습니다.
저것들은 호출됩니다파일 모드, 뿐만 아니라권한몇 가지 이유. 액세스에 대해 이야기할 때 이는 단지 권한이 됩니다.다른사용자가 제공한 파일입니다.
사용자는 일반적으로 문제 없이 프로그램을 실행합니다. 결국 컴퓨터가 존재하는 이유는 사용자가 프로그램을 실행할 수 있도록 하기 위해서입니다. 때로는 사용자가 자신의 프로그램(또는 스크립트)을 작성하고 이를 빌드하고 실행할 수 있어야 할 수도 있습니다. 일반 사용자 권한으로 실행되는 프로그램이 다른 사용자에게 큰 피해를 주지 않도록 시스템을 설계해야 합니다. 일부 프로그램에는 더 높은 권한이 있지만(예: 일부는 SUID일 수 있음) 사용자가 이러한 프로그램을 직접 만들 수 없으며 파일에 민감한 특수 모드 비트를 설정하려면 수퍼유저가 필요합니다.
그러나 사용자가 임의의 프로그램을 실행할 수 없고 관리자로 설치한 프로그램만 실행할 수 있는 매우 제한된 환경을 만드는 것이 목표라면 추가 조치를 취해야 합니다. 이러한 조치에는 다음이 포함됩니다.
- 사용자가 "실행 가능한" 파일을 생성할 수 없도록 모든 사용자 쓰기 가능 디렉터리(homes, tmp 등)를 실행 불가능 디렉터리로 마운트합니다. 그러나 이것이 완전히 멈추는 것은 아닙니다. 사용자는 여전히 설치된 인터프리터가 접두어로 붙은 자체 스크립트를 실행하며, 이는 일반적으로 원하는 모든 작업을 수행하기에 충분합니다.
- SELinux와 같은 필수 액세스 제어를 사용합니다. 이는 매우 안전하지만 매우 번거롭습니다.