Ansible 批量创建用户 密码注意事项

user模块是请求的是useradd, userdel, usermod三个指令,goup模块请求的是groupadd, groupdel, groupmod 三个指令。

user模块

home:指定用户的家目录,需要与createhome配合使用

groups:指定用户的属组

uid:指定用的uid

password:指定用户的密码

name:指定用户名

createhome:是否创建家目录 yes|no

system:是否为系统用户

remove:当state=absent时,remove=yes则表示连同家目录一起删除,等价于userdel -r

state:是创建还是删除(present,absent) 

shell:指定用户的shell环境

generate_ssh_key:是否为相关用户生成SSH密钥。 这不会覆盖现有的SSH密钥。 

ssh_key_bits:可选择指定要创建的SSH密钥中的位数。

ssh_key_passphrase:设置SSH密钥的密码。 如果没有提供密码,SSH密钥将默认没有密码。 

ssh_key_file:指定SSH密钥文件名(可选)。 如果这是一个相对的文件名,那么它将是相对于用户的主目录。 

ssh_key_type:指定要生成的SSH密钥的类型(可选)。 可用的SSH密钥类型将取决于目标主机上的实现。

使用ansibile创建用户有两种方法

方法1:使用user 模块,更简单,命令如下:

[[email protected] ~]# ansible ansible_group -m user -a ‘name=test password=-18SyrVeFt/xU uid=1000 shell=/bin/bash home=/home/admin_group/test group=admin_group state=present‘ --sudo

验证创建的用户:

[[email protected] ~]# ansible online-web-asset -m raw -a ‘tail /etc/passwd|grep test‘

online-web-asset-3 | SUCCESS | rc=0 >>
test:x:1000:501::/home/admin_group/test:/bin/bash
Shared connection to 192.168.5.1 closed.

注意:passwd的值不能是明文,passwd关键字后面应该是密文,且密文将被保存在/etc/shadow文件中,密文的生成命令为:
[[email protected] ~]# openssl passwd -salt -1 "you passwd"

然后将生成的密文,如: 填写到ansible ansible_group -m user -a ‘name=username password= ’ 中的passwd关键字后面即可。

方法2:使用playbook

创建playbook文件 useradd.yml,内容如下:

[[email protected] ansible]# more useradd.yml 

---
- hosts: manage
  user: root
  sudo: no
  vars:
  tasks:
   - name: add user
     action: user name=username password=**********c  group=admin_group shell=/bin/bash home=/home/admin_group/username
  tags:
   - user

保存后执行如下命令运行playbook

#ansible-playbook useradd.yml即可

原文地址:http://blog.51cto.com/qiangsh/2146635

时间: 2024-10-10 05:04:46

Ansible 批量创建用户 密码注意事项的相关文章

批量创建用户密码

1.批量创建用户密码用 for user in  (创建的用户)>do > useradd $user >echo "密码"|passwd  -- stdin $user  >done 2.for 定义项目 in 内容1,内容2等 >do >再写入要操作的命令行echo "HELLO,$定义项目" >> /root/11111.txt,最后 >done执行完成退出.这样就能生成循环效果: 3.直接修改密码. 原文

ansible 批量创建用户

一.ansible安装 1.安装第三方epel源 centos 5的epel #rpm -ivh http://mirrors.sohu.com/fedora-epel/5/x86_64/epel-release-5-4.noarch.rpm centos 6的epel #rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm 查看系统版本 # cat /etc/issue CentOS

企业实战脚本案例2:批量创建用户并设置初始密码

批量创建用户并设置初始密码 目录: 1.脚本功能介绍 2.脚本制作技术需求 2.1 useradd命令 2.2 id命令 2.3 passwd命令 2.4 随机密码 2.5 while循环+case+select 3.脚本编写案例 一.脚本功能介绍 在企业中生产或运维中,经常会遇到VPN服务器.企业网盘.企业邮箱.云桌面私有账号等等一系列的服务器.当批量新员工入职时,经常需要批量账号分配给新员工,若此类账号存储在数据库时,管理员可根据公司账号命名规范通过专有图形化系统进行录入账号,若账号存储在系

Shell脚本批量创建用户并随机生成密码

要求:批量创建10个系统账号oldboy01-oldboy10,并设置生成密码(密码不同). 实现脚本: #!/bin/bash #Question3 for i in $(seq -w 10) do         useradd -s /bin/bash oldboy$i         echo "password$i" | md5sum | tee -a passwd.txt | passwd --stdin  oldboy$i done 脚本执行效果: [[email pro

linux实战考试题:批量创建用户和密码-看看你会么

linux实战考试题:批量创建用户和密码-看看你会么? 老男孩教育第五关实战考试题:批量创建10个用户stu01-stu10,并且设置随机8位密码,要求不能用shell的循环(例如:for,while等),只能用linux命令及管道实现. 方法1: # echo stu{01..10}|tr " " "\n"|sed -r 's#(.*)#useradd \1 ; pass=$((RANDOM+10000000)); echo "$pass"|p

使用Ansible的user模块批量修改用户密码

介绍两种法批量修改用户密码 方法一:1.这个方法适用于更改多个固定的用户:playbook写法如下: # cat play.yml --- - hosts: test gather_facts: false tasks: - name: change user passwd user: name={{ item.name }} password={{ item.chpass | password_hash('sha512') }} update_password=always with_item

linux 批量创建用户

user 模块添加用户 python -c 'from passlib.hash import sha512_crypt; import getpass; print (sha512_crypt.encrypt(getpass.getpass()))' #python3 生成密码 ansible all -m user -a "name=admin password=$Mf6OK/7vjBDxZbjo$6Nj10h0Oa1fEoULbObgVcVWMT1XwCBR home=/app/admin

Linux 下批量创建用户(shell 命令)

第一种方法: 用shell批量创建用户,分为2中:1,批量创建的用户名无规律 :2.批量创建的用户名有规律首先,来说下批量创建的用户名无规律的shell:先把需要批量创建的用户名用一个文本文档列出来,如下图的userlist文件再把与用户名匹配的密码用另一个个文本文档列出来,如下图的passwd文件 这两个文本文档内容,如下图所示: 下面是我编写的shell脚本.如下图所示 注意需要导入我们在userlist中写的用户名与passwd中写的与用户名匹配的密码项注:chpasswd命令#以root

windows批量创建用户

一.建立用户的命令行语法: 建立用户:net  user  用户名  密码  /add           (如:net user test 123 /add)  提升权限:net  localgroup 用户权限组 用户名 /add      (如:net localgroup administrator test /add)      删除用户:net  user  用户名 /del         (如:net user test /del) 二.批量创建的方法: 利用EXCEL软件,创建