使用Saltstack管理用戶


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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章