外语类 | 雅思 托福 四级 六级 专四专八 | 学历类 | 成考 高考 自考 考研 | 工程类 | 监理 质量 结构 安全 | 一级建造师 二级建造师 | 考试论坛
医学类 | 护士 药师 医师 外贸类 报关员 | 职业类 | 保险 司法 证券 导游 | 会计类 | 初级 中级 高级 注会 | 会计证考试 公务员考试 | 计算机类
考试动态 | 报考指南 | 国际认证RHCE(红帽认证) | 红旗认证 | 第三方认证LPI | 其它认证 | 综合辅导 | 心得技巧 | 考试培训 | 考试论坛
考试中国—计算机频道网址:it.kswchina.com 这里有:计算机的各种等级和认证考试,一级,二级,三级,四级等多种等级认证的考试资料。
您现在的位置: 考试中国 >> 计算机 >> Linux认证 >> 综合辅导 >> 正文 考试网中国:www.kswchina.com
使用sudo来赋予普通用户root的权限
更新时间:2008-11-14  Linux认证考试  收藏此文  收藏"考试中国"

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

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

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

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

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

  

 
## Host Aliases
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, 可以使用单个文件来控制对整个网络的访问权限
        当然也有不足,比如说如果突破了能执行sudo命令的个人账户,就等同突破了root账户本身。
责任编辑:仰易
回全站首页      计算机考试专题--点击进入
相关文章
Linux下c++编程与kdevelop的环境配置
Linux下让Apache以指定的用户和组来运行
巧用WinHex找回消失的磁盘数据
小技巧帮你解决升级硬件导致系统崩溃
Windows7备份特性支持保存到网络
如何更好的管理一台服务器上的多个数据库
Windows7不会原生支持SLI/CrossFire
NvidiaDisplayDriverv177.82-Nvidia的Linux驱动
栏目推荐
微软认证真题
· 微软认证考试:70064Windows95考生回顾
· 微软的面试题及答案(超变态但很经典
· 微软认证考试:70064Windows95考生回顾
· 微软认证考试:70064Windows95考生回顾
· 微软认证考试:70064Windows95考生回顾
· [MCSE真题]正确配置IP地址以排错考题
Oracle认证真题
· 八、管理信息基本概念
· CCNA最新模拟考试题
· 网络管理员6道企业实战难题
· 思科Cisco认证最新真题50道:TCP/IP
· 关于Cisco路由协议题和答案(中文)
· Cisco试题库:ccna最新真题
Linux认证真题
· 使用sudo来赋予普通用户root的权限
· Linux下c++编程与kdevelop的环境配置
· Linux下让Apache以指定的用户和组来运
· Linux+Oracle 数据库系统启动能有多快
· ubuntu搬迁:从虚拟磁盘到真实的分区
· Linux禁止单用户模式(single)来增强系
JAVA认证真题
· JAVA题库:JAVA面试题目整理
· SCJP认证套题解析之二
· SCJP认证套题解析之一
· SCJP考试题310-025(第二套)
· SCJP考试题310-025(第二套<1>)18-147
· SCJP考试题310-025(第二套<3>)51-91/
网站简介 | 服务条款 | 汇款方式 | 广告合作 | 发布优势 | 招聘人才 | 隐私保护 | 合作伙伴 | 友情链接 | 网站导航 | 帮助中心 |
COPYRIGHT (C) 2003-2008 BEIJING KSWCHINA.COM INC ◎ 考试中国 ALL RIGHTS RESERVED.网站法律顾问:姚克枫律师
《中华人民共和国电信与信息服务业务》信息产业 京ICP备06046971号 技术支持:嘉瑞恒通(北京)科技有限公司。