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

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

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-7-6 11:32:53 | 显示全部楼层 |阅读模式

    原文出处: http://intothesaltmine.org/blog/ ... sers_with_salt.html
    译者: pengyao

使用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_UID和LAST_SYSTEM_UID间选择一个随机的UID.

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

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

roomnumber: 指定用户的房间号.

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

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

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

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

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

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

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

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

下面将列出一个管理cedwards用户的state声明例子. 本state中定义了fullname、shell、home、uid、gid和groups列:

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-21670-1-1.html 上篇帖子: 在SaltStack中使用Pillar 下篇帖子: 在SaltStack中如何使用require及watch语法 用户
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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