workstation> ssh deployer@myserver
myserver> sudo apt-get install git
myserver> exit
workstation>
我试图弄清楚如何使用Ansible(version2.0.2.0和python 2.7.3)创建一个名为“deployer”的用户,并能够使用该id登录服务器,然后进行“apt-get install”之类的操作。我的剧本是这样的:
---
- hosts: example
become: yes
tasks:
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 3600
- group: name=sudo state=present
- name: Add deployer user and add it to sudo
user: name=deployer
state=present
createhome=yes
become: yes
become_method: "sudo"
- name: Set up authorized keys for the deployer user
authorized_key: user=deployer key="{{item}}"
with_file:
- /home/jaygodse/.ssh/id_rsa.pub
运行这个playbook后,我可以以“deployer”(例如ssh deployer@myserver)的身份ssh进入机器,但是如果我运行sudo命令,它总是要求我输入sudo密码。
我知道“部署者”用户最终必须找到进入visudo users文件的方式,但我无法确定要调用哪些神奇的Ansible咒语,以便我可以以html" target="_blank">部署者的身份ssh进入机器,然后运行一个sudo命令(例如sudo apt-get install git“),而不被提示输入sudo密码。
我已经搜索了很多,但我似乎找不到一个Ansible playbook片段,它将用户“部署者”放入sudo组而不需要密码。这是怎么做到的?
有时是知道该问什么。我不知道,因为我是一个开发人员谁承担了一些DevOps的工作。
显然,'passwordless'或NOPASSWD登录是一个需要放在/etc/sudoers文件中的东西。
我的问题的答案在Ansible:维护sudoers列表的最佳实践中。
- name: Make sure we have a 'wheel' group
group:
name: wheel
state: present
- name: Allow 'wheel' group to have passwordless sudo
lineinfile:
dest: /etc/sudoers
state: present
regexp: '^%wheel'
line: '%wheel ALL=(ALL) NOPASSWD: ALL'
validate: 'visudo -cf %s'
- name: Add sudoers users to wheel group
user:
name=deployer
groups=wheel
append=yes
state=present
createhome=yes
- name: Set up authorized keys for the deployer user
authorized_key: user=deployer key="{{item}}"
with_file:
- /home/railsdev/.ssh/id_rsa.pub
%wheel ALL=(ALL) NOPASSWD: ALL
问题内容: 我通过以下方式创建了具有最低权限的用户: 效果很好。如果要在我的项目中检查权限,请使用 arda arda 检出:http : _//arda-maps.org:2480_ 。 所以我的问题是这些权利仍然允许诸如 更改顶点名称之类的 事情(因此我将LOVES更改为LOVESd)。但是,这扼杀了整个数据库的结构和功能! 那么,如何才能进一步限制权利呢?这真的很糟糕,因为我想让任何人都可以
问题内容: 我想用不带sudo密码的用户sa1运行ansible: 第一次可以: 第二次失败: 请帮忙! 问题答案: 这不是您的服务器的配置。确保允许sudo的用户使用并且无需密码即可使用。 要登录到服务器 使用以下命令打开sudoers文件 确保您有这样的一行: 用您的用户替换 保存文件 您可以通过运行以下命令从服务器本身进行尝试: 如果这可行,那么它也应该可以正常运行。
连接MySQL操作 mysql -h 主机地址 -u 用户名 -p 用户密码 注:-u与root可以不用加空格,其它参数也一样。 DEMO 打开电脑CMD,输入 mysql -h 127.0.0.1 -u root -p 回车,然后输入密码。就可以连接到本地的MySQL数据库。 创建MySQL用户 CREATE USER 'username'@'host' IDENTIFIED BY 'passw
问题内容: 我正在尝试通过以下命令使用PHP在服务器上创建目录: 但是它不提供完全权限,仅提供以下权限: 问题答案: 该模式是由当前的修改,这是在这种情况下。 工作方式是减法。您获得的初始许可权,然后减去以获得 实际 许可权: 如果您不希望这种情况发生,则需要将您的临时设置为零,以使其无效。您可以使用以下代码段执行此操作: 第一行将更改为零,同时将前一个存储到中。第二行使目录使用所需的权限和(现在
创建目录权限 如果你想创建一个目录并授予777权限,你需要怎么做?查看Go的API文档我们可以这样写。 源文件为mkdir.go。 package main import ( "fmt" "os" ) func main() { err := os.MkdirAll("/tmp/gotest/", 0777) if err != nil { panic(er
我可以使用对实体具有权限的Spring SecurityACL,但我想知道如何测试用户是否具有对类的“创建”(第2位)权限。 比如: 有人能帮我吗? 提前谢谢