Linux系统常用用户管理命令介绍

2025/3/11
本文详细介绍了Linux系统中众多常用的用户管理命令及其用途,包括添加、设置密码、修改属性、删除用户等各类操作,涵盖了用户管理的大部分常见场景。
Linux用户管理命令操作界面截图,各用户管理命令的代码示例展示图

在 Linux 系统中,用户管理是系统管理员的重要任务之一。以下是一些常用的用户管理命令及其用途:

1. 添加用户

  • useradd: 添加新用户。

    sudo useradd username
    

    常用选项:

    • -m: 创建用户的主目录。
    • -s /bin/bash: 指定用户的默认 shell。
    • -u: 指定用户的 UID。
    • -g: 指定用户的主组。
    • -G: 指定用户的附加组。

    示例:

    sudo useradd -m -s /bin/bash -u 1001 -g users -G sudo username
    

2. 设置用户密码

  • passwd: 设置或更改用户密码。
    sudo passwd username
    

3. 修改用户属性

  • usermod: 修改用户属性。
    sudo usermod -s /bin/zsh username  # 更改用户的默认 shell
    sudo usermod -aG groupname username  # 将用户添加到附加组
    

4. 删除用户

  • userdel: 删除用户。

    sudo userdel username
    

    常用选项:

    • -r: 删除用户的主目录和邮件文件。

    示例:

    sudo userdel -r username
    

5. 查看用户信息

  • id: 显示用户的 UID、GID 和所属组。

    id username
    
  • whoami: 显示当前登录用户的用户名。

    whoami
    
  • finger: 显示用户的详细信息(需要安装 finger 包)。

    finger username
    

6. 切换用户

  • su: 切换用户。

    su username
    

    常用选项:

    • -: 切换用户并加载环境变量。

    示例:

    su - username
    
  • sudo: 以超级用户权限执行命令。

    sudo command
    

7. 管理用户组

  • groupadd: 添加新组。

    sudo groupadd groupname
    
  • groupmod: 修改组属性。

    sudo groupmod -n newgroupname oldgroupname  # 修改组名
    
  • groupdel: 删除组。

    sudo groupdel groupname
    
  • gpasswd: 管理组成员。

    sudo gpasswd -a username groupname  # 将用户添加到组
    sudo gpasswd -d username groupname  # 将用户从组中移除
    

8. 查看登录用户

  • who: 显示当前登录的用户。

    who
    
  • w: 显示当前登录的用户及其活动。

    w
    

9. 锁定和解锁用户

  • passwd: 锁定或解锁用户账户。
    sudo passwd -l username  # 锁定用户
    sudo passwd -u username  # 解锁用户
    

10. 查看用户登录历史

  • last: 显示用户登录历史。
    last username
    

11. 修改用户主目录

  • usermod: 修改用户的主目录。
    sudo usermod -d /new/home/directory username
    

12. 修改用户 UID 和 GID

  • usermod: 修改用户的 UID 和 GID。
    sudo usermod -u newUID username
    sudo usermod -g newGID username
    

13. 查看用户所属组

  • groups: 显示用户所属的组。
    groups username
    

14. 查看系统用户

  • cat /etc/passwd: 查看系统所有用户。

    cat /etc/passwd
    
  • cat /etc/group: 查看系统所有组。

    cat /etc/group
    

15. 设置用户过期时间

  • usermod: 设置用户账户的过期时间。
    sudo usermod -e YYYY-MM-DD username
    

16. 查看用户密码过期信息

  • chage: 查看或修改用户密码过期信息。
    sudo chage -l username
    

17. 批量添加用户

  • newusers: 批量添加用户。
    sudo newusers users.txt
    
    其中 users.txt 文件包含用户信息,格式如下:
    username1:x:1001:1001:User One,,,:/home/username1:/bin/bash
    username2:x:1002:1002:User Two,,,:/home/username2:/bin/bash
    

