saltstack之用户管理
2024-09-07 02:28:20
1.添加用户
/srv/salt/top.sls
base:
'test82.salt.cn':
- user.useradd
/srv/salt/user/useradd.sls
jim:
user.present:
- fullname: jim
- shell: /bin/bash
- password: '$6$hyxchyxc$r2R3uQcnhIl8QSg7WrmojiJqRhD0s6KVYGvXZCswGwW9GDeLF4mhdQJ/Pq8ccWkdzkyYSpxnGqxciMJ53WPI//'
- home: /home/jim
- uid: 650
- gid: 650
- groups:
- jim
- root
- require:
- group: jim group.present:
- gid: 650
命令行执行如下命令完成用户创建
salt 'test82.salt.cn' state.highstate
或直接
salt 'test82.salt.cn' state.sls user.useradd
如何生成用户哈希密码?
方法1.可再命令行通过如下命令生产哈希密码
python -c "import crypt; print crypt.crypt('password', '\$6\$hyxchyxc')"
其中$6代表sha512
哈希类型支持如下几种:
Type Length
====== ======
$6 sha512 128
$5 sha384 96
$4 sha256 64
$3 sha224 56
$2 sha1 40
$1 md5 32
方法2.在命令行执行如下命令
salt 'salt82.test.cn' shadow.gen_password 'password' 默认为sha512
可通过如下设置相应
salt 'salt82.test.cn' shadow.gen_password 'password' crypt_salt'hyxchyxc' algorithm=sha512
2.批量创建用户
/srv/salt/user/usersadd.sls
{% set users = ['jim','hwg','hyxc'] %}
{% for user in users %}
{{ user }}:
user.present:
- shell: /bin/bash
- password: '$6$hyxchyxc$r2R3uQcnhIl8QSg7WrmojiJqRhD0s6KVYGvXZCswGwW9GDeLF4mhdQJ/Pq8ccWkdzkyYSpxnGqxciMJ53WPI//'
- gid: 650
- groups:
- jim
{% endfor %}
3.删除用户
/srv/salt/user/userdel.sls
jim:
user.absent:
- purge: Ture
- force: Ture
4.修改用户密码
显示用户密码信息
salt 'test82.salt.cn' shadow.info root
设置或更改用户密码
salt 'test82.salt.cn' shadow.set_password hwg '$6$hyxchyxc$r2R3uQcnhIl8QSg7WrmojiJqRhD0s6KVYGvXZCswGwW9GDeLF4mhdQJ/Pq8ccWkdzkyYSpxnGqxciMJ53WPI//'
删除用户密码,删除后可无密码登陆
salt 'test82.salt.cn' shadow.del_password hwg
5.查看用户信息
显示所有用户列表
salt 'test82.salt.cn' user.list_users
显示指定用户信息
salt 'test82.salt.cn' user.info root
显示用户密码信息
salt 'test82.salt.cn' shadow.info root
-------------------------------------------------------------------------------------------
相关用户管理内置执行命令参见:http://www.cnblogs.com/jim-hwg/p/4610521.html
相关用户组管理内置执行命令参见:http://www.cnblogs.com/jim-hwg/p/4610416.html
相关shadow管理内置执行命令参见:http://www.cnblogs.com/jim-hwg/p/4611157.html
最新文章
- Java方法区和运行时常量池溢出问题分析
- [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
- python: 字符串按空格分成列表split与加密密码maketrans
- 切换view的动画
- BZOJ 2733 HNOI 2012 永无乡 平衡树启示式合并
- URI, URL, and URN
- 每天学点Linux:二
- 从C#到TypeScript - async await
- 使用telnet发送HTTP请求
- 使用Cordova打包Vue项目
- HTTP协议的六种请求方法
- 项目sql统计
- 总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob &; LookupIconIdFromDirectoryEx
- vim的基本用法
- Call to undefined function think\finfo_open()
- ReactiveX 学习笔记(16)RxPY
- 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
- ExtJs 通过分析源代码解决动态加载Controller的问题
- Mybatis 之动态代理
- Spring的泛型依赖注入
热门文章
- linux PHP 安装及 GD库安装
- Android访问WCF服务(使用json实现参数传递)
- squid.conf 的cache_peer 详解
- Linux下自动监测并重启Apache服务脚本
- http://blog.csdn.net/i_bruce/article/details/39555417
- Java程序猿修炼之道 之 Logging(3/3) - 怎么分析Log
- 转: WebView载入一个网页 但是退出对应的activity时, 声音、视频无法停止播放 解决方案(未验证)
- [Angular] ViewChild 'read' option
- hdu 4630 No Pain No Game(线段树+离线操作)
- 剑指offer——链表相关问题总结