首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible & rbash

Ansible & rbash
EN

Server Fault用户
提问于 2016-04-11 08:23:09
回答 1查看 1.1K关注 0票数 1

我想用Ansible管理一堆运行/bin/rbash作为默认外壳的设备。

问题是Ansible总是尝试执行rbash根本不喜欢的命令列表:

代码语言:javascript
复制
umask 77 && mkdir -p \"` echo ./ansible-tmp-1460362654.19-62671997084808 `\" && echo \"` echo ./ansible-tmp-1460362654.19-62671997084808 `\"

有什么想法吗?我怎样才能避免这些命令?

为了澄清:我想改变shell的不可用的用途,而且只有一个用户可用。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-04-11 08:37:39

嗯。我想你可以用ansible's原始模块来解决这个问题。

记住,虽然rbash是一个受限的shell,但是完全有可能启动一个不受限制的子shell;它更多地是为了防止事故,而不是提供安全性。

所以这就是我要做的。我对此进行了测试,并确认它成功地更改了一个受限的shell。注意,它必须提示输入密码,因为chsh提示输入密码,如果没有根访问,这是不可避免的。

代码语言:javascript
复制
---
- hosts: all
  gather_facts: False
  remote_user: username
  tasks:
    - name: change shell
      raw: "bash -c 'chsh -s /bin/bash' <<< '{{chsh_password}}' "
  vars_prompt:
    - name: "chsh_password"
      prompt: "Password"
票数 8
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/769404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档