4.4. IdM API 명령을 사용하여 sudo 규칙 관리
아래 예제에서는 IdM API 명령을 사용하여 sudo 규칙을 관리하는 방법에 대한 일반적인 시나리오를 보여줍니다.
IdM API 명령을 사용하여 sudo 규칙을 관리하는 예
- sudo 규칙 생성
이 예제에서는 시간 변경 명령을 포함하는 sudo 규칙을 만듭니다.
api.Command.sudorule_add("timechange")
- sudo 명령 생성
이 예제에서는
date
sudo 명령을 만듭니다.api.Command.sudocmd_add("/usr/bin/date")
- sudo 규칙에 sudo 명령 연결
이 예제에서는
date
sudo 명령을timechange
sudo 규칙에 연결합니다.api.Command.sudorule_add_allow_command("timechange", sudocmd="/usr/bin/date")
- sudo 명령 그룹 생성 및 연결
이 예제에서는 여러 sudo 명령을 만들고 새로 생성된
timecmds
sudo 명령 그룹에 추가한 후 그룹을timechange
sudo 규칙에 연결합니다.api.Command.sudocmd_add("/usr/bin/date") api.Command.sudocmd_add("/usr/bin/timedatectl") api.Command.sudocmd_add("/usr/sbin/hwclock") api.Command.sudocmdgroup_add("timecmds") api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/bin/date") api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/bin/timedatectl") api.Command.sudocmdgroup_add_member("timecmds", sudocmd="/usr/sbin/hwclock") api.Command.sudorule_add_allow_command("timechange", sudocmdgroup="timecmds")
- sudo 명령 거부
이 예제에서는
rm
명령이 sudo로 실행되도록 거부합니다.api.Command.sudocmd_add("/usr/bin/rm") api.Command.sudorule_add_deny_command("timechange", sudocmd="/usr/bin/rm")
- sudo 규칙에 사용자 추가
이 예제에서는 사용자
bob
을timechange
sudo 규칙에 추가합니다.api.Command.sudorule_add_user("timechange", user="bob")
- 지정된 호스트에서만 sudo 규칙을 사용할 수 있도록 설정
이 예에서는
client.ipa.test
호스트에서만 사용할 수 있도록시간 변경
규칙을 제한합니다.api.Command.sudorule_add_host("timechange", host="client.ipa.test")
- sudo 규칙을 다른 사용자로 실행하도록 설정
기본적으로 sudo 규칙은
root
로 실행됩니다. 이 예제에서는 대신alice
사용자로 실행할timechange
sudo 규칙을 설정합니다.api.Command.sudorule_add_runasuser("timechange", user="alice")
- sudo 규칙을 그룹으로 실행하도록 설정
이 예제에서는
sysadmins
그룹으로 실행되도록timechange
sudo 규칙을 설정합니다.api.Command.sudorule_add_runasgroup("timechange", group="sysadmins")
- sudo 규칙에 대한 sudo 옵션 설정
이 예제에서는
timechange
sudo 규칙에 대해 sudo 옵션을 설정합니다.api.Command.sudorule_add_option("timechange", ipasudoopt="logfile='/var/log/timechange_log'")
- sudo 규칙 활성화
이 예제에서는
timechange
sudo 규칙을 활성화합니다.api.Command.sudorule_enable("timechange")
- sudo 규칙 비활성화
이 예제에서는
timechange
sudo 규칙을 비활성화합니다.api.Command.sudorule_disable("timechange")