sudo的字面意思是代表super user do!对Linux系统管理员或高级用户而言,它是必不可少的最重要的命令之一。
你可曾有过这样的经历:在终端中试着运行某个命令,结果却遇到“拒绝访问”?怎么办?对了,这个就是你所需
要的命令!
一、OK!那么下面我将举一个简单的列子,看一下如何使用配置和使用sudo来管理我们的具体服务。
1.输入命令
chmod u+w /etc/sudoers
2.编辑/etc/sudoers文件,输入命令vim /etc/sudoers,进入编辑模式,找到这一 行:
root ALL=(ALL) ALL
在起下面添加"username ALL=(ALL) ALL" (username是你需要使用sudo的账号名称)
3.保存退出 wq!
4.撤销文件的写权限
chmod u-w /etc/sudoers
5.切换到你刚才配置的账号下面
如:su - lvsadmin
6.使用sudo进行提权操作
sudo service keepalived restart
二、通过以上配置,我们可以看出上面的配置不够优雅,安全性存在隐患,接下来我们看一下如何对sudo进行细粒
度管理。
比如我们想限制一下username的权利,不让他为所欲为。比如我们只想让他像root那样使用ls和ifconfig命令,我
们可以将sudoers的内容改成如下:
username localhost=/sbin/ifconfig,/bin/ls
免密码执行sudo列子:
username localhost=NOPASSWD:/bin/cat,/bin/ls
三、再来看一下sudoers配置各参数的意义
第一个ALL是指网络中的主机,可以改成具体主机名,它指明待添加的用户可以在此主机上执行后面的命令。第二
ALL是指目标用户,也就是以谁的身份去执行命令,最后一个ALL就是指具体的命令了。
四.日志与安全
sudo为安全考虑得很周到,不仅可以记录日志,还能在有必要时向系统管理员报告。但是,sudo的日志功能不是自
动的,必须由管理员开启,具体步骤如下:
1.创建日子文件
#touch /var/log/sudo
2.配置日志输出路径
#vi /etc/syslog.conf添加内容如下:
local2.debug/var/log/sudo
3.重启syslog进程生效配置
ps - aux|grep syslogd
kill–hup PID
五、在使用sudo提权后命令太长又不符合用户的习惯,那么我们可以为它指定一个别名
alias goconfig=‘cd /usr/X11/lib/X11’
解除别名:
unalias goconfig