sudo(superuser do)는 유닉스 및 리눅스 기반 시스템에서 사용되는 유틸리티로, 특정 사용자에게 시스템의 최상위 권한인 루트(root) 수준으로 명령어를 실행할 수 있는 권한을 효율적으로 부여하는 도구입니다. 또한 sudo는 실행된 모든 명령어와 인수를 로그로 기록하기 때문에 보안 감사와 추적에도 매우 유용합니다.
sudo로 할 수 있는 일
시스템 관리자는 sudo를 활용해 다음과 같은 세밀한 권한 제어를 수행할 수 있습니다.
- 일부 사용자(또는 사용자 그룹)에게 시스템 루트 수준에서 특정 명령어 또는 전체 명령어를 실행할 수 있는 권한 부여
- 호스트별로 각 사용자가 사용할 수 있는 명령어를 세부적으로 통제
- 로그를 통해 어떤 사용자가 어떤 명령어를 언제 실행했는지 명확하게 확인
- 타임스탬프(timestamp) 파일을 활용하여, 사용자가 비밀번호를 입력해 권한을 획득한 후 명령어를 입력할 수 있는 유효 시간을 제어
sudo 설정 파일의 장점
sudo의 설정 파일은 구조가 단순해서 생성과 참조가 쉽습니다. 이를 통해 시스템 관리자는 복잡한 작업 없이도 사용자별·호스트별·명령어별로 세밀한 권한 정책을 손쉽게 구성하고 관리할 수 있습니다. 이러한 특성 덕분에 sudo는 루트 계정을 직접 공유하는 위험한 방식 대신 안전한 권한 위임 수단으로 널리 사용되고 있습니다.