2017-10-11 56 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}' 
相關問題