自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

告別手動操作!用 Ansible user 模塊高效管理 Linux 賬戶

網(wǎng)絡(luò) Linux
Ansible的user模塊為 Linux 服務(wù)器的用戶管理提供了強大的自動化能力,可以大幅提升運維效率并減少人為失誤。

在企業(yè)運維環(huán)境中,服務(wù)器的用戶管理是一項基礎(chǔ)但非常重要的任務(wù)。比如,當(dāng)有新員工加入時,我們需要在多臺服務(wù)器上為他們創(chuàng)建賬戶并分配合適的權(quán)限。而當(dāng)員工離職或崗位發(fā)生變化時,我們也需要迅速禁用或刪除他們的賬戶,以避免潛在的安全風(fēng)險。

如果采用手動方式來完成這些任務(wù),就需要在每臺服務(wù)器上逐一執(zhí)行一系列命令,比如 useradd、passwd 和 chage 等,這不僅耗時費力,還容易出現(xiàn)錯誤。幸運的是,Ansible提供了一個非常方便的 user 模塊,可以幫助我們高效地進行批量用戶管理,從而確保操作的安全性和一致性。

user模塊的核心功能

要了解user模塊的詳細(xì)用法,我們可以使用ansible-doc命令。只需運行以下命令即可查看相關(guān)信息:

ansible-doc -s user

成功執(zhí)行上述命令后,會展示如下圖的結(jié)果:

user模塊提供了許多實用的功能,主要包括以下幾點:

  • 創(chuàng)建或刪除用戶
  • 設(shè)置密碼
  • 指定用戶的UID、GID
  • 指定用戶所屬組
  • 創(chuàng)建home目錄
  • 設(shè)定 Shell
  • 設(shè)定SSH公鑰認(rèn)證

常用參數(shù)說明:

參數(shù)

作用

name

指定用戶名

state

present(創(chuàng)建用戶)或 absent(刪除用戶)


password

用戶密碼(需加密)

uid

指定用戶UID

group

指定用戶所屬組

groups

指定用戶附加的組

home

指定 home目錄路徑

shell

指定默認(rèn)Shell,如 /bin/bash

create_home

是否創(chuàng)建 home目錄(默認(rèn)yes)

remove

absent時是否刪除 home目錄

expires

指定密碼過期時間(時間戳格式)

實戰(zhàn)案例分析

案例 1:批量創(chuàng)建開發(fā)團隊賬戶

需求:為3名新入職開發(fā)人員創(chuàng)建賬戶,要求:

  • 創(chuàng)建主目錄/home/dev_username
  • 加入docker、git附加組
  • 禁止SSH密碼登錄
  • 設(shè)置初始密碼
- name:Createdeveloperaccounts
hosts:dev_servers
become:yes
vars:
    developers:
      -{name:'alice',uid:2001}
      -{name:'bob',   uid:2002}
      -{name:'charlie',uid:2003}

tasks:
    -name:Createdeveloperusers
      ansible.builtin.user:
        name:"{{ item.name }}"
        uid:"{{ item.uid }}"
        groups:docker,git
        append:yes
        shell:/bin/bash
        password:"$6$rounds=656000$SAlt1234$XH6X8L8Dz4tdj.7WZ2TvWUDO2w/lk5sABC1234ABCDefgHIJKLmnopqrSTUVWXYZ"
        generate_ssh_key:yes
        ssh_key_bits:4096
        create_home:yes
      loop:"{{ developers }}"

關(guān)鍵點說明:

  • 使用loop實現(xiàn)批量創(chuàng)建
  • password參數(shù)使用python中crypt生成的哈希密文
  • 自動生成4096位RSA密鑰對
  • 保持默認(rèn)主組,同時附加到docker和git組

通過執(zhí)行如下命令,即可批量創(chuàng)建用戶:

ansible-playbook Create_developer_accounts.yml

創(chuàng)建成功后可以看到如下圖的結(jié)果:

案例 2:為運維賬戶配置Sudo權(quán)限

