Jeffrey’s Blog

赋予普通用户特殊权限

在Linux系统中,管理员往往不止一人,若每位管理员都用root身份进行管理工作,根本无法弄清楚谁该做什么。所以最好的方式是:管理员创建一些普通用户,分配一部分系统管理工作给他们。

我们不可以使用su让他们直接变成root,因为这些用户都必须知道root的密码,这种方法很不安全,而且也不符合我们的分工需 求。一般的做法是利用权限的设置,依工作性质分类,让特殊身份的用户成为同一个工作组,并设置工作组权限。例如:要wwwadm这位用户负责管理网站数 据,一般Apache Web Server的进程httpd的所有者是www,您可以设置用户wwwadm与www为同一工作组,并设置Apache默认存放网页目录 /usr/local/httpd/htdocs的工作组权限为可读、可写、可执行,这样属于此工作组的每位用户就可以进行网页的管理了。

但这并不是最好的解决办法,例如管理员想授予一个普通用户关机的权限,这时使用上述的办法就不是很理想。这时您也许会想,我只让 这个用户可以以root身份执行shutdown命令就行了。完全没错,可惜在通常的Linux系统中无法实现这一功能,不过已经有了工具可以实现这样的 功能——sudo。

sudo通过维护一个特权到用户名映射的数据库将特权分配给不同的用户,这些特权可由数据库中所列的一些不同的命令来识别。为了 获得某一特权项,有资格的用户只需简单地在命令行输入sudo与命令名之后,按照提示再次输入口令(用户自己的口令,不是root用户口令)。例如, sudo允许普通用户格式化磁盘,但是却没有赋予其他的root用户特权。

例子:管理员需要允许alpha用户在主机test上执行reboot,shutdown,useradd命令
编辑/etc/sudoers,添加

QUOTE:
alpha test=/usr/bin/reboot,/usr/bin/shutdown,/usr/sbin/useradd

此时alpha用户需要执行reboot就需要执行

QUOTE:
sudo reboot

如果想对一组用户进行定义,可以在组名前加上%,对其进行设置,如:

QUOTE:
%rd test=/usr/bin/reboot,/usr/bin/shutdown,/usr/sbin/useradd

允许alpha用户以超级用户访问所有应用程序.

QUOTE:
alpha ALL=(ALL) ALL

查看自己目前可以在sudo中执行哪些命令

QUOTE:
sudo -l

sudo参数说明

QUOTE:
-V 显示版本编号。
-h 显示sudo命令的使用参数。
-v 因为sudo在第一次执行时或是在N分钟内没有执行(N预设为5)会询问密码。这个参数是重新做一次确认,如果超过N分钟,也会问密码。
-k 将会强迫使用者在下一次执行sudo时询问密码(不论有没有超过N分钟)。
-b 将要执行的命令放在背景执行。
-p prompt 可以更改问密码的提示语,其中%u会替换为使用者的账号名称,%h会显示主机名称。
-u username/#uid 不加此参数,代表要以root的身份执行命令,而加了此参数,可以以username的身份执行命令(#uid为该username的UID)。
-s 执行环境变量中的 SHELL 所指定的 Shell ,或是 /etc/passwd 里所指定的 Shell。
-H 将环境变量中的HOME(宿主目录)指定为要变更身份的使用者的宿主目录。(如不加-u参数就是系统管理者root。)

 

# Last modified at: October 12th, 2006 04:45pm
给本文打分: 1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

转载本站文章请注明, 转载自:  Jeffrey’s Blog [http://blog.zhangjianfeng.com]
本文链接:  http://blog.zhangjianfeng.com/article/193
@ 阅读全文 | 2006/03/31 12:07am | Category: 系统管理 | 1,317 views   Print This Post  
收藏到网摘: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

3 Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

京ICP备06038449号