2017-10-11 90 views
0

我有一个bash脚本,显示所有通过ssh连接的用户以及他们在做什么,使用sudo w -u。如果用户正在编辑文档(即index.php),我想知道他们在哪个目录中(整个系统中有多个index.php文件)。有什么办法可以获得其他用户所在的目录吗?这是在Raspbian Jesse。如何找到其他用户使用bash的目录?

+2

你到目前为止尝试过什么?来吧,表现出一些努力。这里有一个提示,如果你有PID,请查看'/ proc//environ'中的PWD。 – Mort

+1

如果你不知道,StackOverflow是关于帮助人们修复他们现有的编程代码。请阅读https://stackoverflow.com/help/on-topic,http://stackoverflow.com/help/how-to-ask,http://stackoverflow.com/help/dont-ask,http:// stackoverflow.com/help/mcve并在发布更多Q​​之前参加[tour](http://stackoverflow.com/tour)。祝你好运。 – shellter

+0

工作目录是*进程*的属性,而不是*用户*。用户的进程可能全部位于不同的工作目录中,如您在检查'/ proc/$ pid/cwd'时会看到的那样。 –

回答

0

这有点复杂,但似乎适用于我的用例。假设您a)知道UID,b)有问题的文件名,以及c)该用户不会同时从不同进程并行编辑多个文件。后者会通过添加一个以上的pid来打破外层。我会留下解决这个问题给你作为一个练习;}

lsof -p $(sudo lsof -u <USERID> | awk '/<FileName>/ {print$2}') | awk '$4 ~ /cwd/ {print $9}' 
相关问题