使用Saltstack管理用戶


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串並非一個好主意)

相關文章
相關標籤/搜索