7、UNIX系统中的用户信息与时间管理

UNIX系统中的用户信息与时间管理

1. 用户信息管理

在UNIX系统中,每个用户都有一系列相关信息,这些信息大多存储在 /etc/passwd 密码文件和 /etc/group 组文件中。下面详细介绍这些信息。

1.1 登录名

每个用户都有一个唯一的登录名,该名称最多由8个字符组成,通常只允许使用小写字母和数字。用户在登录系统时使用登录名来标识自己,同时在发送电子邮件、标记行式打印机输出等场景中也会用到。操作系统内核并不使用登录名,它仅由用户级程序使用。

获取用户登录名可以使用 getlogin 例程,该例程返回一个指向包含用户登录名的字符串指针,如果失败则返回 NULL 。不过, getlogin 通过搜索 /etc/utmp 文件来获取登录名,这种方法容易出错,例如用户已注销或更改了有效用户ID。System V 提供了 cuserid 函数来替代 getlogin ,它的出错概率更低。

1.2 用户ID

系统中的每个进程都关联着两个整数:真实用户ID和有效用户ID。操作系统内核使用这些ID来确定进程的访问权限、记录会计信息等。真实用户ID始终标识执行进程的用户,只有超级用户可以更改自己的真实用户ID。有效用户ID用于确定进程的权限,通常情况下,有效用户ID等于真实用户ID。通过更改有效用户ID,进程可以获得与新用户ID相关的权限。

获取真实用户ID和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值