創(chuàng)建opsadmin賬戶并授予免密sudo權(quán)限

- name:Configureopsadmin
hosts:dev_servers
become:yes
tasks:
    -name:Createopsuser
      ansible.builtin.user:
        name:opsadmin
        groups:wheel
        shell:/bin/bash
        comment:"Operations Administrator"
    
    -name:Configurepasswordlesssudo
      ansible.builtin.lineinfile:
        path:/etc/sudoers
        line:'opsadmin ALL=(ALL) NOPASSWD:ALL'
        validate:'visudo -cf %s'

validate: 'visudo -cf %s':

  • 在修改前使用 visudo -cf /etc/sudoers 進行語法檢查。
  • 防止 sudoers 文件寫錯,避免系統(tǒng)無法使用sudo。
ansible-playbook  Configure_ops_admin.yml

成功執(zhí)行上述命令后,您將會看到如下圖所示的結(jié)果:

案例3:安全刪除離職用戶

需求:安全移除已離職員工賬戶,刪除用戶但保留主目錄。

- name:Removedeprecatedusers
hosts:dev_servers
become:yes
vars:
    departed_users:['alice','bob']
tasks:
    -name:Removeuseraccounts
      ansible.builtin.user:
        name:"{{ item }}"
        state:absent
        remove:no# 不刪除主目錄
      loop:"{{ departed_users }}"

成功執(zhí)行下面的命令后,會把定義的用戶刪除,但是會保留刪除用戶的家目錄,如下圖所示:

ansible-playbook  Remove_deprecated_users.yml

案例 4:禁用用戶

需求:禁用 charlie賬戶,但不刪除,確保其 home 目錄仍然保留。

- name:禁用用戶
hosts:dev_servers
become:yes
tasks:
    -name:鎖定charlie賬戶
      ansible.builtin.user:
        name:charlie
        password_lock:yes

成功執(zhí)行如下命令會輸入如下圖的結(jié)果:

ansible-playbook lock_charlie.yml

總結(jié)

Ansible的user模塊為 Linux 服務(wù)器的用戶管理提供了強大的自動化能力,可以大幅提升運維效率并減少人為失誤。本文通過典型場景展示了以下關(guān)鍵功能:

  • 創(chuàng)建批量用戶并分配權(quán)限
  • 為運維賬號配置Sudo權(quán)限
  • 禁用用戶
  • 刪除用戶并保留 home目錄

通過這些案例,相信你已經(jīng)掌握了 user 模塊的基本用法,并能在實際工作中靈活應(yīng)用。希望這篇教程能幫助你更輕松地管理服務(wù)器用戶,提高運維自動化能力!

責(zé)任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2024-11-28 09:26:46

網(wǎng)絡(luò)網(wǎng)絡(luò)設(shè)備

2025-01-21 11:52:12

AnsiblePython自動化運維

2025-01-24 07:44:31

LinuxsystemdAnsible

2020-06-11 09:09:33

Ansible模塊Linux

2018-03-02 06:12:22

2009-06-16 09:09:59

LinuxWebminGUI

2025-01-20 13:30:00

Linux系統(tǒng)Ansible

2010-05-14 09:48:07

MySQL 5 on

2010-05-26 16:21:25

2025-03-27 10:17:00

LinuxBonding鏈路聚合

2024-11-01 10:30:05

2022-09-23 13:57:11

xxl-job任務(wù)調(diào)度中間件

2009-12-17 16:31:44

紅旗Linux軟件

2010-02-03 19:14:54

IT服務(wù)運維管理摩卡軟件

2010-01-26 19:42:03

IT服務(wù)運維管理摩卡軟件

2020-02-01 16:06:34

跳槽那些事兒網(wǎng)絡(luò)安全大數(shù)據(jù)

2024-11-15 13:15:36

2024-03-19 00:10:00

aiofilesPython開發(fā)

2025-01-15 12:25:23

自動化運維Ansible模塊

2021-06-14 09:41:45

蘋果macOS密碼管理器
點贊
收藏

51CTO技術(shù)棧公眾號