Linux之sudo命令

作者: ifcoder | 来源:发表于2017-04-29 11:36 被阅读107次

    sudo命令用来以其他身份执行命令,预设身份是root。在/etc/sudoers中设置了可执行sudo命令的用户,未经授权的用户使用sudo的时候,系统会想管理员发邮件报警。用户使用sudo命令时要先输入密码,然后在五分钟内有效,超过五分钟后要重新输入密码。

    usage:sudo (选项) command

    选项:

    -b:在后台执行命令

    -h:显示帮助

    -H:将HOME环境变量设为新身份的HOME环境变量

     -k:结束密码的有效期限,也就是下次再执行sudo时便需要输入密码;

    -l:列出目前用户可执行与无法执行的指令;

     -p:改变询问密码的提示符号; 

    -s:执行指定的shell; 

    -u<用户>:以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份; 

    -v:延长密码有效期限5分钟; 

    -V :显示版本信息。

    关于sudo的配置文件在/etc/soduers,只有超级用户可以修改它,vim /etc/soduers或者visudo都可以。

    文件里的内容:

    1、Ai ALL=(ALL) ALL;第一个ALL代表网络中的主机,第二个ALL代表以何种身份执行,第三个代表可以执行的命令

    Ai用户在任何主机上可以以任何身份执行任何命令

    2、Ai localhost=          /sbin/ifconfig, /bin/ls

    Ai用户可以在当前主机上以预设身份执行ifconfig和ls命令

    3、Ai linux=(TO,KO) /bin/ls

    Ai用户可以在linux主机上以TO或KO的身份执行ls命令操作

    sudo -u TO ls /;sudo -u KO ls /

    我们可以不必每次加-u,把TO或KO设为默认的目标用户即可。再在上面加一行:

    Defaults:foobar runas_default=TO

    Defaults后面如果有冒号,是对后面用户的默认,如果没有,则是对所有用户的默认。就像配置文件中自带的一行:

    Defaults env_reset

    4、Ai localhost=NOPASSWD:       /bin/ls

    指定Ai用户在sudo ls的时候不用输入密码

    sudo还有记录日志的功能,但需要由管理员来开启:

    touch /var/log/sudo

    vi /etc/syslog.conf

    在syslog最后一行添加(必须用tab分割)并保存:

    local2.debug       /var/log/sudo

    重启日志守护进程:

    ps aux grep syslogd

    把得到的syslogd的pid填入下面:

    kill -HUP PID

    这样sudo就可以记录日志啦!

    相关文章

      网友评论

        本文标题:Linux之sudo命令

        本文链接:https://www.haomeiwen.com/subject/xcjzzttx.html