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. ...
随机推荐
- MVC ,Action方法传数据给视图有几种方式?--PS:tempData和Viewbag,还有ViewData之间的区别
//---------------------------------控制器向视图传递数据 public ActionResult TransData() { //1.ViewBag ViewBag. ...
- C#写文本日志帮助类(支持多线程)
代码: using System; using System.Configuration; using System.IO; using System.Threading.Tasks; namespa ...
- 改造一下C# Substring()函数
C#的Substring()函数中,如果我们一不小心输入一个截取长度大于字符串的长时,就会收到一个异常:startIndex cannot be larger than length of strin ...
- [CLR via C#]9. 参数
一.可选参数和命名参数 在设计一个方法的参数时,可为部分或全部参数分配默认值.然后,调用这些方法的代码时可以选择不指定部分实参,接受默认值.此外,调用方法时,还可以通过指定参数名称的方式为其传递实参. ...
- C#按回车Enter使输入焦点自动跳到下一个TextBox的方法收集
在录入界面中,用户往往需要按回车键时光标自动跳入下一个文本框,以方便录入操作.在C#中实现该功能有多种方法,以下是小编收集的不使用TAB键,而直接用回车键将光标转到下一个文本框的实现方法. 一.利用W ...
- 当使用母版页时JavaScript客户端获取服务器控件的Id
当使用MasterPage.UserControl等容器时,为了避免控件的重复命名,asp.net会自动将容器中的控件生成一个ClientID(Control Tree中的可生成,否则不会生成). J ...
- Python Import 详解
http://blog.csdn.net/appleheshuang/article/details/7602499 一 module通常模块为一个文件,直接使用import来导入就好了.可以作为mo ...
- 自己动手搞定支付宝手机网站支付接口 FOR ECShop
支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语. 主要是得自己查看支付宝官方提供的SDK中的开发文档. 支付宝sdk下载地址:https://doc.open.alipay ...
- Linux下安装配置Nexus
一.安装和运行nexus 1.下载nexus:http://www.sonatype.org/nexus/go 可选择tgz和zip格式,以及war,选择tgz或zip时不同版本可能在启动时存在一定问 ...
- 推荐轻量友好的.NET测试断言工具Shouldly
Shouldly是一个轻量的断言(Assertion)框架,用于补充.NET框架下的测试工具.Shouldly将焦点放在当断言失败时如何简单精准的给出很好的错误信息. Shouldly在GitHub的 ...