如何找到特定用户可以执行的所有文件(不是最新的!)
目前我可以这样做
find /some/start/dir -executable
但现在我想做一些事情:找到用户'josh'可以执行的所有文件(通过'其他'权限,'用户'权限和'组'权限)。当然,我不知道用户的'josh'密码,所以我不能su'ing。
答案 0 :(得分:3)
在/ etc / passwd中查找“josh”的用户ID。
然后运行: find / some / start / dir -type“f”-uid< ID> -perm 111 。
答案 1 :(得分:1)
我知道这是一个较旧的主题,但我最近必须这样做,但它仍然是相关的。
由于我们正在谈论* nix权限,所以通过查看ID在系统上的成员资格,一种繁琐但彻底的方法就是:
即:
# assuming josh is a member of group "grpname"
find / -user josh -perm -100 # gets files owned by josh & are executable
find / -group grpname -perm -010 # gets files with grp ownership and executable
# via group
# Must be repeated for each group josh is in
find / -perm -001 # gets files executable by any user
请注意,josh拥有的文件可能会有一些重叠,但也归组" grpname"所有。排序| uniq很容易过滤掉那些。