Gih's Blog

只言片语

sudo只是方便,并不安全

2011-06-01 by gihnius, tagged as linux, unix

在我看来,sudo只有两个用处. 

  • 让普通用户获得管理员权限执行某些命令:
 user OR %group     ALL=NOPASSWD: /bin/cmd1 /usr/sbin/cmd2 ... 

通常,这种情况使用最多. 根据实际情况,适当开放一些用户管理,系统状态信息获取,硬件信息和设置等等一类方便管理维护的命令.

  • 让一个用户切换到另一个用户执行某些命令:
 user OR %group     ALL=(daemon_user) NOPASSWD: /etc/init.d/start_daemon1 ... 

这种情况一般是管理后台服务时用到,有些服务程序并不是在root用户下运行.比如httpd,可能运行在www用户下,这样,相应的管理员可以通过sudo -u www切换到www这个帐号,管理httpd的运行以及日志,数据的处理. 这样的确很方便! 但是,我们无法有效的对使用sudo的过程进行管制和审计. 在上面两点中,要分配就得"NOPASSWD", 要不就别分配相应的权限. 再看看sudo的其它配置.

  • timestamp_timeout=0

这个应该设置为0,不能让sudo缓存密码.

  • runaspw

这个也应该加上, 谁要切换到root或其它帐号,他就该知道root或者那个帐号的密码. 如果让用户使用自己的密码sudo,除非他对自己的密码安全负责!

  • Cmd_Alias/User_Alias

它们有用,但只用在sudo内部.

  • logfile

聊胜于无.

  • !

sudo里这个'!'的作用就是取非, 主要是试图禁止执行某些命令. 可用户要是把那些命令复制到别处或者重命名,它就没辙啦! 大致就这些了吧!