快速业务通道

使用sudo来赋予普通用户root的权限

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-10

  常规来说,root的权限是不可随意分割的,很难既给某个用户完成一件任务的权力,比如说备份,而又不给这个人自由运行系统的权力.如果把root给多个人去使用,显然是个不安全的做法.

针对这个问题,现在广泛的采用SUDO的方式来解决.

所谓的SUDO就是以普通用户的身份登录到系统,当需要完成某项任务时(假设此任务普通用户无权使用),在管理员root的授权下来完成.呵呵,对了,有点像WINDOWS中的委派.一旦用户得到授权后就可以去做原本自己不能做的事情,从而帮助管理员管理,减轻管理员的负担.

执行sudo时,它会读取文件/etc/soduers,这个文件列出了授权使用sudo的人以及他们在每台主机上可以运行的命令.如果提供给sudo的命令允许运行,那么sudo就提示输入这个用户自己的口令并执行命令.在随后的5分钟内,再次使用sudo则不需输入口令.sudo没有定义好的日志文件,如果你要使用sudo的日志,你还得自己去配置一下.至于怎么去配咱们以后讨论.

如果你要配置sudo,建议你使用visudo来配置/etc/sudoers文件,它会检查是否有人在同时编辑修改此文件.以下是一个例子:

  

## Host Aliases<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> Host_Alias FILESERVERS = fs1, fs2
Host_Alias MAILSERVERS = smtp, smtp2
## Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tom,z3 FILESERVERS=ALL jerry MAILSERVERS=/usr/sbin/tcpdump:FILESERVERS=(L4)DUMP w5 ALL=(ALL)ALL,!SHELLS

  上面第一部分是用来定义主机的,如果不定义那么你就得在第三部分手动写入.第二部分是用来定义服务的,如果不定义那么你就得在第三部分手动写入.建议你使用这种别名的方式来定义你的“操作”,这样sudoers的可读性更强.

第三部分是关于权限的定义,也就是说谁可以用sudo干什么事情.其中格式如下:

  适用的用户 要注意的主机=(转换成谁的身份)可以使用什么命令

  如果没有定义括号中的内容,则表示只以root身份执行相应操作.!表示“除什么以外”.
   
  当普通用户,例如tom,登录到系统要执行本来没有权限执行的操作时,他可以键入如下命令: 

sudo su –

然后键入自己的密码就可以了.

Alias主要分成4
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
1) 配置Host_Alias:就是主机的列表
Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
2)
配置Cmnd_Alias:就是允许执行的命令的列表
Cmnd_Alias COMMAND_FLAG = command1, command2, command3
3)
配置User_Alias:就是具有sudo权限的用户的列表
User_Alias USER_FLAG = user1, user2, user3
4)
配置Runas_Alias:就是用户以什么身份执行(例如root,或者oracle)的列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5)
配置权限
配置权限的格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证的话,则按照这样的格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG


使用sudo的好处
1, 有日志可以提高安全审计的能力
2, 操作员不需要不受限制的root特权就能完成许多任务
3, 保证root密码的安全
4, 比使用su快
5, 不需要改变root密码就能收回某些权限
6, 只需维护sudoers就可维护用户的特权列表
7, 降低遗留root shell的概率
8, 可以使用单个文件来控制对整个网络的

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号