linux系统中如何找出用户组拥有的所有文件?

我们的一个考试题:找出用户组mail拥有的所有文件,并且将他们放到/root/findresults目录下。
求大神指点以下,怎么做才可以?
在线等linux大神解答....... 0.0
最新回答
寄信给风

2024-09-29 03:27:47

1、使用find命令可以解决,find语法如下:

find命令选项
-name:按照文件名查找文件。
-perm:按照文件权限来查找文件。
-prune:使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
-user: 按照文件属主来查找文件。
-group:按照文件所属的组来查找文件。
-mtime -n +n:按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有- a t i m e和- c t i m e选项,但它们都和- m t i m e选项。
-nogroup:查找无有效所属组的文件,即该文件所属的组在/ e t c / g r o u p s中不存在。
-nouser:查找无有效属主的文件,即该文件的属主在/ e t c / p a s s w d中不存在。
-newer file1 ! file2:查找更改时间比文件f i l e 1新但比文件f i l e 2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。

2、具体要使用的参数是-group:按照文件所属的组来查找文件。
如查找系统中所有属于root组的文件,可以用:
# find . -group root -exec ls -l {} \;
青澜饮舟

2024-09-29 05:05:29

这是RHCSA的题目吧,刚好去年考过
find / -user mail -exec /bin/cp -rf {} /root/findresults \;
追问
大神能否详细讲解一下每个命令的含义?
大神能否详细讲解一下每个命令的含义?
追答
find -user  mail 就是查找mail这个用户的
-exec /bin/cp 就是运行/bin/下面的命令cp
-rf 是递归和强制
{} 这个我忘了
/root/findresult 就是指定的目录了
后面的都忘了。。。
追问
好吧、我把你的命令敲了一遍跑了下、结果貌似错着呢、但还是要谢谢你、0.0
追答
错了。。。你用的是RHEL几啊
追问
我用的7.0啊、-user 应该改为 -group 吧、我要查的是所属组的文件、0.0