Linux 用户管理指南

文章目录


在 Linux 系统中,用户管理是系统管理的核心任务之一。通过用户管理命令,系统管理员可以创建、删除、修改用户账户,以及管理用户组权限。本文将详细介绍常用的 Linux 用户管理命令,并结合示例进行说明。

用户管理基础

Linux 是一个多用户、多任务的操作系统,每个用户都有唯一的用户标识(UID)和用户组标识(GID)。系统使用这些标识来控制访问权限。管理用户通常通过以下命令完成:

  • useradd:创建新用户
  • passwd:设置或修改用户密码
  • usermod:修改用户信息
  • userdel:删除用户
  • groupadd:创建新用户组
  • groupmod:修改用户组
  • groupdel:删除用户组

useradd:添加用户

useradd 命令用于创建新用户。其基本语法为:

bash 复制代码
useradd [选项] 用户名

常用选项包括:

  • -d:指定用户主目录。如果不指定,默认会创建 /home/用户名 目录。
  • -m:自动创建用户的主目录。
  • -s:指定用户的默认 shell。
  • -g:指定用户的主组。
  • -G:指定用户的附加组。

示例1:创建用户并自动生成主目录

bash 复制代码
useradd -m -d /home/zhangsan -s /bin/bash zhangsan

此命令会创建一个名为 zhangsan 的用户,主目录为 /home/zhangsan,默认的 shell 为 Bash。

示例2:创建用户并指定用户组

bash 复制代码
useradd -m -G sudo zhangsan

此命令会将 zhangsan 用户添加到 sudo 组,从而赋予其超级用户权限。

passwd:设置或修改用户密码

passwd 命令用于设置用户密码。使用方法为:

bash 复制代码
passwd 用户名

示例:为 zhangsan 设置密码

bash 复制代码
passwd zhangsan

此命令将提示输入新密码并进行确认。

usermod:修改用户信息

usermod 命令用于修改用户账户的属性。常用选项有:

  • -l:修改用户名。
  • -d:修改用户的主目录。
  • -s:修改用户的默认 shell。
  • -g:修改用户的主组。
  • -G:修改用户的附加组。

示例:将 zhangsan 用户的主目录改为 /home/new_zhangsan

bash 复制代码
usermod -d /home/new_zhangsan -m zhangsan

此命令将自动移动原主目录的内容到新目录中。

userdel:删除用户

userdel 命令用于删除用户账户。使用 -r 选项可以同时删除用户的主目录。

示例:删除用户 zhangsan 及其主目录

bash 复制代码
userdel -r zhangsan

groupadd:创建用户组

groupadd 命令用于创建新的用户组,语法如下:

bash 复制代码
groupadd [选项] 组名

示例:创建新组 developers

bash 复制代码
groupadd developers

groupmod:修改用户组

groupmod 命令用于修改用户组的属性,例如修改组名或组标识符(GID)。

示例:将组名 developers 改为 dev_team

bash 复制代码
groupmod -n dev_team developers

groupdel:删除用户组

groupdel 命令用于删除指定的用户组。注意,删除用户组时,组内的用户不会被删除。

示例:删除组 dev_team

bash 复制代码
groupdel dev_team

用户信息查看与管理

除了创建、修改和删除用户和组外,Linux 提供了查看和管理用户信息的命令:

  1. id:显示用户和组信息
  2. who:查看当前登录的用户
  3. w:查看当前登录用户的详细信息
  4. last:显示最近登录的用户列表
  5. finger:显示用户的详细信息

id:查看用户的 UID、GID 和所属组

id 命令用于显示当前用户或指定用户的 UID、GID 和所属组信息。

示例:查看用户 zhangsan 的用户和组信息

bash 复制代码
id zhangsan

输出示例:

bash 复制代码
uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),27(sudo)

whow:查看当前登录的用户

whow 命令都用于查看当前登录的用户,但 w 命令提供了更多的信息。

示例:使用 who 查看登录用户

bash 复制代码
who

输出示例:

bash 复制代码
zhangsan  tty1         2023-08-30 10:22 (:0)

示例:使用 w 查看详细登录信息

bash 复制代码
w

输出示例:

bash 复制代码
 10:25:01 up 1 day,  2:54,  1 user,  load average: 0.10, 0.03, 0.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
zhangsan tty1     :0               10:22   0.00s  0.01s  0.00s /bin/bash

last:查看最近登录用户

last 命令显示用户登录和注销的历史记录。

示例:查看最近登录的用户记录

bash 复制代码
last

finger:查看用户详细信息

finger 命令显示用户的详细信息,包括用户名、主目录、shell 等。finger 可能需要手动安装。

示例:查看用户 zhangsan 的详细信息

bash 复制代码
finger zhangsan

输出示例:

bash 复制代码
Login: zhangsan                       Name: 
Directory: /home/zhangsan             Shell: /bin/bash
On since Wed Aug 30 10:22 (CST) on tty1 from :0
   1 hour 12 minutes idle
No mail.
No Plan.

总结

Linux 用户管理是系统管理中的重要组成部分,涉及用户账户的创建、修改、删除,以及用户组的管理。通过熟练掌握如 useraddpasswdusermod 等命令,系统管理员可以灵活地控制系统的用户权限和访问管理。

相关推荐
黎阳之光几秒前
黎阳之光:以视频孪生重构智慧防火,打造“天空地人智”一体化森林防火新范式
大数据·运维·人工智能·物联网·安全
黄筱筱筱筱筱筱筱1 小时前
LINUX-防火墙
linux·服务器·网络
сокол1 小时前
【网安-Web渗透测试-靶场系列】AWD-Platform(ctf-hub)
linux·服务器·ubuntu·网络安全·docker
utf8mb4安全女神2 小时前
Linux系统服务相关命令【定时任务设置】【任务进程管理】【防火墙区域应用】
linux·运维·服务器
凯丨2 小时前
Claude Code 自动化开发的完整体系
运维·自动化
L、2184 小时前
昇腾NPU性能调优Checklist——从“能跑“到“跑得快“的20步
服务器·人工智能·深度学习
SilentSamsara5 小时前
concurrent.futures 实战:进程池与线程池的统一抽象
运维·开发语言·python·青少年编程
不吃土豆的马铃薯5 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者5 小时前
常见的 Linux 版本
linux·运维·服务器
szxinmai主板定制专家5 小时前
基于ZYNQ MPSOC图像采集与压缩系统总体设计方案
linux·arm开发·人工智能·嵌入式硬件·fpga开发