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