Linux赋予普通用户特殊权限.doc
上传人:sy****28 上传时间:2024-09-14 格式:DOC 页数:4 大小:31KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

Linux赋予普通用户特殊权限.doc

Linux赋予普通用户特殊权限.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

Linux赋予普通用户特殊权限在Linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清楚谁该做什么。所以最好的方式是:管理员创建一些普通用户,分配一部分系统管理工作给他们。我们不可以使用su让他们直接变成root,因为这些用户都必须知道root的密码,这种方法很不HYPERLINK"http://security.chinaitlab.com/"安全,而且也不符合我们的分工需求。一般的做法是利用权限的设置,依工作性质分类,让特殊身份的用户成为同一个工作组,并设置工作组权限。例如:要wwwadm这位用户负责管理网站数据,一般ApacheWebServer的进程httpd的所有者是www,您可以设置用户wwwadm与www为同一工作组,并设置Apache默认存放网页目录/usr/local/httpd/htdocs的工作组权限为可读、可写、可执行,这样属于此工作组的每位用户就可以进行网页的管理了。但这并不是最好的解决办法,例如管理员想授予一个普通用户关机的权限,这时使用上述的办法就不是很理想。这时您也许会想,我只让这个用户可以以root身份执行shutdown命令就行了。完全没错,可惜在通常的Linux系统中无法实现这一功能,不过已经有了工具可以实现这样的功能——sudo。sudo通过维护一个特权到用户名映射的数据库将特权分配给不同的用户,这些特权可由数据库中所列的一些不同的命令来识别。为了获得某一特权项,有资格的用户只需简单地在命令行输入sudo与命令名之后,按照提示再次输入口令(用户自己的口令,不是root用户口令)。例如,sudo允许普通用户格式化磁盘,但是却没有赋予其他的root用户特权。1、sudo工具由文件/etc/sudoers进行配置,该文件包含所有可以访问sudo工具的用户列表并定义了他们的特权。一个典型的/etc/sudoers条目如下:代码:limingALL=(ALL)ALL这个条目使得用户liming作为超级用户访问所有应用程序,如用户liming需要作为超级用户运行命令,他只需简单地在命令前加上前缀sudo。因此,要以root用户的身份执行命令format,liming可以输入如下命令:代码:#sudo/usr/sbin/useraddsam注意:命令要写绝对路径,/usr/sbin默认不在普通用户的搜索路径中,或者加入此路径:PATH=$PATH:/usr/sbin;exportPATH。另外,不同系统命令的路径不尽相同,可以使用命令“whereis命令名”来查找其路径。这时会显示下面的输出结果:代码:WetrustyouhavereceivedtheusuallecturefromthelocalSystemAdministrator.Itusuallyboilsdowntothesetwothings:#1)Respecttheprivacyofothers.#2)Thinkbeforeyoutype.Password:如果liming正确地输入了口令,命令useradd将会以root用户身份执行。注意:配置文件/etc/sudoers必须使用命令Visudo来编辑。只要把相应的用户名、主机名和许可的命令列表以标准的格式加入到文件/etc/sudoers,并保存就可以生效,再看一个例子。2、例子:管理员需要允许gem用户在主机sun上执行reboot和shutdown命令,在/etc/sudoers中加入:代码:gemsun=/usr/sbin/reboot,/usr/sbin/shutdown注意:命令一定要使用绝对路径,以避免其他目录的同名命令被执行,从而造成HYPERLINK"http://security.chinaitlab.com/"安全隐患。然后保存退出,gem用户想执行reboot命令时,只要在提示符下运行下列命令:代码:$sudo/usr/sbin/reboot输入正确的密码,就可以重启HYPERLINK"http://server.chinaitlab.com/"服务器了。如果您想对一组用户进行定义,可以在组名前加上%,对其进行设置,如:代码:%cuugALL=(ALL)ALL3、另外,还可以利用别名来简化配置文件。别名类似组的概念,有用户别名、主机别名和命令别名。多个用户可以首先用一个别名来定义,然后在规定他们可以执行什么命令的时候使用别名就可以了,这个配置对所有用户都生效。主机别名和命令别名也是如此。注意使用前先要在/etc/sudoers中定义:User_Alias,Host_Alias,Cmnd_Alias项,在其后面加入相应的名称,也以逗号分隔开就可