Sudo(superuser do)官方版能够让系统管理员允许特定的用户,运行一些只有root权限的才能够运行的命令。
Sudo软件简介
su do(su“do”)允许系统管理员授予某些用户(或用户组)以根用户身份运行某些(或所有)命令的能力,同时记录所有命令和参数。Sudo基于每个命令操作,它不是shell的替代品。
Sudo软件特点
限制用户可以在每个主机上运行的命令的能力。
Sudo对每个命令都做了大量的日志记录,为谁做了什么提供了清晰的审计跟踪。当与系统日志守护程序syslogd一起使用时,sudo可以将所有命令记录到中央主机(以及本地主机)。在CU,所有管理员都使用sudo代替根shell来利用这个日志记录。
Sudo使用时间戳文件来实现“票务”系统。当用户调用sudo并输入其密码时,将为其授予5分钟的票证(此超时在编译时可配置)。随后的每个sudo命令都会将票证更新5分钟。这样就避免了留下根shell的问题,其他人可以在这里物理地访问您的键盘。还有一种简单的方法可以让用户删除他们的票证文件,这对于放置在.logout文件中很有用。
Sudo的配置文件sudoers文件的设置方式使得同一sudoers文件可以在许多计算机上使用。这允许集中管理,同时保持在每个主机上定义用户权限的灵活性。请参阅下面的示例sudoers文件,以获取真实的示例。
Sudo安装说明
Sudo使用“configure”脚本探测功能和类型关于这个系统。在这个版本中,“configure”需要很多比以前有更多的选择。请仔细阅读这份文件在配置和构建sudo之前。您也可以阅读文件INSTALL.configure,它解释了有关“configure”脚本的更多信息。
Sudo系统要求
要从源发行版构建sudo,您需要一个符合POSIX的操作系统(任何现代版本的BSD、Linux或Unix都可以工作),支持“long long”类型的ANSI/ISO C编译器,variadic宏(C99特性)以及ar、make和ranlib实用程序。
如果您希望修改解析器,那么您将需要flex版本2.5.2或更高版本,野牛或比亚克(sudo带有预生成的解析器)。您还必须使用--使用devel选项或将devel=1传递给make。
Sudo常见问题
Q) 当我运行configure时,它会说“C编译器无法创建可执行文件”。
A) 这通常意味着你要么没有一个有效的编译器。这个可能是由于缺少许可证或找不到编译器套件。检查config.log以获取线索为什么会这样。在许多系统上,编译器组件是活的在/usr/ccs/bin中,可能不在PATH环境变量中。
Q) 当我运行configure时,它会说“sudo需要‘ar’实用程序来构建”。
A) 作为构建过程的一部分,sudo创建一个包含在不同的sudo可执行文件之间共享的对象。
在Unix系统上,使用“ar”实用程序来执行此操作。这个错误表示系统中缺少“ar”。在Solaris系统上,您可能需要安装SUNWbtool包。在其他系统上“ar”可能包含在GNU binutils包中。
Sudo更新日志
Sudo再一次忽略了恢复RLIMIT_核心资源限制的失败,就像它在1.8.29之前所做的那样。Linux容器不允许RLIMIT_CORE设置回RLIM_INFINITY,如果我们将限制设置为零,甚至对于根,这会导致sudo发出警告。