capsudo - 객체 권한 모델로 설계된 미니멀 sudo 대체제

3 weeks ago 8

  • 전통적인 sudo/doas의 사용자·규칙 기반 권한 모델 대신 객체 권한 모델(Object-Capability Model) 을 적용해 권한 위임을 단순화
  • 권한을 설정 파일이 아니라 소켓 자체가 곧 능력(capability) 이 되는 구조로 표현
    • capsudod가 특정 명령을 실행할 수 있는 권한 소켓을 생성하고 대기
    • capsudo는 해당 소켓에 접근해 사전에 바인딩된 명령만 실행 가능
  • 소켓의 파일 권한(소유자·그룹·모드) 만으로 누가 무엇을 실행할 수 있는지 명확히 제어
  • 사용자·명령 매칭 규칙, 파서, 복잡한 정책 언어 없이 Unix 권한 모델에 자연스럽게 결합
  • 특정 사용자에게 reboot만 허용하는 등 단일 목적 권한 위임에 특히 적합 # capsudod -s /home/user/reboot-capability reboot & # chown user:user /home/user/reboot-capability && chmod 700 /home/user/reboot-capability $ capsudo -s /home/user/reboot-capability
  • Alpine Linux 같은 미니멀 시스템 환경에서 sudo/doas 대안으로 사용하기 용이
  • “누가 실행할 수 있는가”보다 “누가 이 capability를 소유하는가” 에 초점을 둔 설계

Read Entire Article