• 创建一个名为myshell 的脚本
• 该脚本放置在 /usr/local/bin 下
• 该脚本用于查找 /usr 下所有大小在50K~10m 之间且具有修改组ID权限的文件,
• 将这些文件放置于/root/myfiles下
• 在 /usr/local/bin目录下创建myshell.sh脚本文件
• 脚本编写的内容是find,查找 /usr 下所有大小在50K~10m 之间且具有修改组ID权限的文件
• 具有修改组ID权限的文件是说有特殊权限位SGID的文件,数字表示为2000
• 创建/root/myfiles目录
• 创建目录
[root@servera ~]# mkdir /root/myfiles
• 查看满足条件的文件
[root@servera ~]# find /usr -type f -and -perm -2000 -and -size +50k -size -10M /usr/libexec/openssh/ssh-keysign
• 编辑myshell脚本
- [root@servera openssh]# cd /usr/local/bin/
- [root@servera bin]# ls
- [root@servera bin]# vim myshell.sh
- #!/bin/bash
- #time:2022-09-03
- #auor:xionghj
- find /usr -type f -and -perm -2000 -and -size +50k -size -10M -exec cp -av {} /root/myfiles/ \;
• 授权给执行的权限
[root@servera bin]# chmod +x myshell.sh
• 验证脚本功能
- [root@servera bin]# sh myshell.sh
- '/usr/libexec/openssh/ssh-keysign' -> '/root/myfiles/ssh-keysign'
知识扩展:
find查找满足条件的文件或者文件夹
-perm 按照文件权限查找
-perm -4000 :查找文件权限设置了suid的文件
-perm -2000 :查找文件权限设置了sgid的文件
-perm -0755 :查找权限等于0755的文件
-type 根据文件类型查找
d 目录(即文件夹)
f 普通文件,即word文档、txt文本文档、jpg图片、mp3音乐、avi视频。find /etc -type f
b 块设备文件,即硬盘、u盘、硬盘分区,例:find /dev -type b
c 字符设备文件,即终端tty,例:find /dev -type c
p 管道文件
l 符号链接(也称软链接),即快捷方式,例:find / -type l
s 套接字,ip+port。例:find / -type s
-exec 连接需要的做的动作
-and 并且
-or 或
-size 按文件大小查找,+表示大于 -表示小于 没有+-表示等于