나는 일반 사용자에게 (수퍼유저인 것처럼) FreeBSD의 모든 파일을 fchown()할 수 있는 기능을 제공하고 싶습니다. 일반적으로 특정 시스템 호출에 대한 권한 확인을 변경하는 올바른 방법이 있습니까?
저는 Capsicum을 살펴봤지만 해당 주제에 관한 모든 기사에 대해 실제 사례가 부족합니다.
답변1
한 가지 해결 방법은 자신만의 프로그램을 만들고, 이를 fchown()
root:wheel로 설정하고 setuid 비트( chmod +s
)를 설정하는 것입니다. setuid 비트로 실행되는 파일은 실행 파일의 소유자로 실행됩니다.
경고하다
특정 컨텍스트를 제공하지 않았지만 사용자가 fchown()
루트로 실행할 수 있도록 허용하는 것이 전체 시스템 액세스 권한을 얻는 첫 번째 단계입니다. 예를 들어 사람들은 소유자를 변경하고 /etc/{passwd,group,shadow}
, 콘텐츠를 변경하고, 소유자를 다시 변경할 수 있으며 그런 다음 신속하게 수행할 수 있습니다. 인스턴트 루트.