ubuntu下sudo命令不再输入密码

  ubuntu下普通用户是没有root权限,很多命令在使用时都需要使用命令sudo 'cmd',但系统需要user验证自己,即需要输入普通用户的密码。但普通用户是否有执行该cmd的权限,需要到系统文件/etc/sudoers进行匹配;如果user有该cmd的sudo权限,则可以执行该命令,但前提是需要验证自己;如果想让某user具有使用所有命令的权限,可以把该user或其所在的组加入到/etc/sudoers中,但需要执行命令:sudo visudo, 该命令会编辑/etc/sudoers。

  和VIM的操作方式相同,加入如下:

    client ALL=(ALL) ALL

    表示:用户client 可以在任何“主机”上以任何用户的“身份”执行任何“命令”;

    或%client ALL=(ALL) ALL

    表示:用户组client内的所有用户可以在任何“主机”上以任何用户的“身份”执行任何“命令”;

    如果只想用户client拥有使用root账户的权限,则:

    client ALL=(root) ALL

    或

    client ALL= ALL

注意:

(1) 默认的可执行权限即是root;

(2) 如果想普通用户在执行任何命令时都不需要密码,则:client ALL=(ALL) NOPASSWD: ALL它表示:用户client可以在任何“主机”上以任何用户的“身份”执行任何“命令”,但不需要验证自己;

(3)如果想普通用户只拥有某几个命令执行时不需要密码,其他命令可以执行但需要密码,则:

  client ALL=(ALL) ALL, NOPASSWD:/usr/bin/wireshark,/usr/sbin/tcpdump

  表示:除了tcpdump,wireshark使用sudo执行时不需要验证外,其他的全部命令都需要验证。

 

 

  操作如下:  

  在启动时进入安全模式,这时是用root登录的,执行:chmod 740 /etc/sudoers然后打开/etc/sudoers这个文件,把最后一行: %admin ALL=(ALL)  改为    %%admin ALL=(ALL) NOPASSWD: NOPASSWD: ALL  保存退出。 

  执行:chmod 0440 /etc/sudoers重启ubuntu,验证sudo `cmd`是否需要密码吧。

 

posted @ 2013-07-06 23:08  davidsky  阅读(2619)  评论(0编辑  收藏  举报