我,计算机应用技术嵌入式方向出身,从事软件工程师工作,主要负责linux服务器维护,asterisk呼叫中心服务器维护,ERP和CRM系统开发,pbx系统开发,以及网站建设。 希望能交更多的朋友。
全部博文(29)
分类: LINUX
2011-01-14 18:56:59
由于su对切换到超级权限用户root后权限的无限制性,su并不适合多个管理员所管
理的系统,如果用su切换到超级用户来管理系统,也不能明确哪些工作是由管理员
进行的操作,特别是服务器有多人参与管理时,应该是针对每一个管理员的技术特
长和管理范围,有针对性地下放权限(特权),并且约定其使用那些工具来完成相
关工作,只是就要用到sudo,sudo的基本宗旨是赋予尽可能少的特权,单让然能使
人们完成他们的工作。
一,sudo的特点
1,sudo能够控制用户在指定主机上运行某些命令。
2,sudo可以提供日志文件,记录每个用户使用sudo做了什么,并且能将日志传到中
心主机或日志服务器。
3,sudo使用时间戳来完成类似“检票”的系统。当用户执行sudo并且输入密码后,
用户获取一张默认存活期为5分钟的“入场券”。超时以后,用户必须重新输入密码
。
4,sudo为系统管理员提供配置文件sudoers,允许系统管理员集中、灵活地管理用
户权限和使用的主机。
二,sudo配置文件/etc/sudoers
sudo执行命令的流程是将当前用户切换到root,也可以是其他指定切换到的用户,
然后以root身份执行命令,执行完成后,直接退回到当前用户。而这样做的前提是
要通过sudo的配置文件/etc/sudoers来授权,该文件最好是用其专用的visodu工具
进行编译。
从默认的配置文件中,可以看到唯一没有注释掉的行:
root ALL=(ALL)ALL
该行的作用是允许root用户,在任何主机上执行所有的命令,因此,要想使普
通用户能够以root用户执行所有命令的话,只要在该行下面加入一行:
user(普通用户) ALL=(ALL)ALL
注意:只有root用户才能查看和修改sudoers文件。
三,/etc/sudoers配置文件配置规制
1,#Host alias specification意为主机别名规则,可以看成是主机组。
用法:Host_Alias 主机别名=主机名1,主机名2,……
例如:Host_Alias LUPAH_C=lupa1,lupa2,192.168.1.0/24.
Host_Alias表示要定义一个主机名,LUPAH_C即主机别名,等号后是LUPAH_C主机组
的成员。
2,#user alias specification已为用户别名规则,可以看成是用户组(注意:跟
用户管理中的用户组有区别)。
用法 User_Alias 用户名=用户名1,用户名……
例如:User_Alias LUPAV_WEB=lupa1,lupa2……
User_Alias表示要定义一个用户别名,LUPAU_WEB即用户别名,等号后是LUPAU_WEB
用户组的成员。
3,#Cmnd alias specification已为命令别名规则,可以看成是命令组,即某些命
令的集合。
用法:Cmnd_Alias命令别名=命令1,命令2……
例如:Cmnd_Alias
LUPUAC_UM=/usr/sbin/useradd,/usr/sbin/userdel,/usr/bin/passwd.
Cmnd_Alias表示要定义一个命令的别名,LUPUAC_UM即为定义成的命令别名,等号后
是LUPAC_UM命令组的命令集。
4,/etc/sudoers配置文件的授权规则
配置文件中的主机别名、用户别名、命令别名定义好后,还需要授权才能生效。授
权规则是分配权限的执行规则,前面的定义别名主要是为更方便地授权应用别名。
授权规则如下。
授权用户 主机=命令动作
比如:“root ALL=(ALL)ALL”,其中root是授权用户,第一个ALL是指所有主机,等
号后是执行的命令动作,括号中的ALL表示可以切换到所有用户,最后一个ALL代
表所有命令。