Linux 用户管理命令详解
1. useradd
命令
useradd
命令用于创建一个新的用户账户。这个命令会在系统中创建一个新的用户,并设置其基本属性,如用户ID(UID)、组ID(GID)、主目录和默认shell等。
基本语法:
useradd [选项] <用户名>
常用选项:
-m
:创建用户时,自动创建用户的主目录。-d
:指定用户的主目录路径。-s
:指定用户的默认shell(如/bin/bash
)。-G
:指定用户加入的附加组。-u
:指定用户的UID。-r
:创建系统账户(该账户的UID通常小于1000,主要用于运行系统服务)。
示例:
创建一个名为
newuser
的用户,并自动创建主目录:useradd -m newuser
创建用户
newuser
,并指定其主目录为/home/customuser
,默认shell为/bin/bash
:useradd -m -d /home/customuser -s /bin/bash newuser
创建一个名为
sysuser
的系统用户,UID为1001:useradd -r -u 1001 sysuser
2. usermod
命令
usermod
命令用于修改现有用户的属性,例如更改用户的主目录、用户名、用户组等。
基本语法:
usermod [选项] <用户名>
常用选项:
-l
:更改用户名。-d
:更改用户的主目录。-m
:在更改主目录时,移动用户的文件到新目录。-aG
:将用户添加到指定的附加组中。-s
:更改用户的默认shell。-g
:更改用户的主组。-p
:更改用户的密码。
示例:
修改用户
newuser
的用户名为newname
:usermod -l newname newuser
将用户
newname
添加到admin
组:usermod -aG admin newname
修改用户
newname
的主目录为/home/newname
并移动其文件:usermod -d /home/newname -m newname
将用户
newname
的默认shell改为/bin/zsh
:usermod -s /bin/zsh newname
3. userdel
命令
userdel
命令用于删除一个用户及其相关信息。此命令会删除用户账户,并可以选择是否删除用户的主目录及其文件。
基本语法:
userdel [选项] <用户名>
常用选项:
-r
:删除用户的同时删除用户的主目录及其文件。-f
:强制删除用户,即使该用户正在登录或存在其他问题。
示例:
删除用户
newuser
,但保留其主目录:userdel newuser
删除用户
newuser
及其主目录:userdel -r newuser
强制删除用户
newuser
(即使该用户正在登录):userdel -f newuser
4. groupadd
命令
groupadd
命令用于创建一个新的用户组。用户组是多个用户的集合,共享一些访问权限。
基本语法:
groupadd [选项] <组名>
常用选项:
-g
:指定组ID(GID)。-r
:创建一个系统组。
示例:
创建一个名为
developers
的用户组:groupadd developers
创建一个系统组
sysadmins
,GID为1001:groupadd -r -g 1001 sysadmins
5. groupdel
命令
groupdel
命令用于删除一个用户组。如果用户组中没有用户,才可以删除该组。
基本语法:
groupdel <组名>
示例:
删除
developers
组:groupdel developers
6. gpasswd
命令
gpasswd
命令用于管理用户组的密码和管理员。它可以设置组密码、添加和删除组管理员。
基本语法:
gpasswd [选项] <组名>
常用选项:
-a
:将指定用户添加到用户组。-d
:将指定用户从用户组中删除。-r
:删除组密码。-p
:设置组密码。
示例:
将用户
alice
添加到developers
组:gpasswd -a alice developers
将用户
bob
从developers
组中删除:gpasswd -d bob developers
7. passwd
命令
passwd
命令用于修改用户密码。管理员可以为任何用户设置密码,普通用户只能更改自己的密码。
基本语法:
passwd [选项] <用户名>
常用选项:
-l
:锁定用户账户,禁止用户登录。-u
:解锁已锁定的用户账户。-e
:强制用户下次登录时更改密码。-d
:删除用户密码,使用户在登录时不需要密码。
示例:
修改当前用户的密码:
passwd
为用户
newuser
设置密码:passwd newuser
锁定用户
newuser
的账户:passwd -l newuser
解锁用户
newuser
的账户:passwd -u newuser
强制用户
newuser
在下次登录时更改密码:passwd -e newuser
8. chage
命令
chage
命令用于更改用户密码的过期信息,例如设置密码的有效期、过期时间等。
基本语法:
chage [选项] <用户名>
常用选项:
-l
:列出用户密码的过期信息。-M
:设置密码的最大有效期(天数)。-m
:设置密码的最小有效期(天数)。-W
:设置密码到期前的警告天数。-I
:设置密码过期后,账户失效前的宽限期。
示例:
查看用户
newuser
的密码过期信息:chage -l newuser
设置用户
newuser
的密码最大有效期为30天:chage -M 30 newuser
设置用户
newuser
的密码到期前10天提醒:chage -W 10 newuser
9. id
命令
id
命令用于显示当前用户或指定用户的UID(用户ID)、GID(组ID)以及所属的用户组。
基本语法:
id [用户名]
示例:
查看当前用户的UID、GID及所属组:
id
查看用户
newuser
的UID、GID及所属组:id newuser
总结
useradd
:用于创建新用户。usermod
:用于修改现有用户的属性。userdel
:用于删除用户账户及其相关信息。