虚拟化容器,大数据,DBA,中间件,监控。

ansible-user模块使用方法

28 12月
作者:admin|分类:系统运维

ansible-user模块使用方法  

应用

管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作。

参数

  • user:指定要操作的用户名称

  • uid:指定用户的uid

  • comment:指定用户的注释信息

  • expires:指定用户的的过期时间,相当于设置/etc/shadow文件中的第8列

  • shell:指定用户的默认shell

  • group:指定用户的基本组

  • groups:指定用户的附加组,新加时会覆盖原有的附加组,默认append=no

  • append:配合groups使用,在原有附加组的基础上追加组,append=yes

  • state present|absent:默认present,表示添加用户或需要用户存在;absent表示删除用户

  • remove:删除用户时,默认是不删除家目录,remove=no;remove=yes表示删除用户家目录

  • password:指定用户的密码,需要是加密后的字符串,相当于/etc/shadow文件中的第2列

  • update_password always|on_create:默认always

  • generate_ssh_key no|yes:默认为no;yes表示生成ssh密钥对,在用户家目录.ssh/目录中生成id_rsa的私钥和id_rsa.pub的公钥;若已存在同名的密钥,不会覆盖

  • ssh_key_file:前提是generate_ssh_key=yes,使用此参数生成ssh私钥的路径和名称,对应公钥会在同路径下生成,后缀名".pub"

  • ssh_key_comment:前提是generate_ssh_key=yes,使用此参数定义公钥中的注释信息,若已存在同名的密钥,不会覆盖;不指定时默认注释信息为"ansible-generated on 远程主机的主机名"

  • ssh_key_passphrase:前提是generate_ssh_key=yes,使用此参数设置私钥的密码,若已存在同名的密钥,不会覆盖

  • ssh_key_type:前提是generate_ssh_key=yes,使用此参数设置密钥对的类型,默认为rsa,若已存在同名的密钥,不会覆盖

示例

  1. 在所有服务器中创建test用户,若已存在,不进行任何操作

]# ansible all -m user -a 'name=test'

     

  1. 在所有服务器中删除test用户,但不删除此用户的家目录

]# ansible all -m user -a 'name=test state=absent'

     

  1. 在所有服务器中删除test用户,且删除此用户的家目录

]# ansible all -m user -a 'name=test state=absent remove=yes'

     

  1. 指定所有服务器中test用户的基本组为admin(需提前存在),不指定时默认与用户名一样

]# ansible all -m user -a 'name=test group=admin'

     

  1. 指定所有服务器中test用户的附加组为root和admin

]# ansible all -m user -a 'name=test groups=root,admin append=yes'

     

  1. 指定所有服务器中test用户过期时间是2020-05-20

]# date -d 2020-05-20 +%s #获取对应日期的unix时间戳
1589904000
]# ansible all -m user -a 'name=test expires=1589904000'

     

  1. 修改所有服务器中test用户的密码为'123455'

]# python
>>> import crypt
>>> crypt.crypt('123455')
'$6$B0zo/bCGaUmqFKx8$apGEf9i1Yd4/PE.bhL7P86T6FDir45jE5DQ54/'
>>> exit()


ansible all -m user -a 'name=test password="$6$B0zo/bCGaUmqFKx8$apGEf9i1Yd4/PE.bhL7P86T6FDir45jE5DQ54/"'

     

  1. 为所有服务器中test用户生成ssh密钥对,生成在/opt目录下,私钥名id_rsa_test,注释信息"test rsa",私钥密码123455

ansible all -m user -a 'name=test generate_ssh_key=yes ssh_key_file=/opt/id_rsa_test ssh_key_comment="test rsa" ssh_key_passphrase=123455'

       


浏览503 评论0
返回
目录
返回
首页
安装部署:手把手教你玩转 etcd 搭建 prometheus监控k8s