find命令中参数perm的用法
按照文件权限模式用-perm选项,按文件权限模式来查找文件的话。最好使用八进制的权限表示法。 如在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件,可以用: de>$ find . -perm 755 -printde> 还有一种表达方法:在八进制数字前面要加一个横杠-,表示都匹配,如-007就相当于777,-006相当于666 de># ls -l -rwxrwxr-x 2 sam adm 0 10月 31 01:01 http3.conf -rw-rw-rw- 1 sam adm 34890 10月 31 00:57 httpd1.conf -rwxrwxr-x 2 sam adm 0 10月 31 01:01 httpd.conf drw-rw-rw- 2 gem group 4096 10月 26 19:48 sam -rw-rw-rw- 1 root root 2792 10月 31 20:19 temp # find . -perm 006 # find . -perm -006 ./sam ./httpd1.conf ./tempde> -perm mode:文件许可正好符合mode -perm +mode:文件许可部分符合mode -perm -mode: 文件许可完全符合mode 我们首先创建下面的一个例子 #ls -l ./testdir ——S— 1 root root 0 2008-05-06 10:39 2000 —S—— 1 root root 0 2008-05-06 10:39 4000 —S–S— 1 root root 0 2008-05-06 10:39 6000 -rwS–S— 1 root root 0 2008-05-06 10:39 6600 我创建了4个文件,都具有suid/sgid位。 假定我执行 find . -type f -perm 6000 那么我们显然可以得到下面的结果 ./60000 这属于完全匹配。 如果执行find . -type f -perm -6000呢,其结果是: ./6000 ./6600 这里的-号表示有1的位置一定要正确匹配,其他无所谓。这里要转成二进制来说,首先6000转成三位的二进制是下面这个样子 110 000 000 000 这表示前面两个1一定要匹配,其他无所谓。那能匹配的就是6000,6600两个文件,其权限二进制转换过来分别是 110 000 000 000 110 110 000 000 而如果是执行find . -type f -perm +6000呢,结果会怎样? 我们看看结果 ./6000 ./2000 ./4000 ./6600 +号的意思是,只要有一个1匹配就行了,也就是说前2位中,只要有一个1就行,所以上面的都符合要求,因为翻译成二进制变成 110 000 000 000 010 000 000 000 100 000 000 000 110 110 000 000 所以,从上面的结果可以看出,命令find . -type f -perm +6000就是指定目录下所有具有suid/sgid的程序。 这是在做安全维护的时候,应该常使用的一个指令。我们首先创建下面的一个例子 #ls -l ./testdir ——S— 1 root root 0 2008-05-06 10:39 2000 —S—— 1 root root 0 2008-05-06 10:39 4000 —S–S— 1 root root 0 2008-05-06 10:39 6000 -rwS–S— 1 root root 0 2008-05-06 10:39 6600 我创建了4个文件,都具有suid/sgid位。 假定我执行 find . -type f -perm 6000 那么我们显然可以得到下面的结果 ./60000 这属于完全匹配。 如果执行find . -type f -perm -6000呢,其结果是: ./6000 ./6600 这里的-号表示有1的位置一定要正确匹配,其他无所谓。这里要转成二进制来说,首先6000转成三位的二进制是下面这个样子 110 000 000 000 这表示前面两个1一定要匹配,其他无所谓。那能匹配的就是6000,6600两个文件,其权限二进制转换过来分别是 110 000 000 000 110 110 000 000 而如果是执行find . -type f -perm +6000呢,结果会怎样? 我们看看结果 ./6000 ./2000 ./4000 ./6600 +号的意思是,只要有一个1匹配就行了,也就是说前2位中,只要有一个1就行,所以上面的都符合要求,因为翻译成二进制变成 110 000 000 000 010 000 000 000 100 000 000 000 110 110 000 000 所以,从上面的结果可以看出,命令find . -type f -perm +6000就是指定目录下所有具有suid/sgid的程序。 这是在做安全维护的时候,应该常使用的一个指令 |
find命令中参数perm的用法的更多相关文章
- gcc命令中参数c和o混合使用的详解[转载]
gcc -c a.c 编译成目标文件a.o gcc -o a a.o 生成执行文件a.exe gcc a.c 生成执行文件a.exe gcc -o a -c a.c 编译成目标文件a gc ...
- 【转】gcc命令中参数c和o混合使用的详解
gcc -c a.c 编译成目标文件a.o gcc a.c 生成执行文件a.exe gcc -o a -c a.c 编译成目标文件a gcc -o a a.c 生成执行文件a. ...
- gcc命令中参数c和o混合使用的详解
gcc -c a.c 编译成目标文件a.o gcc -o a a.o 生成执行文件a.exe gcc a.c 生成执行文件a.exe gcc -o a -c a.c 编译成目标文件a gcc -o a ...
- 【python】命令行解析工具getopt用法
处理命令行参数的模块 用法: opts, args = getopt.getopt( sys.args[1:], shortStr, longList) 输入: shortStr 形式如下: &q ...
- shell命令传参数(参数长度不定)
脚本 sudo echo "[mysqlMaster<$1>]" >> /home/admin/hostrecord count= ];do >> ...
- linux 中解析命令行参数(getopt_long用法)
linux 中解析命令行参数(getopt_long用法) http://www.educity.cn/linux/518242.html 详细解析命令行的getopt_long()函数 http:/ ...
- 【Python】 linux中python命令的命令行参数
Python命令行参数 原文地址:http://blog.163.com/weak_time/blog/static/25852809120169333247925/ Python的命令行参数,提供了 ...
- $命令行参数解析模块argparse的用法
argparse是python内置的命令行参数解析模块,可以用来为程序配置功能丰富的命令行参数,方便使用,本文总结一下其基本用法. 测试脚本 把以下脚本存在argtest.py文件中: # codin ...
- C语言中使用库函数解析命令行参数
在编写需要命令行参数的C程序的时候,往往我们需要先解析命令行参数,然后根据这些参数来启动我们的程序. C的库函数中提供了两个函数可以用来帮助我们解析命令行参数:getopt.getopt_long. ...
随机推荐
- SQL查询语言练习
USE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name='MyStudentInfoManage') DROP DATABASE ...
- jquery实现网页选项卡
这个功能在现在的网站中使用较为普遍,就是以选项卡的形式来对一些内容做了分类.,比如下面的天猫商城. 下面的源码是仿照天猫写的一个选项卡,实现起来的效果如下. 主要是利用我们在点击相应板块是触发它的单击 ...
- SQL Server中@@ROWCOUNT的用法
SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型. 如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG. @@ROWCOUNT和@@ERROR变 ...
- csharp:VerifyCode in winform or webform
winform: using System; using System.Collections.Generic; using System.ComponentModel; using System.D ...
- mybatis/callablestatement调用存储过程mysql connector产生不必要的元数据查询
INFO | jvm 1 | 2016/08/25 15:17:01 | 16-08-25 15:17:01 DEBUG pool-1-thread-371dao.ITaskDao.callProce ...
- 最近提交并被合并的 jDiameter pull request 31 解决的问题
使用过程中发现的问题都提交并合并了,应该会出现在1.7.0版本中: https://github.com/RestComm/jdiameter/pull/31 修复多个超时事件同时发生的问题. 修复B ...
- AT NEW F、AT END OF F注意事项
1.F只能是内表的第一个字段 2.AT NEW F.AT END OF F使用F之后内表内容会变为* 解决出现*的办法: FIELD-SYMBOLS:<ITAB> LIKE ITAB L ...
- SAP ST05数据跟踪使用
有时我们想知道SAP操作,对数据库中的那些表进行的增删查改. 可以使用ST05跟踪SQL语句. ST05功能界面如下: 1---激活跟踪 2---结束跟踪 3---显示跟踪结果. 如果想跟踪SQL语句 ...
- Android Java类编写规范+优化建议
本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的.本文将不定期更新~ 零.指导原则 优先保证可读性,不要过分追求代码艺术和效率 在可读性 ...
- Lucene实战构建索引
搭建lucene的步骤这里就不详细介绍了,无外乎就是下载相关jar包,在eclipse中新建java工程,引入相关的jar包即可 本文主要在没有剖析lucene的源码之前实战一下,通过实战来促进研究 ...