Gnu/Linux 命令列出有权访问一个文件夹的所有用户

Gnu/Linux 命令列出有权访问一个文件夹的所有用户

我试图找到我的 Gnu/Linux 系统中有权访问某一特定文件夹的所有用户。

我试过

$ ls -ld */
dr-xr-xr-x.   2 root root     28672 Mar 20 21:33 bin/
dr-xr-xr-x.   4 root root      4096 Mar 16 16:02 boot/

我尝试过ls -ldd */,但它仅列出一个文件夹的 1 行及其创建时使用的用户名。

但我希望列出一个文件夹,每个文件夹将显示可以访问该文件夹的所有用户名

例如:

$ 
dr-xr-xr-x.   2 user1 user1     28672 Mar 20 21:33 bin/
dr-xr-xr-x.   2 user2 user2      28672 Mar 20 21:33 bin/

有什么办法可以做到这一点吗?

答案1

快速且肮脏,仅在 Mac(不使用 getent)上进行了测试。我用mac命令替换了getent来测试“ dscl . -ls /Users

chkgrp=$1
for userid in $(getent passwd); do
   echo "$(id -Gn $userid)" | grep -wq $chkgrp
   [[ $? -eq 0 ]] && echo "$userid is in the $chkgrp group"
done

相关内容