系统管理工具--sudo

sudo 是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt、reboot、su 等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。如果用户在系统中需要每天以root身份做一些日常工作,经常执行一些固定的几个只有root身份才能执行的命令,那么用sudo是非常适合的。

sudo不是对shell的一个代替,它是面向每个命令的。它的特性主要有这样几点:

● sudo能够限制用户只在某台主机上运行某些命令。

● sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。

● sudo使用时间戳文件来执行类似的"检票"系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票这个值可以在编译的时候改变),过了这个时间,用户所获得的权限将失效。

● sudo的配置文件是sudoers文件,它允许系统管理员集中管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0411。

sudo的主页为:http://www.sudo.ws/sudo/,当前最新的稳定版本为sudo 1.6.8p9。可以从该网站下载文件sudo-1.6.8p9.tar.gz后进行解压安装,如下步骤所示:

#tar xzvf sudo-1.6.8p9.tar.gz

#cd sudo-1.6.8p9

在笔者所使用的版本中,将该软件解压后即可使用,也不需要编译,直接进入sudo-1.6.8p9中使用sudo命令即可。如下所示:

#[root@localhost root]# su liyang

[liyang@localhost root]$ sudo reboot

Password:******

上述例子中,用户liyang使用sudo命令来行使root的权限,重新启动系统。因为通常情况下,一般用户并没有这个权限。系统提示输入该用户的密码加以确认。另外,为了达到该目的,还需要root用户修改一下上述的sudo的配置文件sudoers,将其中的相关选项改为如下内容:

# User privilege specification

root ALL=(ALL) ALL

liyang ALL=(ALL) ALL

这里,liyang用户具有和root同样的权限,当然在实际应用中不能这么做,而只能将部分权限赋给用户。


相关内容