Linux进程管理与权限控制全解析
以应用所有者权限运行普通应用
在Linux系统中,每个进程都是由特定用户运行的。以 passwd 命令为例,它用于修改 /etc/passwd 文件中的密码条目,而该文件只有其所有者(即root用户)才能写入。那么, passwd 命令是如何更新这个文件的呢?
这里的关键在于使用 chmod 实用程序来指定应用程序拥有文件所有者的权限。在Linux中,使用以下命令可以实现这一点:
chmod u+s <filename>
此命令会使应用程序以文件所有者的权限运行。不过,由于该操作可能会带来潜在风险,只有文件所有者或系统管理员才能执行。这通常被称为为用户设置粘性位。
应用程序运行时会涉及两个用户:
- 真实用户 :最初运行应用程序的用户。
- 有效用户 :权限被更改后的用户。
在Kylix应用程序中,可以使用 getuid 函数获取真实用户ID,使用 geteuid 函数获取有效用户ID,示例如下:
procedure TfrmMain.DisplayUserInformation;
var
pwInfo: PPasswordRecord;
be
超级会员免费看
订阅专栏 解锁全文
7万+

被折叠的 条评论
为什么被折叠?



