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