user.presentshell
user.absentbash
users.slside
使用Salt在多平臺進行用戶管理將變得很是簡單。 user模塊容許管理員管理(原文爲present)帳戶各個方面和刪除(absent)帳戶。本篇文章將描述user模塊的各個組件,並將給出一個管理帳戶的state例子.ui
user.presenthash
user.present: 確保指定的帳戶名存在,並指定其對應的屬性. 這些屬性包括以下內容:it
name: 指定須要管理的帳戶名.io
uid: 指定uid, 若是不設置將配自動分配下一個有效的uid.class
gid: 指定默認的組id(group id)登錄
gid_from_name: 若是設置爲_True_,默認的組id將自動設置爲和本用戶同名的組idnio
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串並非一個好主意)