如果一台计算机需要同时由几个人来管理,最好不要让他们都用root帐号。因为如果每个人都用一样的权限,很难确定是谁什么时间什么位置做了什么。sudo命令就是用来解决这个难题的。
sudo命令允许在/etc/sudoers配置文件中所定义的用户拥有临时的权限来运行一些在正常情况下根据文件访问权限他们不能运行的命令。这些命令可以以root用户或者其他在/etc/sudoers配置文件中所定义的用户所运行。
如果你想运行有特权的命令你必须在这个命令前加上sudo。当运行带有sudo作前缀的命令时,系统在执行该命令之前,会提醒你输入你的密码。在五分钟内你也可以运行其他有特权的命令而不需要输入密码。所有的以sudo执行的命令都会被记录在日志文件/var/log/messages中。
以下是几个运用sudo的简单的实例。
临时获得root用户权限
在这个例子中,用户bob试图浏览文件/etc/sudoers中的目录,而那是需要特权才能访问的。因为没有用sudo,该命令失败:
[bob@bigboy bob]$
more /etc/sudoers/etc/sudoers: Permission denied[bob@bigboy bob]$
这一次Bob用了sudo命令并且输入了他自己的密码,他成功了:
[bob@bigboy bob]$ sudo more /etc/sudoersPassword:......[bob@bigboy bob]$
完全以root用户登录
su命令允许一个般的用户转变成root用户,只要他知道root用户的密码。而一个用户以sudo权限运行su命令时也可以变成root用户,不过这时他们只需要知道他们自己的密码,而不是root用户的密码,就像你在这里看到的。
some
user@u-bigboy:~$ sudo su -Password:root@u-bigboy:~#
一些">系统管理员允许用sudo命令来获得root权限操作他们自己的帐户而不需要输入密码。
下载安装sudo命令包
很幸运在RedHat/Fedora中sudo命令包是被默认安装的,也就不需要再安装了。
visudo命令是一个模仿vi编辑器的文字编辑器,vi编辑器是用来编辑配置文件/etc/sudoers的。我们不建议你们其它文字编辑器来修改sudo参数,因为sudoers文件在不同版本的Linux有不有同的目录。visudo用的命令和vi编辑器一样,visudo命令毫无疑问必须以root用户运行:
[root@aqua tmp]# visudo