linux 如何查看某个进程的用户和用户组.

Nacrum 2012-08-09 03:25:34
linux 如何查看某个进程的用户和用户组.

比如进程httpd

如何知道运行该程序所需要的用户和用户组权限.
...全文
21928 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-08-10
  • 打赏
  • 举报
回复
ps -eo pid,user,group,euser,egroup,cmd

自定义格式就行了,这是用户,用户组,有效用户,有效用户组。

像apache的master进程需要bind 80,需要root用户启动,而且一般都是不会降权的,而apache得worker进程启动后就setuid降权到httpd.conf里配置的用户和用户组,才命令打印的消息里你有机会看到这一现象。
-编译-人生- 2012-08-10
  • 打赏
  • 举报
回复
[root@localhost ftmsbackup]# ps aux | grep httpd
root 3031 2.8 0.3 19540 11224 ? S Aug07 131:51 Xvnc :1 -desktop localhost:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024x768 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn
root 3166 0.0 0.3 26668 11892 ? Ss Aug07 0:00 /usr/local/apache/bin/httpd -k start
web 3182 0.0 0.2 18112 7548 ? S Aug07 0:00 /usr/local/apache/bin/httpd -k start
web 3214 0.0 0.7 327160 25040 ? Sl Aug07 0:00 /usr/local/apache/bin/httpd -k start

这是我机器里面的。第一项就是进程所属的用户。
第一个进程是我用root身份起动的主进程,所以是root。后两个则是系统自动开启的。


另外你所说的“如何知道运行该程序所需要的用户和用户组权限.”。
运行程序的用户一般是在程序配置文件里设置好的,apache的一般是在httpd.cnf里设置“user”和“group”我的设置的用户是web,这个用户是我自己建立的。
apache默认的好像是daemon。
白天的猫头鹰 2012-08-09
  • 打赏
  • 举报
回复
PS -u可以看到当前进程的用户
Linux-Torvalds 2012-08-09
  • 打赏
  • 举报
回复
ls -al
xxx-xxx-xxx

同时注意setuid和setgid还有sticky bit

19,610

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