claranet.users
Ansible角色 - 用户
:star: 请在GitHub上给我们加星 - 这会给我们很大动力!
创建组和用户并设置用户的dotfiles。
:warning: 系统要求
Ansible >= 2.10
:zap: 安装
ansible-galaxy install claranet.users
:gear: 角色变量
用户
支持的用户属性包括name
、append
、shell
、createhome
、home
、password
、uid
、group
、groups
、update_password
、state
、remove
和comment
。
更多信息
变量 | 默认值 | 描述 |
---|---|---|
users | {} | 创建用户和组,并启用bashrc、ssh/config、vimrc和profile文件 |
请注意,我们需要使用chattr -a命令来管理.bash_history文件的组更改!
包
变量 | 默认值 | 描述 |
---|---|---|
users_packages | ["bash","bash-completion","vim","e2fsprogs"] | 用户所需的包列表 |
全局变量
变量 | 默认值 | 描述 |
---|---|---|
users_umask | 022 | 用户创建文件的默认umask |
users_lang | POSIX | 默认语言变量 |
users_editor | vim | 默认编辑器是vim |
users_ls_options | --color=auto | 默认的ls选项 |
Dotfiles
变量 | 默认值 | 描述 |
---|---|---|
users_default_bashrc | defaults/main.yml | 管理.bashrc文件内容 |
users_default_vimrc | defaults/main.yml | 管理.vimrc文件内容 |
users_default_profile | defaults/main.yml | 管理.profile文件内容 |
users_bashrc_histcontrol | ignoreboth | 设置HISTCONTROL变量 |
users_bashrc_histsize | 5000 | 设置HISTSIZE变量 |
users_bashrc_histfilesize | 20000 | 设置HISTFILESIZE变量 |
users_bashrc_histtimeformat | %d-%m-%y %T | 设置HISTTIMEFORMAT变量 |
users_bashrc_template | users/bashrc.j2 | 配置~/.bashrc |
users_ssh_config_template | users/ssh_config.j2 | 配置~/.ssh/config |
users_vimrc_template | users/vimrc.j2 | 配置~/.vimrc |
users_profile_template | users/profile.j2 | 配置~/.profile |
Dotfiles(bashrc、ssh/config、vimrc、profile)默认情况下未启用。 你需要在所需用户中明确指定它们。(见下面的示例)。
:arrows_counterclockwise: 依赖信息
:pencil2: 示例剧本
---
- hosts: all
become: true
become_user: root
roles:
- claranet.users
vars:
users:
root:
home: /root
group: wheel
password: "*"
authorized_keys: ["ssh-rsa xxx"]
bashrc:
- 'export PS1=''\[\033[01;31m\]\u\[\033[00m\]@$(hostname -f) \[\033[01;34m\]\w \$\[\033[00m\] '''
vimrc:
- "color desert"
profile: {}
ssh_config:
'mysrv*':
identityFile: /home/user/.ssh/user
ssh_keys:
id_rsa:
public: 'ssh-rsa '
private: "{{ lookup('community.hashi_vault.hashi_vault', 'secret/ssh:private_key') }}"
update_password: "on_create" # 默认是总是