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

最新文章

  1. Java方法区和运行时常量池溢出问题分析
  2. [原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作
  3. python: 字符串按空格分成列表split与加密密码maketrans
  4. 切换view的动画
  5. BZOJ 2733 HNOI 2012 永无乡 平衡树启示式合并
  6. URI, URL, and URN
  7. 每天学点Linux:二
  8. 从C#到TypeScript - async await
  9. 使用telnet发送HTTP请求
  10. 使用Cordova打包Vue项目
  11. HTTP协议的六种请求方法
  12. 项目sql统计
  13. 总算知道怎样从ImageMagick生成的数据转换成HICON: MagickGetImageBlob & LookupIconIdFromDirectoryEx
  14. vim的基本用法
  15. Call to undefined function think\finfo_open()
  16. ReactiveX 学习笔记(16)RxPY
  17. 下载远程(第三方服务器)文件、图片,保存到本地(服务器)的方法、保存抓取远程文件、图片 将图片的二进制字节字符串在HTML页面以图片形式输出 asp.net 文件 操作方法
  18. ExtJs 通过分析源代码解决动态加载Controller的问题
  19. Mybatis 之动态代理
  20. Spring的泛型依赖注入

热门文章

  1. linux PHP 安装及 GD库安装
  2. Android访问WCF服务(使用json实现参数传递)
  3. squid.conf 的cache_peer 详解
  4. Linux下自动监测并重启Apache服务脚本
  5. http://blog.csdn.net/i_bruce/article/details/39555417
  6. Java程序猿修炼之道 之 Logging(3/3) - 怎么分析Log
  7. 转: WebView载入一个网页 但是退出对应的activity时, 声音、视频无法停止播放 解决方案(未验证)
  8. [Angular] ViewChild 'read' option
  9. hdu 4630 No Pain No Game(线段树+离线操作)
  10. 剑指offer——链表相关问题总结