fstab
디스크를 마운트할 때 설정되는 권한 옵션의 우선순위와 조합, 그리고 사용 중인 파일 시스템으로 ext4를 사용하여 디스크의 각 파일과 관련된 권한 옵션을 이해하려고 합니다 .
뿐만 아니라:
- exec 및 실행 가능 플래그
- suid 및 suid 플래그
- 개발자
- 기본값 vs 아무것도 하지 않음
예를 들어, rw
이는 fstab
파일이 설치될 때 읽기 및 쓰기 권한을 갖게 된다는 의미입니까? 해당 파일과 관련된 내용만 읽으면 어떻게 되나요? 마운트 옵션이 디스크에 저장된 마운트된 파일의 권한에 영향을 줍니까? 아니면 어떻게든 필터링하고 둘 다에 허용되는 것만 유지합니까? 설치된 디스크에 새로 생성된 파일은 어떻게 되나요?
Linux 권한에 대한 특정 주제에 관한 다양한 기사가 있지만 제가 우연히 발견한 기사 중 문제를 완전히 해결한 기사는 없습니다.
누구든지 그러한 기사에 대한 링크가 있다면 공유해 주시면 좋을 것 같습니다!
답변1
마운트 옵션은 파일 모드를 변경하지 않습니다. 그러나 권한은 삭제할 수 있습니다. 예를 들어, noexec는 (디렉토리가 아닌) 파일의 실행을 중지하고, nosuid는 setuid 비트의 효과를 무효화하고, nodev는 dev 파일 작업을 중지하고, readonly는 쓰기를 중지합니다. 설치 옵션은 전체 설치에 적용됩니다. 그리고 절대 권한을 추가하지 마세요.
"두 가지 모두에서 허용되는 것만 유지하십시오." - 귀하의 질문에서 이 문장이 이를 요약합니다.
나는 @steves의 대답이 내 것보다 낫다고 생각합니다.
아니면 둘 다에 허용되는 것만 유지하면서 어떻게든 필터링합니까?
예, 이는 둘 다의 가장 작은 하위 집합입니다.
설치된 디스크에 새로 생성된 파일은 어떻게 되나요?
쓰기 권한이 있고 rw 마운트 옵션이 있으면 파일이 정상적으로 기록됩니다. nodev가 설치되어 있어도 장치 파일을 생성할 수 있습니다. 단지 장치 파일로 사용할 수 없다는 것입니다. setuid, exec 등도 마찬가지입니다.
답변2
예를 들어 fstab의 rw는 파일이 마운트될 때 읽기 및 쓰기 권한을 갖게 된다는 것을 의미합니까?
이는 파일 시스템이 읽기/쓰기로 마운트되며 이후에는 파일 권한에 따라 액세스가 제한됨을 의미합니다. 읽기 전용으로 마운트된 경우 권한에 관계없이 파일에 아무것도 쓸 수 없습니다.
해당 파일과 관련된 내용만 읽으면 어떻게 되나요? 마운트 > 옵션이 디스크에 저장된 마운트된 파일에 대한 권한에 영향을 줍니까?
사용자에게 읽기 권한만 있는 경우 읽기 액세스만 얻게 됩니다. 읽기 전용으로 마운트할지, 읽기-쓰기로 마운트할지 여부.
아니면 어떻게든 필터링하고 둘 다에 허용되는 것만 유지합니까?
설치 옵션이 먼저 적용된 다음 파일 권한이 적용됩니다.
설치된 디스크에 새로 생성된 파일은 어떻게 되나요?
파일 시스템을 읽기 전용으로 마운트하면 어떤 사용자도 그 안에 파일을 생성할 수 없습니다.
읽기-쓰기 파일 시스템이 설치된 경우 사용자는 해당 시스템에 권한이 제한된 파일을 생성할 수 있습니다.
답변3
마운트 옵션은 스토리지의 권한 비트에 영향을 미치지 않지만 유효 권한에는 영향을 미칩니다. 예를 들어, 실행 권한이 있는 파일이 있을 수 있습니다(예: chmod a+x myfile
성공, ls -l
파일에 실행 권한이 있음을 표시 등). 그러나 파일 시스템이 해당 옵션으로 마운트된 경우 noexec
실행을 시도하면 "권한이 거부되었습니다"라는 오류가 발생합니다. " 오류. 마찬가지로 이 ro
옵션을 사용하면 모든 쓰기 시도가 실패하고, 이 nodev
옵션을 사용하면 장치에 액세스하려는 모든 시도가 실패하게 되며(장치가 생성될 수 있는 경우에도), 이 nosuid
옵션을 사용하면 파일 실행 시도가 무시됩니다. setuid 및 setgid 비트.
다르게 말하면 파일 작업 허용 여부를 결정하는 알고리즘은 다음과 같습니다.
- 쓰기 권한이 필요하고 파일 시스템이 마운트된 경우
ro
즉시 거부합니다. - 실행 권한이 필요하고 파일 시스템이 마운트된 경우
noexec
즉시 거부합니다. - 파일이 장치이고 파일 시스템이 마운트된 경우
nodev
즉시 거부합니다. - 파일 사용자가 액세스를 시도하는 프로세스 그룹 중 하나인 경우 파일 시스템에 저장된 사용자 권한 비트에 따라 액세스가 허용되거나 거부됩니다.
- 파일 그룹이 액세스를 시도하는 프로세스 그룹 중 하나인 경우 파일 시스템에 저장된 사용자 권한 비트에 따라 허용되거나 거부됩니다.
- 파일 시스템에 저장된 "기타" 권한 비트를 기반으로 허용하거나 거부합니다.
(목적에 맞게 가장 중요한 부분만 표시하기 위해 단순화했습니다. 기타 고려 사항은 다음과 같습니다.액세스 제어 목록,확장된 속성불변, 추가 전용 등보안 모듈예로는 SELinux 및 AppArmor가 있습니다. 최종 완전하고 정확한(그러나 읽기 쉽지 않은) 참조는 소스 코드입니다.may_open
Linux 커널의 기능. )
파일 시스템이 마운트되면 setuid/setgid 결정이 수행되지 않습니다(파일 메타데이터의 setuid/setgid 비트가 고려되지 않음) nosuid
.