Linux命令更新-用户和用户组管理


命令介绍

Linux系统中的用户和用户组管理是系统管理员日常工作的重要组成部分。通过对用户和用户组的合理管理,可以有效地控制系统资源的访问权限,保障系统安全。本文将详细介绍Linux系统中常用的用户和用户组管理命令,并通过实例进行说明。

1. 用户管理命令

1.1 创建用户
  • 命令: useradd

  • 语法:```
    useradd [选项] 用户名

    
    
  • 常用选项:```
      # 创建用户user1,并设置家目录为/home/user1,主组为users
      useradd -m -d /home/user1 -g users user1

    
    
    
  • 示例:

  • -m: 自动创建用户的家目录

  • -d: 指定用户的家目录

  • -g: 指定用户的主组

  • -G: 指定用户附加组

  • -s: 指定用户的登录shell

  • -u: 指定用户的UID

1.2 修改用户信息
  • 命令: usermod

  • 语法:```
    usermod [选项] 用户名

    
    
  • 常用选项:

  • 示例:```
     # 将用户user1的用户名改为user2
    usermod -l user2 user1

    
    
  • -u: 修改用户的UID

  • -g: 修改用户的主组

  • -G: 修改用户的附加组

  • -d: 修改用户的家目录

  • -s: 修改用户的登录shell

  • -l: 修改用户名

1.3 删除用户
  • 命令: userdel

  • 语法:

    userdel [选项] 用户名
    
    
  • 常用选项:

  • 示例:```
      # 删除用户user1及其家目录
     userdel -r user1

    
    
  • -r: 删除用户的同时删除其家目录

2. 用户组管理命令

2.1 创建用户组
  • 命令: groupadd

  • 语法:```
    groupadd 组名

    
    
  • 示例:```
    # 创建一个名为admins的用户组
    groupadd admins

    
    
    
2.2 修改用户组
  • 命令: groupmod

  • 语法:```
    groupmod [选项] 组名

    
    
  • 常用选项:

  • 示例:```
    # 将组名admins修改为administrators
    groupmod -n administrators admins

    
    
  • -n: 修改组名

2.3 删除用户组
  • 命令: groupdel

  • 语法:```
    groupdel 组名

    
    
  • 示例:```
    # 删除组administrators
    groupdel administrators

    
    
    

3. 用户和组的关联

  • 将用户添加到组:```
    usermod -G 组名 用户名

    
    
  • 查看用户所属组:```
    groups 用户名

    
    
    

4. 运维案例

4.1 创建一个新用户,并将其添加到wheel组(sudo组)
useradd -m -g users -G wheel user3
passwd user3

4.2 将用户user2从组admins中移除
usermod -G '' -G admins user2

4.3 删除一个不再使用的用户组
groupdel oldgroup

5. 其他相关命令

  • passwd: 修改用户密码

  • id: 显示用户和组的UID和GID

  • su: 切换用户

  • sudo: 以其他用户身份执行命令

Ansible Playbook创建用户并配置umask

1. Playbook结构

---
- name: Create users and set umask
  hosts: all
  become: yes

  tasks:
    - name: Create audit user
      user:
        name: audit_user
        group: audit_group
        createhome: yes
        comment: Audit user
        shell: /bin/bash
        uid: 1001
        gid: 1001

    - name: Create read-only user
      user:
        name: read_only_user
        group: read_only_group
        createhome: yes
        comment: Read-only user
        shell: /bin/bash
        uid: 1002
        gid: 1002

    - name: Create read-write user
      user:
        name: read_write_user
      group: read_write_group
      createhome: yes
      comment: Read-write user
      shell: /bin/bash
      uid: 1003
      gid: 1003

    - name: Set umask for all users
      lineinfile:
        path: /etc/profile
        regexp: 'umask'
        line: 'umask 024'
        insertafter: EOF

2. Playbook解释

  • hosts: all: 表示该Playbook作用于所有配置的主机。

  • become: yes: 以root权限执行任务。

  • user模块: 用于创建用户。

  • name: 用户名

  • group: 用户所属组

  • createhome: 创建用户家目录

  • comment: 用户注释

  • shell: 用户登录shell

  • uid: 用户ID

  • gid: 用户组ID

  • lineinfile模块: 用于修改/etc/profile文件,设置umask。

  • regexp: 匹配已有umask行

  • line: 新的umask设置

  • insertafter: 在文件末尾插入

3. 执行Playbook

  1. 保存上述内容为一个YAML文件,例如create_users.yml

  2. 执行Playbook:

ansible-playbook create_users.yml

4. Playbook功能

  • 创建三个用户: 分别是audit_user、read_only_user和read_write_user,并为每个用户创建同名组。

  • 设置umask: 将所有用户的umask设置为024,这意味着新创建的文件默认权限为644(-rw-r–r–),新创建的目录默认权限为755(drwxr-xr-x)。

5. 注意事项

  • umask设置位置: 将umask设置在/etc/profile文件中,确保所有登录用户都生效。

  • 用户组: 可以根据实际需求创建不同的用户组,并赋予不同的权限。

  • UID和GID: 可以自定义UID和GID,但要注意避免与系统用户冲突。

  • 其他配置: 可以根据需要在user模块中添加更多参数,例如home, password等。

  • 测试环境: 建议在测试环境中先运行Playbook,确保配置正确。

总结

本文详细介绍了Linux系统中常用的用户和用户组管理命令,并通过实例进行了说明。通过掌握这些命令,可以方便地管理系统用户和用户组,保障系统安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

私有运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值