본문 바로가기
Linux

타 계정 명령어 실행 권한 부여(sudoers)

by 도경다경 2024. 1. 26.
반응형

원래대로라면 /etc/sudoers 파일을 통한 계정 별 권한 부여 전체를 다루는 게 맞겠지만,
일단은 간단한 사용방법만 등록하고자 한다.

앞서 말하지만 /etc/sudoers 를 활용한 권한 관리는 추천하지 않는다.
왜냐하면 서버 수가 많아질 수록 "변수"가 추가되는 것이기 때문에
코딩으로 완벽하게 표준화 시키든가, 아니면 애초에 원하는 계정으로 접속해서 실행하라고 하는게 맞지
타 계정으로 명령어 실행하게 하는건 관리 효율이 심각하게 떨어진다.

운영자의 마인드는 항상 "대형 시스템" 운영에 초점을 맞춰야 한다.

잡설이 길었고

간단한 샘플은 다음과 같다.

account_A    ALL=(account_B)    NOPASSWD:/usr/bin/whoami

account_A 에게 모든 서버(ALL)에서 account_B 계정으로 패스워드 없이 스위치 해서 /usr/bin/whoami 명령어를 실행할 수 있는 권한을 부여했다.(제발 man page나 주석도 이렇게 쉽게 이해하게 해줬으면...)

이렇게 부여한 뒤(서비스 재시작이나 reboot 없이 즉시 반영)

[account_A]$ sudo su - account_B whoami
account_B

이렇게 실행하면 결과가 나온다.

 

번외로 타 유저로 스위치 할 수 있는 권한은 다음과 같이 설정한다.
위 문법이랑 많이 차이가 나 보여서 그런데 "ALL=" 뒤에 계정명이 빠진 것 뿐이다.
엄밀히 말하면 sample 형식의 문법이라 이해하면 된다.

sample) 실행하는계정   실행하는서버=(타계정)    패스워드사용여부:명령어

account_A    ALL=NOPASSWD: /usr/bin/su - account_B

 

 

반응형

댓글