FreeBSD에서 일반 사용자에게 특정 시스템 호출에 대한 액세스 권한을 부여하는 방법은 무엇입니까?

FreeBSD에서 일반 사용자에게 특정 시스템 호출에 대한 액세스 권한을 부여하는 방법은 무엇입니까?

나는 일반 사용자에게 (수퍼유저인 것처럼) FreeBSD의 모든 파일을 fchown()할 수 있는 기능을 제공하고 싶습니다. 일반적으로 특정 시스템 호출에 대한 권한 확인을 변경하는 올바른 방법이 있습니까?

저는 Capsicum을 살펴봤지만 해당 주제에 관한 모든 기사에 대해 실제 사례가 부족합니다.

답변1

한 가지 해결 방법은 자신만의 프로그램을 만들고, 이를 fchown()root:wheel로 설정하고 setuid 비트( chmod +s)를 설정하는 것입니다. setuid 비트로 실행되는 파일은 실행 파일의 소유자로 실행됩니다.

경고하다 특정 컨텍스트를 제공하지 않았지만 사용자가 fchown()루트로 실행할 수 있도록 허용하는 것이 전체 시스템 액세스 권한을 얻는 첫 번째 단계입니다. 예를 들어 사람들은 소유자를 변경하고 /etc/{passwd,group,shadow}, 콘텐츠를 변경하고, 소유자를 다시 변경할 수 있으며 그런 다음 신속하게 수행할 수 있습니다. 인스턴트 루트.

관련 정보