18. 批量修改用户密码

  • chpasswd: 批量修改用户密码。
    echo "username1:newpassword1" | sudo chpasswd
    echo "username2:newpassword2" | sudo chpasswd
    

19. 查看用户登录 shell

  • chsh: 更改用户的登录 shell。
    sudo chsh -s /bin/zsh username
    

20. 查看用户登录失败记录

  • faillog: 查看用户登录失败记录。
    sudo faillog -u username
    

这些命令涵盖了 Linux 系统中用户管理的大部分常见操作。根据具体需求,可以选择合适的命令来管理用户和组。

标签:Linux
上次更新:

相关文章

<处理关联数据的最佳实践:Article 与 Tags 的关系 | 开发指南>

<本文详细介绍了在开发中处理关联数据(如 Article 和 Tags 的多对多关系)的最佳实践,包括拆分业务逻辑、使用事务保证数据一致性、合理设计关联表结构、批量操作、幂等性和乐观锁等关键要点,并提供了基于 mysql2 和 Sequelize 的代码示例。>

·后端开发

MySQL外键约束详解:维护数据一致性与完整性

本文详细介绍了MySQL中的外键约束(Foreign Key Constraint),包括其基本概念、创建方法、作用、级联操作、限制、修改与删除方法、查看方式以及最佳实践。通过合理使用外键约束,可以有效管理数据库中的数据关系,确保数据的准确性和可靠性。

·后端开发

MySQL JSON数据类型支持与使用指南 | 详细解析与示例

本文详细解析了MySQL从5.7版本开始支持的JSON数据类型,包括版本支持、创建JSON字段、插入与查询JSON数据、修改JSON数据、生成JSON、索引优化、性能与应用场景、注意事项及示例全流程。

·后端开发

SQL JOIN、LEFT JOIN 和 RIGHT JOIN 的区别与应用场景详解

本文详细介绍了 SQL 中 JOIN、LEFT JOIN 和 RIGHT JOIN 的区别,包括它们的作用、语法、示例以及实际应用场景,帮助读者更好地理解和使用这些连接方式。

·后端开发

配置 Redis 服务器在系统启动时自动启动的完整指南

本文详细介绍了如何在不同 Linux 发行版中配置 Redis 服务器以在系统启动时自动启动,包括使用 Systemd 和 init.d 脚本的步骤。

·DevOps

PM2 v5 到 v6 升级指南:核心变化与注意事项

本文详细介绍了 PM2 从 v5 升级到 v6 的主要破坏性变更、新增功能、性能优化以及升级步骤和注意事项,帮助开发者顺利完成升级。

·后端开发

生成Ed25519密钥对并配置SSH快捷登录的完整指南

本文详细介绍了如何生成Ed25519密钥对、上传公钥到服务器、配置SSH安全设置、设置本地SSH别名快捷登录,并提供故障排查和安全建议。

·DevOps

HTTP/3 详细解析:基于 QUIC 协议的性能与安全提升

HTTP/3 是 HTTP 协议的第三个主要版本,基于 QUIC 协议,旨在解决 HTTP/2 和 HTTP/1.x 中的性能和安全问题。本文详细解析了 HTTP/3 的核心特性、优势、挑战、应用场景以及如何启用 HTTP/3。

·全栈开发

Strapi v5 用户权限控制:如何限制用户只能查询自己发布的内容

本文详细介绍了在 Strapi v5 中如何通过权限控制和 API 过滤,确保用户只能查询自己发布的内容。提供了多种实现方法,包括使用 API 过滤、创建 Policy、修改 Controller 以及利用生命周期事件自动过滤。

·后端开发

Strapi 用户权限策略与自定义路由实现指南

本文详细介绍了如何在Strapi中创建自定义策略和路由,以增强用户权限管理。包括通过创建strapi-server.js文件来修改现有路由,以及通过创建新的API来实现自定义用户查找功能。

·后端开发