sodo 的字面意思理解应该是switch user excute a command as another user,用另一个用户的权限来执行命令。如同电视剧中,皇帝派心腹大臣调查贪官污吏,可是大臣并无皇帝的权利,到了某些时候要使用生杀予夺的权利时,就能够拿出皇帝御赐的上方宝剑来当表明皇帝来行使这些权利。css
sudo 与su 的区别
有些人很困惑那么已经有了su,若是要执行没有权限的命令时,能够直接切换用户完成操做,为何又要开发出这样一个命令呢。缘由就在于,使用su的时候必需要输入对应用户的密码,若是要使用的是root用户才有权限操做的命令,那么root用户就面临着密码泄露的危险,考虑到系统安全,因而就开发出更易使用和安全的sudo来了。shell
sudo 配置文件路径
/etc/sudoers
缓存
sudo 配置文件特殊编辑器
编辑sudo 有专有的命令visudo
,这个命令只容许单个用户进行编辑,而且能够进行语法检查。安全
sudo 配置文件的基本格式编辑器
who where=(run_as_who) run_commands
总结下来就是:
谁在哪台主机以谁的身份运行什么命令
sudo 配置的别名机制
sudo 的别名有三种,分别是:
用户别名、地址别名、Runas 别名,命令别名。
User_Alias TEST_USER =jack,rose //用户之间以分号隔开
Host_Alias TEST_HOST= ALL //所用地址均可以使用sudo
Runas_Alias TEST_Runas //用法和用户别名同样
Cmnd_Alias TEST_Cmnd /usr/sbin/useradd, /usr/bin/passwd //命令要写以为路径spa
默认状况下,第一次使用sudo命令的时候要求输入密码,可是第二次就不用输入了。sudo的密码可以缓存5分钟,五分钟之内使用是不须要输密码的,五分钟事后就要求再次输入密码。那么当咱们有事外出的时候,可使用sudo -k 命令让本身的密码失效,那么当再次使用的时候,就须要重输密码了。日志
若是不想每次使用的时候输入密码,那么能够添加NOPASSWD 选项:code
118 ## Here is sudo config
119
120 ## User_Alias
121 User_Alias USER_ALLOW=liangzi
122 Host_Alias HOST_ALLOW=192.168.75.188
123 Cmnd_Alias COMMAND_ALLOW=/usr/sbin/useradd
124
125 USER_ALLOW HOST_ALLOW=(root) NOPASSWD:COMMAND_ALLOW
sudo的命令执行日志信息放在cat /var/log/secure
文件内,能够按期的去查看一下,以避免执行恶意命令。utf-8