Skip to content

第7章:用户与组管理

7.1 查看当前用户

whoami命令

  • 功能:显示当前登录用户的用户名
  • 示例:
    bash
    $ whoami
    user

id命令

  • 功能:显示当前用户的UID、GID以及所属的用户组
  • 示例:
    bash
    $ id
    uid=1000(user) gid=1000(user) groups=1000(user),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

w命令

  • 功能:显示当前登录的所有用户信息
  • 示例:
    bash
    $ w
    14:30:00 up 1 day,  2:15,  2 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    user     tty1                      12:15    2:15m  0.02s  0.02s -bash
    user     pts/0    192.168.1.100    14:25    0.00s  0.04s  0.00s w

7.2 切换用户

su命令

  • 功能:切换到其他用户
  • 格式:su [用户名]
  • 示例:
    • 切换到root用户:
      bash
      $ su
      Password:
    • 切换到普通用户:
      bash
      $ su user2
      Password:
  • 注意:切换到root用户需要输入root密码

sudo命令

  • 功能:以其他用户身份执行命令(默认以root身份)
  • 格式:sudo [命令]
  • 示例:
    bash
    $ sudo apt update
    [sudo] password for user:
  • 注意:使用sudo需要输入当前用户的密码,并且当前用户需要在sudoers文件中

sudo权限配置

  • 编辑sudoers文件:
    bash
    $ sudo visudo
  • 添加用户到sudo组:
    bash
    $ sudo usermod -aG sudo username

7.3 创建用户、删除用户

useradd命令

  • 功能:创建新用户
  • 常用选项:
    • -m:创建用户主目录
    • -s:指定用户的默认shell
    • -G:将用户添加到指定的用户组
  • 示例:
    bash
    $ sudo useradd -m -s /bin/bash user2

userdel命令

  • 功能:删除用户
  • 常用选项:
    • -r:同时删除用户主目录
  • 示例:
    bash
    $ sudo userdel -r user2

7.4 修改用户密码

passwd命令

  • 功能:修改用户密码
  • 格式:
    • 修改当前用户密码:passwd
    • 修改其他用户密码:sudo passwd 用户名
  • 示例:
    • 修改当前用户密码:
      bash
      $ passwd
      Changing password for user.
      Current password:
      New password:
      Retype new password:
    • 修改其他用户密码:
      bash
      $ sudo passwd user2
      New password:
      Retype new password:

密码安全

  • 密码长度至少8位
  • 包含大小写字母、数字和特殊字符
  • 定期更换密码
  • 避免使用常见密码

7.5 用户组管理

groupadd命令

  • 功能:创建新用户组
  • 示例:
    bash
    $ sudo groupadd group1

groupdel命令

  • 功能:删除用户组
  • 示例:
    bash
    $ sudo groupdel group1

usermod命令

  • 功能:修改用户属性
  • 常用选项:
    • -g:修改用户的主要组
    • -G:将用户添加到附加组
    • -d:修改用户主目录
    • -s:修改用户默认shell
  • 示例:
    • 将用户添加到附加组:
      bash
      $ sudo usermod -aG group1 user
    • 修改用户的主要组:
      bash
      $ sudo usermod -g group1 user

groups命令

  • 功能:显示用户所属的所有组
  • 示例:
    bash
    $ groups user
    user : user group1 sudo

7.6 实战:创建普通用户并分配sudo权限

步骤1:创建新用户

  1. 创建用户并设置主目录:

    bash
    $ sudo useradd -m -s /bin/bash newuser
  2. 设置用户密码:

    bash
    $ sudo passwd newuser
    New password:
    Retype new password:

步骤2:分配sudo权限

  1. 将用户添加到sudo组:

    bash
    $ sudo usermod -aG sudo newuser
  2. 验证sudo权限:

    bash
    $ su - newuser
    $ sudo apt update
    [sudo] password for newuser:

步骤3:测试用户切换

  1. 从root用户切换到普通用户:

    bash
    $ su - newuser
  2. 从普通用户切换到root用户:

    bash
    $ su
    Password:
  3. 使用sudo执行命令:

    bash
    $ sudo ls -la /root

步骤4:删除测试用户

  1. 退出测试用户:

    bash
    $ exit
  2. 删除测试用户及其主目录:

    bash
    $ sudo userdel -r newuser
  3. 验证用户是否删除成功:

    bash
    $ id newuser
    id: ‘newuser’: no such user

实战练习:用户与组管理

  1. 查看当前用户:

    bash
    $ whoami
    $ id
  2. 创建一个新用户:

    bash
    $ sudo useradd -m testuser
  3. 设置用户密码:

    bash
    $ sudo passwd testuser
  4. 创建一个新用户组:

    bash
    $ sudo groupadd testgroup
  5. 将用户添加到用户组:

    bash
    $ sudo usermod -aG testgroup testuser
  6. 查看用户所属的组:

    bash
    $ groups testuser
  7. 切换到新用户:

    bash
    $ su - testuser
    $ whoami
  8. 退出新用户:

    bash
    $ exit
  9. 删除用户和用户组:

    bash
    $ sudo userdel -r testuser
    $ sudo groupdel testgroup

通过学习用户与组管理,你将能够更好地管理Linux系统的用户和权限,提高系统的安全性和可管理性。

© 2026 编程马·菜鸟教程 版权所有