如何查找特定用户可执行的所有文件(不是最新的)

时间:2011-05-24 12:29:05

标签: linux find

如何找到特定用户可以执行的所有文件(不是最新的!)

目前我可以这样做

find /some/start/dir -executable

但现在我想做一些事情:找到用户'josh'可以执行的所有文件(通过'其他'权限,'用户'权限和'组'权限)。当然,我不知道用户的'josh'密码,所以我不能su'ing。

2 个答案:

答案 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很容易过滤掉那些。