72. Manage User Privileges
개요
이 글은 효과적인 접근 제어를 위해 sudo와 사용자 그룹을 사용하여 Linux 시스템에서 사용자 권한을 관리하는 방법을 설명합니다.
sudo와 사용자 그룹 사용
중요한 시스템 변경을 위해 명령어 앞에 sudo를 붙여 슈퍼유저 레벨로 권한을 임시 상승합니다.
그룹 멤버십 확인:
$ groups
aaron family sudo
다른 사용자에게 sudo 권한 부여:
$ sudo gpasswd -a trinity sudo
완전한 sudo 권한은 시스템에 대한 완전한 제어를 제공하므로 항상 적절한 것은 아닙니다.
sudo 권한 세밀 조정
세밀한 제어를 위해 visudo 유틸리티를 사용하여 /etc/sudoers에 특정 sudo 정책을 정의합니다.
이 파일을 직접 편집하지 마세요.
visudo는 저장 전에 구문 오류를 확인합니다.원하지 않는 sudo 그룹 멤버십 제거:
$ sudo gpasswd -d trinity sudo
$ sudo visudo
일반적인 sudoers 항목:
%sudo ALL=(ALL:ALL) ALL
분석:
- 사용자/그룹:
%sudo는 모든 sudo 그룹 멤버에 적용 - 호스트:
ALL은 모든 호스트 - 실행 대상:
(ALL:ALL)은 모든 사용자/그룹으로 실행 허용 - 명령어: 마지막
ALL은 모든 명령어 허용
일반 구문:
user_or_group host=(run_as_user:run_as_group) command_list
예시 정책
Trinity에게 모든 sudo 명령어 허용:
trinity ALL=(ALL) ALL
developers 그룹 모든 멤버 허용:
%developers ALL=(ALL) ALL
특정 명령어로 제한하려면 ALL 대신 명령어 목록 사용.
다른 사용자로 명령어 실행 (-u 옵션):
$ sudo -u trinity ls /home/trinity
기본적으로 sudo 명령어는 root로 실행됩니다.
-u 옵션으로 다른 사용자로 실행할 수 있습니다.변경 전 sudoers 파일을 항상 백업하세요. 계정 잠금을 방지하기 위해 반드시
visudo 유틸리티를 사용하세요.