![loginuid 对进程限制有影响吗?](https://linux22.com/image/69729/loginuid%20%E5%AF%B9%E8%BF%9B%E7%A8%8B%E9%99%90%E5%88%B6%E6%9C%89%E5%BD%B1%E5%93%8D%E5%90%97%EF%BC%9F.png)
在 CentOS/RHEL 6 上,当我以 root 用户身份启动守护进程时,我看到/proc/<pid>/loginuid
进程为 0,当我通过 sudo 启动它时,我看到 sudo 用户的 loginuid。即使我执行 sudo su - 成为root,我也会看到 sudo 用户的loginuid。我的疑问是,当loginuid为非root时,打开文件、内存等的进程限制是否会改变?或者就此而言,当 loginuid 为非 root 时,是否还有其他因素导致性能下降?
答案1
事实上,登录 UID 在之后不会改变,sudo
或者su
是拥有登录 UID 的全部意义,与真实有效的 UID 分开。它用于记录目的。
进程的登录 UID 或任何其他 UID 都不会对进程的限制或性能产生直接影响。
限制由登录您的程序设置。之后,会话中的所有程序都会继承这些限制,即使您调用sudo
或su
或某个其他程序来更改为另一个用户。程序可以更改适用于它的限制,但仅限于一定程度:有一个软限制(程序可以更改)和一个硬限制(除非以 root 身份运行,否则程序无法更改)。普通程序不会改变它们的限制。
或具有适当的能力,通常只有 root 才具备。