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

> Clean Markdown view of GeekNews topic #25795. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=25795](https://news.hada.io/topic?id=25795)
- GeekNews Markdown: [https://news.hada.io/topic/25795.md](https://news.hada.io/topic/25795.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2026-01-14T09:31:01+09:00
- Updated: 2026-01-14T09:31:01+09:00
- Original source: [github.com/kaniini](https://github.com/kaniini/capsudo)
- Points: 11
- Comments: 2

## Summary

**capsudo**는 전통적인 sudo의 사용자·규칙 기반 접근 대신 **객체 권한 모델(Object-Capability Model)** 을 적용해 권한 위임 방식을 단순화합니다. 설정 파일 없이 소켓 자체가 권한의 단위가 되며, 소켓의 파일 권한만으로 실행 가능 범위를 명확히 제어합니다. 복잡한 정책 언어 없이 Unix 권한 체계에 자연스럽게 녹아들어, 특정 명령만 허용하는 단일 목적 권한 위임이나 Alpine Linux 같은 **미니멀 시스템 환경에 적합**합니다.

## Topic Body

- 전통적인 sudo/doas의 사용자·규칙 기반 권한 모델 대신 **객체 권한 모델(Object-Capability Model)** 을 적용해 권한 위임을 단순화  
- 권한을 설정 파일이 아니라 **소켓 자체가 곧 능력(capability)** 이 되는 구조로 표현  
  - `capsudod`가 특정 명령을 실행할 수 있는 **권한 소켓을 생성**하고 대기  
  - `capsudo`는 해당 소켓에 접근해 **사전에 바인딩된 명령만 실행** 가능  
- 소켓의 **파일 권한(소유자·그룹·모드)** 만으로 누가 무엇을 실행할 수 있는지 명확히 제어  
- 사용자·명령 매칭 규칙, 파서, 복잡한 정책 언어 없이 **Unix 권한 모델에 자연스럽게 결합**  
- 특정 사용자에게 reboot만 허용하는 등 **단일 목적 권한 위임**에 특히 적합  
  ```bash  
  # 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를 소유하는가”** 에 초점을 둔 설계

## Comments



### Comment 49187

- Author: letaem77a
- Created: 2026-01-14T10:14:21+09:00
- Points: 1

https://github.com/kaniini/capsudo

### Comment 49190

- Author: xguru
- Created: 2026-01-14T10:41:00+09:00
- Points: 1
- Parent comment: 49187
- Depth: 1

아앗 제가 / 를 하나 빼먹었네요 ㅠ 수정해두었습니다.
