Linux 用户和组管理命令
Linux 用户和组管理命令详解
一、查看用户信息
- 使用命令
cat /etc/passwd
每一行代表一个用户账户,其格式为:
username:password:UID:GID:user_info:home_directory:shell
- 用户名:用户登录系统时使用的名称。
- 密码:在现代的 Linux 系统中,这个字段通常存储一个 x 或者其他占位符,实际的密码加密后存储在
/etc/shadow
文件中。 - 用户 ID(UID):一个数字,用于唯一标识用户。通常,普通用户的 UID 从 1000 开始,系统用户的 UID 较低。例如,root 用户的 UID 通常为 0。
- 用户组 ID(GID):一个数字,指定用户所属的主用户组。与用户组信息存储在
/etc/group
文件中相对应。 - 用户信息说明:通常包含用户的全名、联系方式或其他描述信息。这个字段可以为空。
- 用户主目录:用户登录系统后所在的默认目录。例如,
/home/username
。 - 用户登录 shell:指定用户登录系统后使用的命令解释器。常见的有
/bin/bash
(Bash shell)、/bin/sh
(Bourne shell)等。如果这个字段是/sbin/nologin
或/bin/false
,表示该用户不能直接登录系统。
- 密码信息
使用命令cat /etc/shadow
每行通常包含以下字段:
- 用户名(Login Name):与
/etc/passwd
中的用户名相对应。 - 加密后的密码(Encrypted Password):存储用户密码的加密形式。使用单向加密算法进行加密,确保密码的安全性。即使攻击者获取了
/etc/shadow
文件,也很难破解出原始密码。 - 密码最后一次修改的日期(Date of Last Password Change):以从 1970 年 1 月 1 日以来的天数表示。这个字段用于确定密码的有效期和强制用户定期更改密码。
- 密码最短使用期限(Minimum Password Age):表示密码在多少天内不能被修改。用于防止用户频繁更改密码以逃避密码复杂度要求等安全策略。
- 密码最长使用期限(Maximum Password Age):规定密码在多少天后必须被更改。有助于确保密码的安全性,避免长期使用相同的密码。
- 密码警告期限(Password Warning Period):在密码过期前多少天开始向用户发出警告。提醒用户及时更改密码,以避免密码过期导致账户锁定。
- 密码过期后的宽限天数(Password Inactivity Period):密码过期后,用户在多少天内仍然可以登录系统,但会被要求更改密码。超过这个期限,账户可能会被锁定。
- 账户过期日期(Account Expiration Date):以从 1970 年 1 月 1 日以来的天数表示。设定账户的过期时间,超过这个日期,账户将无法登录。
- 保留字段(Reserved Field):目前未被定义具体用途,通常留作将来扩展使用。
二、查看组信息
- 使用命令
cat /etc/group
每一行代表一个用户组,其格式为:
group_name:password:GID:user_list
- group_name:用户组的名称。
- password:用户组的密码,通常是 “x” 或者被存储在
/etc/gshadow
文件中,现在很少使用这个字段设置密码。 - GID:用户组的唯一标识符(Group ID)。
- user_list:属于该用户组的用户名列表,多个用户之间用逗号分隔。如果该字段为空,表示没有用户属于这个组。
- 组密码及相关管理信息
- 使用命令
cat /etc/gshadow
每一行代表一个用户组,其格式为:
group_name:password:administrators:members
- group_name:用户组的名称。
- password:用户组的密码。这个密码通常是加密存储的,并且很少被直接使用。现在大多数系统中,用户组密码的管理通常通过专门的工具或命令来进行,而不是直接在这个文件中设置密码。
- administrators:可以管理该用户组的用户列表,多个用户之间用逗号分隔。这些用户通常具有对该用户组进行管理的权限,例如添加或删除组成员等。
- members:属于该用户组的用户列表,与/etc/group
文件中的user_list
类似。多个用户之间也用逗号分隔。如果该字段为空,表示没有用户属于这个组。
三、添加用户相关命令
在 Linux 系统中,useradd
命令用于创建新的用户账户。
(一)基本语法
useradd [选项] 用户名
(二)主要功能
- 创建用户账户
useradd
会在系统中创建一个新的用户,为其分配一个唯一的用户 ID(UID)。- 同时,根据系统的默认设置或指定的选项,为用户创建主目录、设置默认的 shell 等。
- 配置用户属性
- 可以通过选项来指定用户的主组(
-g
选项)、附加组(-G
选项)、用户说明(-c
选项)等属性。 - 例如,可以将新用户添加到特定的用户组中,以便控制其对系统资源的访问权限。
- 可以通过选项来指定用户的主组(
- 设置密码策略
- 虽然
useradd
本身不设置用户密码,但可以结合passwd
命令为新用户设置密码。 - 可以通过系统的密码策略配置来限制密码的复杂度、有效期等。
- 虽然
(三)常用选项
-u UID
:指定用户的 UID。如果不指定,系统会自动分配一个未被使用的 UID。-g group
:指定用户的主组。可以是组名或 GID。-G groups
:指定用户的附加组,可以是多个组名或 GID,用逗号分隔。-d home_directory
:指定用户的主目录。如果不指定,系统会根据默认规则创建主目录。-s shell
:指定用户的默认 shell。例如,/bin/bash
或/bin/sh
等。-c comment
:为用户添加注释信息,通常用于描述用户的用途或身份。
(四)示例用法
- 创建一个名为newuser的用户,使用默认设置:
useradd newuser
- 这将创建一个新用户,系统会自动分配 UID、主目录和默认 shell。
- 创建一个用户并指定主组和附加组:
useradd -g group1 -G group2,group3 newuser2
- 这个命令将创建一个名为
newuser2
的用户,主组为group1
,附加组为group2
和group3
。
- 创建一个用户并指定主目录和 shell:
useradd -d /home/customdir -s /bin/zsh newuser3
- 此命令创建一个名为
newuser3
的用户,主目录为/home/customdir
,默认 shell 为/bin/zsh
。
四、组相关命令
在 Linux 系统中,groupadd
命令用于创建新的用户组。
(一)基本语法
groupadd [选项] 组名
(二)主要功能
- 创建用户组
groupadd
命令在系统中创建一个新的用户组,并为其分配一个唯一的组 ID(GID)。- 新创建的用户组可以用于将多个用户组织在一起,以便进行权限管理和资源共享。
- 配置用户组属性
- 可以通过选项来指定用户组的 GID(
-g
选项)。如果不指定,系统会自动分配一个未被使用的 GID。 - 还可以使用
-r
选项创建系统用户组,通常用于系统服务和进程。
- 可以通过选项来指定用户组的 GID(
(三)常用选项
1.-g GID
:指定用户组的 GID。如果不指定,系统会自动分配一个 GID。
2.-r
:创建系统用户组。系统用户组的 GID 通常在一个特定的范围内,用于系统服务和进程,而不是普通用户。
3.-f
:如果指定的用户组已经存在,此选项可以强制不显示错误信息,并且如果指定了-g
选项,会更改已存在用户组的 GID。
(四)示例用法
- 创建一个名为
newgroup
的用户组:groupadd newgroup
- 这将在系统中创建一个名为
newgroup
的用户组,系统会自动分配一个 GID。
- 创建一个用户组并指定 GID:
groupadd -g 1234 mygroup
- 这个命令将创建一个名为
mygroup
的用户组,其 GID 为 1234。
- 创建一个系统用户组:
groupadd -r sysgroup
- 此命令创建一个名为
sysgroup
的系统用户组,系统会为其分配一个在系统用户组范围内的 GID。
五、修改组群、修改 gid、修改组群名称
在 Linux 系统中,可以使用groupmod
命令来修改组群信息,包括修改 GID、修改组群名称等。
(一)语法
groupmod [选项] 组名
(二)主要功能
- 修改组群 GID:使用
-g
选项可以指定新的 GID。 - 修改组群名称:使用
-n
选项可以指定新的组群名称。
(三)常用选项
-g GID
:将组群的 GID 修改为指定的新 GID。-n new_group_name
:将组群名称修改为指定的新名称。
(四)示例用法
- 修改组群 GID:
groupmod -g 5555 old_group_name
- 这个命令将组群
old_group_name
的 GID 修改为 5555。
- 修改组群名称:
groupmod -n new_group_name old_group_name
- 此命令将组群
old_group_name
的名称修改为new_group_name
。
版权声明:
作者:Gweek
链接:https://bbs.geek.nyc.mn/archives/48
来源:Gweek postHub
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论