Developer have 2 account: edw_xtr,ts. They want to aovid input password when they switch account between edw_xtr and ts.
Procedure:
1. Download sudo software from below address and select the latest one.
http://www.courtesan.com/sudo/download.html
sudo-1.7.10-8.aix53.pam.rpm
2. Install sudo software.
bash-3.2# rpm -ivh sudo-1.7.10-8.aix53.pam.rpm
sudo ##################################################
bash-3.2#
3. vi /etc/sudoers and add below items.
edw_xtr ALL=(root) NOPASSWD:/bin/su - ts
ts ALL=(root) NOPASSWD:/bin/su - edw_xtr
4. Test
ts@suzdrprd007:>> sudo su - edw_xtr
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID edw_xtr.
You can set ORACLE_BASE manually if it is required.
edw_xtr@suzdrprd007:>> id
uid=1015(edw_xtr) gid=101(softdev) groups=1(staff)
edw_xtr@suzdrprd007:>>
edw_xtr@suzdrprd007:>> sudo su - ts
SIDS on this machine are: pic
ORACLE_BASE environment variable is not being set since this
information is not available for the current user ID ts.
You can set ORACLE_BASE manually if it is required.
ts@suzdrprd007:>> id
uid=1014(ts) gid=101(softdev) groups=1(staff)
ts@suzdrprd007:>>
#########
NOPASSWORD是不输入密码,如果没有这个,那么要输入自己的密码。还是要输入密码。 加上NOPASSWORD就不用输入密码了。
######################网上查找的资料###########
######################网上查找的资料###########
2. 真正的sudo entry
这个就是真正配置哪些用户可以使用哪些命令了(你甚至可以不使用别名设置那部分)。
格式为:用户名(用户别名) 主机名(主机别名)=[(运行用户或是Runas_Alias)可选] [tag可选] 可以执行的命令(或Cmmd_Alias) 这样描述语法很生硬,不易理解,举例子
user1 host1 = /bin/kill #user1 可以在host1上使用命令/bin/kill
user1 host1 = NOPASSWD: /bin/kill # user1可以在host1上使用命令/bin/kill 同时可以不必输入密码(这里就是使用了NOPASSWD
# 这个tag,默认是PASSWD)
user1 host1 = NOPASSWD: /bin/kill , PASSWORD: /bin/ls # user1 可以在host1上使用命令/bin/kill无需输入密码,但是使用/bin/ls则需要输入密码
user1 host1 = (opterator)/bin/kill #user1 可以在host1上使用命令/bin/kill但是必须是以operator用户运行这个命令,等价于
# su -u opertor /bin/kill
user1 host1 = (:group_name)/bin/kill # user1可以在host1上使用命令/bin/kill,且必须以group_name这个用户群组里面的用户来运行。
%group_name host1 = /bin/kill #所有group_name里面的用户都可以在host1上执行/bin/kill(linux中一般代表整个用户群组用
# %group_name)
xxx ALL=NOPASSWD: /bin/su