五 权限之管理员授权

管理员做为特权用户,很容易误操作造成不必要的损失,再者都是root管理也怪累的,管理员也是人,也需要留点时间去约约会看看电影装装傻发发呆啥的不是……所以健康的管理方法是Linux服务架构好后,可授权普通用户协助完成日常管理,现在最流行的工具是Sudo ,几乎所有Linux都已缺省安装。

Sudo使用简单,管理员root使用visudo命令即可编辑其配置文件/etc/sudoers进行授权,具体格式为:

用户名/用户组名 主机地址=授权命令(绝对路径)

如,授权用户zhaoliu可以关机和重启,则添加如下行:

zhaoliu Helen=/sbin/shutdown,/sbin/reboot

指定组名用百分号标记,如%admgroup ,多个授权命令之间用逗号分隔。

用户zhaoliu可以使用sudo查看授权的命令列表:

sudo -l

Password:

User zhaoliu may run the following commands on this host:

(root) /sbin/shutdown

(root) /sbin/reboot

提示输入密码为zhaoliu的密码,验证其是否为管理员通过sudo授权的用户,执行命令:

sudo /sbin/shutdown -h now

zhaoliu即可关机,注意命令写绝对路径,或者把/sbin路径导入到用户缺省路径中,否则无法执行。

案例:授权用户管理Apache

授权一个用户管理你的Web服务器,不用自己插手是不是很爽,以后修改设置更新网页什么都不用管,一定Happy死了,LOOK——

首先要分析授权用户管理Apache至少要实现哪些基本授权:

1、可以使用Apache管理脚本

2、可以修改Apache配置文件

3、可以更新网页内容

假设Aapche管理脚本为/etc/rc.d/init.d/httpd ,满足条件一,用visudo进行授权:

zhaoliu Helen=/etc/rc.d/init.d/httpd reload,/etc/rc.d/init.d/httpd configtest

授权用户zhaoliu可以通过Apache管理脚本重新读取配置文件让更改的设置生效(reload)和可以检测Apache配置文件语法错误(configtest),但不允许其执行关闭(stop)、重启(restart)等操作。

满足条件二,同样使用visudo授权:

zhaoliu Helen=/bin/vi /etc/httpd/conf/httpd.conf

授权用户可以root身份使用vi编辑Apache配置文件。

以上两种sudo的设置,要特别注意,很多朋友使用sudo会犯两个错误:第一,授权命令没有细化到选项和参数;第二,认为只能授权管理员执行的命令。

条件三则比较简单,假设网页存放目录为/var/www/html ,则只需要授权zhaoliu对此目录具有写权限或者索性更改目录所有者为zhaoliu即可,如果需要还可以设置zhaoliu可以通过FTP等文件共享服务更新网页。

本文所有操作在Red Hat Enterprise Linux 5.4下完成,其他Linux基本无差异,本文基本涵盖Linux的所有权限管理方式,虽不细致但足以让读者对其有一个整体的了解。

最后请切记系统安全的基本原则:授权用户最小的权限。

蜘蛛侠说“能力越大责任越大”,Linux管理员说“能力越大出错几率越大”,阿门。

管理Linux文件权限和所有权

伦敦证交所的Linux之路:2009.2 - 2011.2

VNC远程管理Linux服务器安全指导


相关内容