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

Logo

更多推荐