
저는 Raspberry Pi용 임베디드 Buildroot OS를 개발 중입니다. 이 시스템은 간단히 전원을 제거하면 꺼지므로(종료 타이머는 없음) SD 카드 손상 없이 전원 끄기를 처리할 수 있어야 합니다.
현재 시스템은 루트 파일 시스템으로 읽기 전용 squashfs를 사용하고 있으며 이는 잘 작동합니다. 그러나 분명히 파티션에 쓸 수 없기 때문에 유연성이 부족합니다. 예를 들어, 새 소프트웨어를 설치하는 유일한 방법은 Buildroot에서 전체 OS를 다시 빌드하는 것입니다. 그래서 이것을 변경하여 시스템을 읽기 전용으로 만들고 싶습니다.거의 항상그러나 특정 선택 상황에서는 쓰기가 가능합니다.
SD 카드에 대한 모든 쓰기를 방지하기 위해 사용자 권한을 활용하는 가장 좋은 방법은 무엇입니까통제된 특정 상황을 제외하고? 나는 chmod -R u-w /
전체 파일 시스템에 대해 간단히 수행하여 사용자가 어디에도 아무것도 쓰지 못하도록 할 것이라고 생각하고 있습니다. 그런 다음 무언가를 쓰려면 사용자가 로 인증해야 합니다 sudo
.
이것이 취할 수 있는 강력한 접근 방식입니까?
내가 예상할 수 있는 한 가지 문제는 부팅 시 OS에서 실행되는 프로세스가 루트로 실행되므로 쓰기 권한을 갖게 된다는 것입니다. 사용자가 명시적으로 명령하지 않는 한 운영 체제가 루트 FS에 아무것도 쓰지 못하도록 하는 방법을 찾아야 합니다.
시스템이 권한이 없는 사용자로 실행되도록 시스템의 초기화 스크립트를 조정할 수 있습니다. 이전에 이 작업을 수행한 사람이 있습니까? 루트가 아닌 사용자로 시스템 프로세스를 시작할 수 있습니까?