32、用户管理指南

用户管理指南

1. 账户机制

用户本质上是一个数字,具体来说,是一个无符号的 32 位整数,即用户 ID(UID)。几乎所有与用户账户管理相关的操作都围绕这个数字展开。

系统通过标准 C 库例程定义了一个 API,用于在 UID 数字和更完整的用户信息集之间进行映射。例如, getpwuid() 接受一个 UID 作为参数,并返回一个相应的记录,其中包括关联的登录名和主目录等信息。同样, getpwnam() 可以通过登录名查找相同的信息。

传统上,这些库调用直接从文本文件 /etc/passwd 中获取信息。随着时间的推移,它们开始支持其他信息源,如网络信息数据库(如 LDAP)和受读保护的文件,这些文件可以更安全地存储加密密码。

这些抽象层(通常在 nsswitch.conf 文件中配置)使高级进程能够在不直接了解底层账户管理方法的情况下运行。例如,当你以 “dotty” 身份登录时,登录进程(窗口服务器、登录程序、getty 等)会对 “dotty” 执行 getpwnam() ,然后根据库返回的加密密码记录验证你提供的密码,而不管其实际来源如何。

下面是一个简单的流程说明:

graph LR
    A[用户登录] --> B[执行 getpwnam() 查找用户信息]
    B --> C[获取加密密码记录]
    C --> D[验证用户输入的密码]
    D --> 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值