sudo:
• 来自sudo包,man 5 sudoers
• sudo能够授权指定用户在指定主机上运行某些命令。如果未授权用户尝试使 用 sudo,会提示联系管理员
• sudo可以提供日志,记录每个用户使用sudo操作
• sudo为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权 限和使用的主机
• sudo使用时间戳文件来完成类似“检票”的系统,默认存活期为5分钟的“入 场券”
• 通过visudo命令编辑配置文件,具有语法检查功能
visudo -c 检查语法
visudo -f /etc/sudoers.d/test
配置文件:
/etc/sudoers, /etc/sudoers.d/
时间戳文件:
/var/db/sudo
日志文件:
/var/log/secure
配置文件支持使用通配符glob
? 任意单一字符
* 匹配任意长度字符
[wxc] 匹配其中一个字符
[!wxc] 除了这三个字符的其它字符
x 转义
[[alpha]] 字母 示例: /bin/ls [[alpha]]*
配置文件规则有两类
1、别名定义:不是必须的
2、授权规则:必须的
sudoers
授权规则格式:
用户 登入主机=(代表用户) 命令
user host=(runas) command
root密码大部分用户不知道,但一般用户可能要用到一些root的一些权限,/etc/sudoers文件,用来保存一些用户,使这些用户可以通过sudo命令来暂时获取root的权限。这些用户使用sudo时输入的密码是当前用户密码,而不是root密码。还可一在sudoers文件里限制一般用户的权限,这样就有了安全保证。
一、让alex用户获得sudo使用权
1、切换到超级用户root
$su root
2、修改配置文件
vim /etc/sudoers
3、在这行下面添加一行
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
alex ALL=(ALL) ALL
第一个ALL是指网络中的主机,它指明alex可以在此主机上执行后面的命令。
第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。
第三个ALL是命令名
sudo命令
切换身份
sudo –i –u alex
sudo [-u user] COMMAND
-V 显示版本信息等配置信息
-u user 默认为root
-l,ll 列出用户在主机上可用的和被禁止的命令
-v 再延长密码有效期限5分钟,更新时间戳
-k 清除时间戳(1970-01-01),下次需要重新输密码
-K 与-k类似,还要删除时间戳文件
-b 在后台执行指令
-p 改变询问密码的提示符号
示例:-p ”password on %h for user %p:”