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 等命令,系统管理员可以灵活地控制系统的用户权限和访问管理。

相关推荐
NiNg_1_23440 分钟前
使用Docker Compose一键部署
运维·docker·容器
萠哥啥都行44 分钟前
Linux安装Docker以及Docker入门操作
运维·docker·容器
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
小江湖19941 小时前
元数据保护者,Caesium压缩不丢重要信息
运维·学习·软件需求·改行学it
gopher95111 小时前
linux驱动开发-中断子系统
linux·运维·驱动开发
码哝小鱼1 小时前
firewalld封禁IP或IP段
linux·网络
鼠鼠龙年发大财1 小时前
【x**3专享】安装SSH、XFTP、XShell、ARM Linux
linux·arm开发·ssh
nfgo1 小时前
快速体验Linux发行版:DistroSea详解与操作指南
linux·ubuntu·centos
河南宽信李工1503806 16862 小时前
测绘航空摄影专项资质在洛阳市的获取流程
服务器
吃面不喝汤662 小时前
如何配置和使用自己的私有 Docker Registry
运维·docker·容器