设为首页 收藏本站
查看: 1345|回复: 0

[经验分享] 使用Salt管理用户

[复制链接]

尚未签到

发表于 2015-11-26 13:04:19 | 显示全部楼层 |阅读模式
  转自:http://wiki.saltstack.cn/reproduction/managing_user_with_salt
  


使用Salt管理用户





  • 转载地址: http://pengyao.org/managing_user_with_salt.html

  • 英文原文出处: http://intothesaltmine.org/blog/html/2012/12/11/managing_users_with_salt.html

  • 译者: pengyao
  




目录



  • 使用Salt管理用户

    • user.present
    • user.absent
    • users.sls




使用Salt在多平台进行用户管理将变得非常简单。 user模块允许管理员管理(原文为present)账户各个方面和删除(absent)账户。本篇文章将描述user模块的各个组件,并将给出一个管理账户的state例子.





user.present




user.present: 确保指定的账户名存在,并指定其对应的属性. 这些属性包括如下内容:


name: 指定需要管理的账户名.


uid: 指定uid, 如果不设置将配自动分配下一个有效的uid.


gid: 指定默认的组id(group id)


gid_from_name: 如果设置为True,默认的组id将自动设置为和本用户同名的组id


groups: 分配给该用户的组列表(a list of groups). 如果组在minion上不存在,则本state会报错. 如果设置会空,将会删除本用户所属的除了默认组之外的其他组


optional_groups: 分配给用户的组列表。 如果组在minion上不存在,则state会忽略它.


home: 关于用户的家目录(home directory).


password: 设置用户hash之后的密码.


enforce_password: 当设置为False时,如果设置的password与用户原密码不同,将保持原密码不做更改.如果没有设置password选项,该选项将自动忽略掉.


shell: 指定用户的login shell。 默认将设置为系统默认shell。


unique: UID唯一,默认为True.


system: 从FIRST_SYSTEM_UIDLAST_SYSTEM_UID间选择一个随机的UID.


---


用户描述选项(GECOS)支持(当前只支持Linux和FreeBSD系统):


fullname: 指定用户全名(full name).


roomnumber: 指定用户的房间号.


workphone: 指定用户的工作电话号码.


homephone: 指定用户的家庭电话号码.





user.absent




  • 本部分为译者依据官方手册进行的补充,原文中并没有相关内容


user.absent用于删除用户.其有以下选项:


name: 指定需要删除的用户名.


purge: 设置清除用户的文件(家目录)


force: 如果用户当前已登录,则absent state会失败. 设置force选项为True时,就算用户当前处于登录状态也会删除本用户.


当管理用户时,至少需要指定user.presentuser.absent。 其他选项是可选的,比如uidgidhome等选项没有指定是,将自动使用下一个有效的或者系统默认的.





users.sls




下面将列出一个管理cedwards用户的state声明例子. 本state中定义了fullnameshellhomeuidgidgroups列:


cedwards:
  user.present:
    - fullname: Christer Edwards
    - password: '$6$JyhDBiOi5ZyvaDWm$.5QKIgCtYOLXpLDCc9HMJ8fnAq.c3enJ32BIWGcuKt/y2awHL3w2PlNLxJD9gHE/FtKkG348P8HArXGSkd5uC/'
    - shell: /usr/local/bin/bash
    - home: /home/cedwards
    - uid: 1001
    - gid: 1001
    - groups:
    - wheel

jdoe:
  user.absent


(尽管本例中指定的密码并不是我真实的密码,不过例子中出现的密码hash串并不是一个好主意)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-143902-1-1.html 上篇帖子: python&django开发与生产环境部署总结 下篇帖子: Saltstack自动化的学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表