文章目录
在 Linux 系统中,用户管理是系统管理的核心任务之一。通过用户管理命令,系统管理员可以创建、删除、修改用户账户,以及管理用户组权限。本文将详细介绍常用的 Linux 用户管理命令,并结合示例进行说明。
用户管理基础
Linux 是一个多用户、多任务的操作系统,每个用户都有唯一的用户标识(UID)和用户组标识(GID)。系统使用这些标识来控制访问权限。管理用户通常通过以下命令完成:
useradd
:创建新用户passwd
:设置或修改用户密码usermod
:修改用户信息userdel
:删除用户groupadd
:创建新用户组groupmod
:修改用户组groupdel
:删除用户组
useradd
:添加用户
useradd
命令用于创建新用户。其基本语法为:
useradd [选项] 用户名
常用选项包括:
-d
:指定用户主目录。如果不指定,默认会创建/home/用户名
目录。-m
:自动创建用户的主目录。-s
:指定用户的默认 shell。-g
:指定用户的主组。-G
:指定用户的附加组。
示例1:创建用户并自动生成主目录
useradd -m -d /home/zhangsan -s /bin/bash zhangsan
此命令会创建一个名为 zhangsan
的用户,主目录为 /home/zhangsan
,默认的 shell 为 Bash。
示例2:创建用户并指定用户组
useradd -m -G sudo zhangsan
此命令会将 zhangsan
用户添加到 sudo
组,从而赋予其超级用户权限。
passwd
:设置或修改用户密码
passwd
命令用于设置用户密码。使用方法为:
passwd 用户名
示例:为 zhangsan
设置密码
passwd zhangsan
此命令将提示输入新密码并进行确认。
usermod
:修改用户信息
usermod
命令用于修改用户账户的属性。常用选项有:
-l
:修改用户名。-d
:修改用户的主目录。-s
:修改用户的默认 shell。-g
:修改用户的主组。-G
:修改用户的附加组。
示例:将 zhangsan
用户的主目录改为 /home/new_zhangsan
usermod -d /home/new_zhangsan -m zhangsan
此命令将自动移动原主目录的内容到新目录中。
userdel
:删除用户
userdel
命令用于删除用户账户。使用 -r
选项可以同时删除用户的主目录。
示例:删除用户 zhangsan
及其主目录
userdel -r zhangsan
groupadd
:创建用户组
groupadd
命令用于创建新的用户组,语法如下:
groupadd [选项] 组名
示例:创建新组 developers
groupadd developers
groupmod
:修改用户组
groupmod
命令用于修改用户组的属性,例如修改组名或组标识符(GID)。
示例:将组名 developers
改为 dev_team
groupmod -n dev_team developers
groupdel
:删除用户组
groupdel
命令用于删除指定的用户组。注意,删除用户组时,组内的用户不会被删除。
示例:删除组 dev_team
groupdel dev_team
用户信息查看与管理
除了创建、修改和删除用户和组外,Linux 提供了查看和管理用户信息的命令:
id
:显示用户和组信息who
:查看当前登录的用户w
:查看当前登录用户的详细信息last
:显示最近登录的用户列表finger
:显示用户的详细信息
id
:查看用户的 UID、GID 和所属组
id
命令用于显示当前用户或指定用户的 UID、GID 和所属组信息。
示例:查看用户 zhangsan
的用户和组信息
id zhangsan
输出示例:
uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan),27(sudo)
who
和 w
:查看当前登录的用户
who
和 w
命令都用于查看当前登录的用户,但 w
命令提供了更多的信息。
示例:使用 who
查看登录用户
who
输出示例:
zhangsan tty1 2023-08-30 10:22 (:0)
示例:使用 w
查看详细登录信息
w
输出示例:
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
命令显示用户登录和注销的历史记录。
示例:查看最近登录的用户记录
last
finger
:查看用户详细信息
finger
命令显示用户的详细信息,包括用户名、主目录、shell 等。finger
可能需要手动安装。
示例:查看用户 zhangsan
的详细信息
finger zhangsan
输出示例:
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 用户管理是系统管理中的重要组成部分,涉及用户账户的创建、修改、删除,以及用户组的管理。通过熟练掌握如 useradd
、passwd
、usermod
等命令,系统管理员可以灵活地控制系统的用户权限和访问管理。