나는 개발 중입니다보안 기본 소프트웨어~을 위한리눅스 플랫폼C
and.내가 CPP
원하는 것을 사용하여모든 사용자 제한심지어루트 사용자파일을 수정할 수도 있습니다.즉, 누구도 파일을 수정할 수 없습니다..
수정수단누구도 할 수 없어-쓰다파일에,이동하다파일 또는제거하다서류 등
- 더 구체적으로- -
나는문서명명 된a.txt디렉토리 내에서 /home/
이 파일에 대해 몇 가지 작업을 수행하고 싶습니다.누구도 쓸 수 없어이 파일로 들어가세요.제거하다파일 또는이동하다이 파일.
하지만 파일은 읽을 수 있습니다.
chattr
나는 명령을 시도했습니다 -
chattr +i /home/a.txt
다른 사용자의 문제는 해결되었지만뿌리즉루트 사용자터미널에 들어가서 명령을 실행하십시오 -
chattr -i /home/a.txt
그래서 /home/a.txt
파일은변하기 쉬운. 그래서ROOT 사용자는 변경 불가능한 파일을 변경 가능 파일로 변경할 수 있습니다.. 그래서ROOT 사용자의 문제는 해결되지 않았습니다..
그래서 나는 루트 사용자라도 이 파일을 수정할 수 없도록 이 파일로 뭔가를 하고 싶습니다. 모두가 내 문제에 대해 명확하게 알기를 바랍니다. 지난달부터 시도해 보았지만 아무런 결과도 얻지 못했습니다. 어떤 제안이나 해결책이라도 감사하겠습니다.
답변1
범용 운영 체제에는 궁극적으로 다음을 수행할 수 있는 수퍼유저 계정이 항상 있습니다.그리고 실행 취소무엇이든(그렇지 않으면 손상된 시스템을 완화/치료할 수 없습니다).
- 불변 속성(
chattr +i
)은 오류를 방지하는 데 좋은 선택입니다. - 파일 시스템을 읽기 전용으로 마운트하는 것은 비실용적이고 비효율적입니다(쉽게 취소할 수 있음)
- 읽기 전용 파일 시스템을 생성하고 사용하는 것은 덮어쓰기가 쉽습니다(FS를 덮어쓰거나 다른 파일 시스템에 대한 바인드 마운트 사용).
- SELinux와 같은 필수 액세스 제어 시스템이 원하는 것에 가장 가깝습니다.직원 역할일부 작업을 수행할 수 없지만 다른 작업(시스템 관리자 역할더 많은 특권을 가지고 있습니다)
- 가장 편집증적인 시스템에서도 보안은 시스템에 물리적으로 액세스할 수 있는 사람에게 달려 있습니다... 수정커널 부팅 명령좋아요(Android 기기에서 작동함)
답변2
해결책은 비밀번호로 암호화된 파티션을 만드는 것일 수 있습니다 luks
.
편집하다: 다른 방법을 사용하여 IPFS
파일을 저장할 수 있습니다.