shell apache mysql Android google 云计算 java 开源 wordpress Windows Python nginx centos Firefox Ubuntu 编程 程序员 linux php 微软

受权限的特权:sudo

 使用su命令提升权限已经让系统安全得多了,但root权限的不可分割让事情变得有些棘手,如果用户john想要运行某个特权命令。那他除了向管理员索取root口令外无别他法,仅仅为了一个特权操作而赋予用户控制系统的完整权限。这种做法听起来有些可笑,但这确实存在于某些不规范的管理环境中。

 最常见的解决方法是使用sudo程序,这个程序接受命令行作为参数,并以root身份来执行他,在执行命令前,sudo会首先要求用户输入自己的口令,口令只需要输入一次。处于安全的考虑,如果用户在一段时间内没有再次使用sudo,那么此后必须再次输入口令。这样的设置避免了特权用户不经意间将自己的终端留给了哪些并不受到欢迎的人。

 按照惯例,“#”开头的行是注释行。以root  all=all这句话为例,这配置指定root用户可以使用sudo机器上以任何用户身份执行的任何命令。最后一行用%admin替代了所有属于admin组的用户,在ubunutu中,安装时创建的那个用户会自动被加入到admin组。

 总体来说,sudoers,安装时创建的每一行权限说明包含了下面这些内容。

 该权限适用的用户;

 这一行配置在哪些主机上适用;

 该用户可以运行的命令

 该命令应该以哪个身份来执行。

 这段配置的开头两行的关键字分别定义了主机组和命令组。后面就可以用station替代主机web1,web2和databank。用dump替代命令,这种设置可以让配置文件更清晰。同时更容易维护。

 接下来的3航配置了用户的权限,第一行是关于用户的lewis的。lewis可以在atation组的计算机上执行任何命名。由于代表命令的all之前没有使用小括号,因此lewis将以root身份执行这些命令。

 

延伸阅读

    评论