常规来说
![](/icons/42025dou.gif)
root
![](/icons/42025de.gif)
权限是不可随意分割
![](/icons/42025de.gif)
![](/icons/42025dou.gif)
所以很难既给某个用户完成
![](/icons/42025yi.gif)
件任务
![](/icons/42025de.gif)
权力
![](/icons/42025dou.gif)
比如说备份
![](/icons/42025dou.gif)
而又不给这个人自由运行系统
![](/icons/42025de.gif)
权力
![](/icons/42025dou2.gif)
如果把root给多个人去使用
![](/icons/42025dou.gif)
显然是个不安全
![](/icons/42025de.gif)
做法
针对这个问题
![](/icons/42025dou.gif)
现在广泛
![](/icons/42025de.gif)
采用SUDO
![](/icons/42025de.gif)
方式来解决
所谓
![](/icons/42025de.gif)
SUDO就是以普通用户
![](/icons/42025de.gif)
身份登录到系统
![](/icons/42025dou.gif)
当需要完成某项任务时(假设此任务普通用户无权使用)
![](/icons/42025dou.gif)
在管理员root
![](/icons/42025de.gif)
授权下来完成
![](/icons/42025dou2.gif)
呵呵
![](/icons/42025dou.gif)
对了
![](/icons/42025dou.gif)
有点像WINDOWS中
![](/icons/42025de.gif)
委派
![](/icons/42025dou2.gif)
![](/icons/42025yi.gif)
旦用户得到授权后就可以去做原本自己不能做
![](/icons/42025de.gif)
事情
![](/icons/42025dou.gif)
从而帮助管理员管理
![](/icons/42025dou.gif)
减轻管理员
![](/icons/42025de.gif)
负担
执行sudo时
![](/icons/42025dou.gif)
它会读取文件/etc/soduers,这个文件列出了授权使用sudo
![](/icons/42025de.gif)
人以及他们在每台主机上可以运行
![](/icons/42025de.gif)
命令
![](/icons/42025dou2.gif)
如果提供给sudo
![](/icons/42025de.gif)
命令允许运行
![](/icons/42025dou.gif)
那么sudo就提示输入这个用户自己
![](/icons/42025de.gif)
口令并执行命令
![](/icons/42025dou2.gif)
在随后
![](/icons/42025de.gif)
5分钟内
![](/icons/42025dou.gif)
再次使用sudo则不需输入口令
![](/icons/42025dou2.gif)
sudo没有定义好
![](/icons/42025de.gif)
日志文件
![](/icons/42025dou.gif)
所以如果你要使用sudo
![](/icons/42025de.gif)
日志
![](/icons/42025dou.gif)
你还得自己去配置
![](/icons/42025yi.gif)
下
![](/icons/42025dou2.gif)
至于如何去配咱们以后讨论
如果你要配置sudo
![](/icons/42025dou.gif)
建议你使用visudo来配置/etc/sudoers文件
![](/icons/42025dou.gif)
它会检查是否有人在同时编辑修改此文件
![](/icons/42025dou2.gif)
以下是
![](/icons/42025yi.gif)
个例子:
## Host Aliases
Host_Alias FILESERVERS = fs1, fs2
Host_Alias MAILSERVERS = smtp, smtp2
## Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/
![](/icons/42025if.gif)
config, /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
上面第
![](/icons/42025yi.gif)
部分是用来定义主机
![](/icons/42025de.gif)
![](/icons/42025dou.gif)
如果不定义那么你就得在第 3部分手动写入
![](/icons/42025dou2.gif)
第 2部分是用来定义服务
![](/icons/42025de.gif)
![](/icons/42025dou.gif)
如果不定义那么你就得在第 3部分手动写入
![](/icons/42025dou2.gif)
建议你使用这种别名
![](/icons/42025de.gif)
方式来定义你
![](/icons/42025de.gif)
“操作”
![](/icons/42025dou.gif)
这样sudoers
![](/icons/42025de.gif)
可读性更强
第 3部分是有关权限
![](/icons/42025de.gif)
定义
![](/icons/42025dou.gif)
也就是说谁可以用sudo干什么事情
![](/icons/42025dou2.gif)
其中格式如下:
适用
![](/icons/42025de.gif)
用户 要注意
![](/icons/42025de.gif)
主机=(转换成谁
![](/icons/42025de.gif)
身份)可以使用什么命令
如果没有定义括号中
![](/icons/42025de.gif)
内容
![](/icons/42025dou.gif)
则表示只以root身份执行相应操作
![](/icons/42025dou2.gif)
!表示“除什么以外”
当普通用户
![](/icons/42025dou.gif)
例如tom
![](/icons/42025dou.gif)
登录到系统要执行本来没有权限执行
![](/icons/42025de.gif)
操作时
![](/icons/42025dou.gif)
他可以键入如下命令:
sudo su –
然后键入自己
![](/icons/42025de.gif)
密码就可以了
Alias主要分成4种
Host_Alias
Cmnd_Alias
User_Alias
Runas_Alias
1) 配置Host_Alias:就是主机
![](/icons/42025de.gif)
列表
Host_Alias HOST_FLAG = hostname1, hostname2, hostname3
2) 配置Cmnd_Alias:就是允许执行
![](/icons/42025de.gif)
命令
![](/icons/42025de.gif)
列表
Cmnd_Alias COMMAND_FLAG = command1, command2, command3
3) 配置User_Alias:就是具有sudo权限
![](/icons/42025de.gif)
用户
![](/icons/42025de.gif)
列表
User_Alias USER_FLAG = user1, user2, user3
4) 配置Runas_Alias:就是用户以什么身份执行(例如root
![](/icons/42025dou.gif)
或者oracle)
![](/icons/42025de.gif)
列表
Runas_Alias RUNAS_FLAG = operator1, operator2, operator3
5) 配置权限
配置权限
![](/icons/42025de.gif)
格式如下:
USER_FLAG HOST_FLAG=(RUNAS_FLAG) COMMAND_FLAG
如果不需要密码验证
![](/icons/42025de.gif)
话
![](/icons/42025dou.gif)
则按照这样
![](/icons/42025de.gif)
格式来配置
USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD: COMMAND_FLAG
使用sudo
![](/icons/42025de.gif)
好处
1
![](/icons/42025dou.gif)
由于有日志可以提高安全审计
![](/icons/42025de.gif)
能力
2
![](/icons/42025dou.gif)
操作员不需要不受限制
![](/icons/42025de.gif)
root特权就能完成许多任务
3
![](/icons/42025dou.gif)
保证root密码
![](/icons/42025de.gif)
安全
4
![](/icons/42025dou.gif)
比使用su快
5
![](/icons/42025dou.gif)
不需要改变root密码就能收回某些权限
6
![](/icons/42025dou.gif)
只需维护sudoers就可维护所以用户
![](/icons/42025de.gif)
特权列表
7
![](/icons/42025dou.gif)
降低遗留root shell
![](/icons/42025de.gif)
概率
8
![](/icons/42025dou.gif)
可以使用单个文件来控制对整个网络
![](/icons/42025de.gif)
访问权限
当然也有不足
![](/icons/42025dou.gif)
比如说如果突破了能执行sudo命令
![](/icons/42025de.gif)
个人账户
![](/icons/42025dou.gif)
就等同突破了root账户本身
延伸阅读
最新评论