一、sudo基础应用

1、配置文件:/etc/sudoers

    adminlocalhost = (root) NOPASSWD:/usr/bin/useradd,/usr/bin/userdel

    admin      #用户名称

    localhost #主机名称

    root          #执行权限时的身份

    NOPASSWD     #在执行命令时不需要输入密码

    /usr/bin/useradd#可以执行的命令,多条密码       

2、修改方法

    1》使用visudo命令直接进入/etc/sudoers文件中。注意:在修改系统重要文件时需要先备份,进入文件后添加注释,然后修改文件内容。

    2》用vi/etc/sudoers修改,不推荐使用,在修改完毕后,该文件没有检查语法的作用。

二、sudo高级应用

linuxsudo支持alias,可以最大化的方便企业管理各个部门。

1 UserAliases

    原配置文件的中的英文

    ## These aren't oftennecessary, as you can use regular groups

    ## (ie, from files,LDAP, NIS, etc) in this file - just use %groupname

    ## rather thanUSERALIAS

    # User_Alias ADMINS =jsmith, mikem         #这是一个举例说明User_Alias的使用

    解释:这不是经常使用,当你可以使用有规律的组的时候,只需要在组前面加"%"

    注意:若使用useralias,user alias中的用户必须事先存在

2Host Aliases

    ## Groups of machines.You may prefer to use hostnames (perhaps using

    ## wildcards forentire domains) or IP addresses instead.

    # Host_Alias     FILESERVERS = fs1, fs2

    # Host_Alias     MAILSERVERS = smtp, smtp2

    解释:主机的组,你可以使用主机名称或者可以用主机ip代替

3Command Aliases

    ## These are groups ofrelated commands...

    解释:这些是和组有关的命令的集和

    在这句话的下面列出了一些工作命令的集合比如

    ## Installation and management of software

    # Cmnd_Alias SOFTWARE = /bin/rpm,/usr/bin/up2date, /usr/bin/yum

4、在实际中应该还有Runas_Aliasrunas_Alias是执行sudo命令是可与以怎样的角色执行

三、应用实例

    sudoers应用举例,/etc/sudoers中添加以下内容

    ############User_Alisaby feitian 2017-7-18###############

    User_Aliasfeitian= lala,hehe,haha, %jishu

    #注意:在用户别名的时候可以包含整个组的用户,例如上面的jishu

    ############User_Alisaby feitian 2017-7-18###############

     

    ############Host_Alisaby feitian 2017-7-18###############

    Host_Aliasrenli= loacal,hostname.

    注意:在生产环境中,使用ALL比较多,一般不使用主机别名。主机名一般不要设置成localhost,不然会造成一些不必要的麻烦,在文件/etc/sysconfig/network中修改

    ############Host_Alisaby feitian 2017-7-18###############

    ############Cmnd_Alisaby feitian 2017-7-18###############

    Cmnd_Aliascmd= /usr/bin/useradd,/usr/bin/userdel,/bin/rm,!/sbin/fdisk

    ############Cmnd_Alisaby feitian 2017-7-18###############

     

    feitian renli=(root)  NOPASSWDcmd

    解释:在别名为feitian的用户组中,他们可以使用sudo,在localhost和hostname主机上以root的身份执行用户添加和删除命令            

    在应用sudo高级应用的时候应当注意的事项

    1》sudo还可以禁止用户执行命令,但是从测试结果中可以得到命令的执行是从后往前,所以要将用户禁止执行的命令放在后边

    2》根据配置文件在远程指向sudo命令时要加 –t参数,并且要关闭sshhostname sudo <cmd>,这样会清楚的显示密码