奔跑吧ansible笔记一(概述)

1、普通用户想使用sudo到root用户下执行一些有root权限的操作需要在被管理机器上做如下操作

1.切换到root用户下,怎么切换就不用说了吧,不会的自己百度去.

2.添加sudo文件的写权限,命令是:
chmod u+w /etc/sudoers

3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名)

ps:这里说下你可以sudoers添加下面四行中任意一条
youuser            ALL=(ALL)                ALL
%youuser           ALL=(ALL)                ALL
youuser            ALL=(ALL)                NOPASSWD: ALL
%youuser           ALL=(ALL)                NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:
chmod u-w /etc/sudoers

这样普通用户就可以使用sudo了

  

例子:

useradd wanstack
echo password | passwd --stdin wanstack

chmod u+w /etc/sudoers
vim /etc/sudoers
root    ALL=(ALL)       ALL  # 这一行是原来就有的
wanstack        ALL=(ALL)       ALL    # 这一行是你自己加的

chmod u-w /etc/sudoers

  

然后使用如下ansible命令即可

ansible   testserver -s  -a "tail /var/log/messages"

  

2、在使用-a参数是如果有空格等情况需要加上双引号或者引号,其中-s表示sudo到root用户下执行,因为普通用户没有权限重启httpd服务

ansible testserver -s  -m service -a 'name=httpd state=restarted'
或者双引号
ansible testserver -s  -m service -a "name=httpd state=restarted"

 

posted @ 2018-03-15 17:03  wanstack  阅读(485)  评论(1编辑  收藏  举报