Linux 用户管理
第三章 用户管理
3.1 用户/组概览
Linux系统是多用户,多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。
每个用户都属于一个用户组或者多个组,系统可以一个用户组中的所有用户进行集中管理。组与组的控制权限是不同的,系统根据不同的需求,把用户分别放入不同的组中。
3.1.1 用户标识:UID与GID
每个用户都拥有唯一的系统可识别的UID。id命令可以查看当前用户登录信息。
UID(User Identification)为用户的ID。
GID(Group Identification)为用户所属的组ID。
groups为用户属于的所有组的ID
每个文件都有一个所有者(owner),使用ll命令可以查看文件的所有者。
3.1.2 用户/组相关文件
在Linux系统中,所有用户的用户名和密码都存放在/etc/passwd和/etc/shadow这俩个文件中。
在/etc/passwd文件中,一行记录对应一个用户,每行记录又被冒号(:)分隔为7个字段,依次为用户名称,密码占位符,用户UID,主组GID,注释性描述,用户主目录,用户的Shell。
在/etc/shadow文件中,每行记录也有冒号分隔为九个字段,依次是用户名称,加密后的密码,最近改动密码时间,密码不可更改时间,密码重新变更时间,密码过期时间,密码过期宽恕时间,用户失效时间,用户保留时间。
3.1.2 超级用户
root用户可以拥有所有系统权限,而且root用户有权利覆盖文件系统上的所有普通权限。安装或删除软件,管理系统文件和目录等。普通用户要进行相关操作需要root用户的许可。
3.2 管理用户/组
管理用户与用户组主要是创建,更改,删除等操作
1.创建用户/组
使用useradd命令创建用户,添加参数“-G"指定以存在的附加组。创建好的用户没有密码,需要自己设置。
如果在使用useradd命令时出现错误,除了直接在/etc/passwd与/etc/shadow文件中修改,还可以使用usermod和gpasswd命令。
使用groupadd命令创建用户组。
在/home目录下可查看新创建的用户。创建新的用户时,如果没有指定任何组,系统会默认给该用户创建一个和用户名相同的组作为用户的主组。
useradd的其他参数说明:-d:指定用户的主目录。 -u:指定用户特定的UID。 -g:指定用户主组的名称或ID。 -G:指定用户的附加组列表。 -s:指定用户的登录shell。
2.删除用户/组
可以使用userdel命令,但想要同时在/home目录与mail spool中删除该用户,则需要添加“-r”参数。如果用户以不存在,可以使用“rm-rf”手动删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?