반응형
리눅스 이용시 다른 계정으로 명령어를 실행해야하는 경우가 빈번하게 있습니다.
이런겨우 su, ssh, sudo 등의 방법이 있는데 저는 sudo를 선호합니다. 이유는 비밀번호를 별도로 사용하지 않을 수 있도록 설정이 가능하기 때문입니다.
sudo에 여러가지 기능이 있지만, 일단 user1이 user2 의 권한으로 /abc/def 의 rus.sh 명령어를 실행하는 방법을 알아 보도록 하겠습니다.
1. root 계정으로 visudo 명령어를 실행하면 sudo 관련 설정이 나옵니다. 여기서 아래 구문을 추가하면 원하는 결과를 얻을 수 있습니다.
1
|
user1 ALL=(user2) NOPASSWD: /abc/def/run.sh
|
2. visudo에서 :wq 로 저장하고 닫습니다.
3. user1 계정으로 로그인 후 아래 명령어를 실행하면 user2 의 권한으로 /abc/def 의 run.sh 명령어를 실행하게 됩니다.
1
|
sudo -u user2 /abc/def/run.sh
|
------ 아래는 sudo 설정에 관한 참고자료 입니다.
접근권한 제어
1
|
<user_alias> <host_alias> = (<runas_alias>) <cmnd_alias>
|
User Alias
1
2
3
|
User_Alias <name> = < %LDAP GROUP> and/or < %SYSTEM GROUP > and/or < USER >
#예시
User_Alias ADMIN = %admin, %root, andrina
|
Host Alias
1
2
3
|
Host_Alias <name> = < MACHINE or *Pattern*>
#예시
Host_Alias SERVERS = 192.168.1.1, server*
|
Runas Alias
1
2
3
|
Runas_Alias <name> = < %GROUP>
#예시
MAILERS = %mailman, %postfix, cyrus
|
Cmnd Alias
1
2
3
4
5
|
Cmnd_Alias <name> = <full path to command/script>
#
Cmnd_Alias MAIL = /usr/bin/cyrus/tools/amsmailtool, /usr/bin/cyrus/tools/mkimap, \
/usr/sbin/postfix-watch, /usr/sbin/postfix, \
/usr/bin/cyrus/bin/ctl_cyrusdb
|
** sudo 이용시 환경변수가 달라서 문제가 발생하는 경우에 아래 내용을 참고하세요.
1
2
3
4
|
#PATH 환경변수 유지
Defaults env_keep=PATH
#PATH 특적사용자 환경변수 유지
Defaults:사용자 env_keep=PATH
|
반응형
'리눅스' 카테고리의 다른 글
tomcat 8 start script 탐캣 8 시작 스크립트 (0) | 2017.11.14 |
---|---|
엑셀 날짜 텍스트 변환 (0) | 2017.09.29 |
리눅스 /dev/random vs /dev/urandom (0) | 2017.09.23 |
리눅스 - 그룹 생성 (0) | 2017.09.12 |
리눅스 - 사용자 그룹 확인 (0) | 2017.08.22 |
리눅스 - iptables 순서 변경 (0) | 2017.07.14 |
리눅스 - iptables 번호로 정책 삭제하기 (0) | 2017.07.14 |
[리눅스] 사용자 홈 바꾸기 (0) | 2017.07.10 |