关于find的-perm

参考关于find命令-perm 的用法

总结

有三种用法

  • find -perm -mode
  • find -perm mode
  • find -perm /mode(find -perm +mode已经废弃)

第一种

find -perm -mode

-mode表示完全满足mode权限。

搜索的文件权限可以比mode高

比如mode位644,那么可以搜索到644的,744的,666的,777也行,比644高就行

比如,我要/etc目录下权限至少是755的普通文件,

会发现,755的也满足要求

[root@centos7 ~]# find /etc/ -perm -011  -type f -print0 | xargs -0 ls -ldh
-rwxr-xr-x. 1 root root 1.3K Oct 31 2018 /etc/auto.net
-rwxr-xr-x. 1 root root 687 Oct 31 2018 /etc/auto.smb
...

查找/etc⽬录下⾄少有⼀类⽤户没有执⾏权限的⽂件

先查找所有用户都有执行权限的,再取反

[root@centos7 tmp]# find /etc/ \( -not -perm -111 \)  -type f -print0 | xargs -0 ls -ldh | more
-rw-r--r--. 1 root root 850 Nov 14 2018 /etc/abrt/abrt-action-save-package-data.conf
-rw-r--r--. 1 root root 2.1K Nov 14 2018 /etc/abrt/abrt.conf

查找/tmp⽬录下,所有⽤户都有执⾏权限,且其它⽤户有写权限的⽂件

[root@centos7 tmp]# find /tmp   -perm -113  -type f -print0 | xargs -0 ls -ldh
-rwx--x-wx 1 root root 0 Aug 3 11:18 /tmp/111.txt

第二种

find -perm mode

这样就表示完全匹配了

我要755的,就给我755,要644的就给我644

比如:我只要/etc/目录下面权限为755的普通文件

会发现,所有搜到的文件权限都是755

[root@centos7 ~]# find /etc/ -perm 755  -type f -print0 | xargs -0 ls -ldh
-rwxr-xr-x. 1 root root 1.3K Oct 31 2018 /etc/auto.net
-rwxr-xr-x. 1 root root 687 Oct 31 2018 /etc/auto.smb
...

第三种

find -perm /mode

/mode表示部分满足即可

我要755的,那么111的也行,100的也行,但022的不行,因为022(-----w--w-)两个位置不符合要求,不是我要的

例如:查找/tmp目录下面有执行权限的文件,不管什么用户有都行

可以看到,不管是001的,755的,都找到了

[root@centos7 tmp]# find /tmp/ -perm /111  -type f -print0 | xargs -0 ls -ldh
-rwxr--r-- 1 root root 0 Aug 3 11:06 /tmp/10.txt
-rwxr-xr-x 1 root root 0 Aug 3 11:07 /tmp/6.txt
---------x 1 root root 0 Aug 3 11:07 /tmp/8.txt
...

例如:查找/etc目录下面所有用户都没有写权限的文件

取反即可

[root@centos7 tmp]# find /etc/ \( -not -perm /111 \)  -type f -print0 | xargs -0 ls -ldh | more
-rw-r--r--. 1 root root 850 Nov 14 2018 /etc/abrt/abrt-action-save-package-data.conf
-rw-r--r--. 1 root root 2.1K Nov 14 2018 /etc/abrt/abrt.conf
...

例如:查找/etc目录下面s所有用户都没有写权限的文件

[root@centos7 tmp]# find /etc/ \( -not -perm /222 \)  -type f -print0 | xargs -0 ls -ldh | more
-r--r--r--. 1 root root 460 Apr 11 2018 /etc/dbus-1/system.d/cups.conf
---------- 1 root root 819 Aug 2 15:04 /etc/gshadow
----------. 1 root root 828 Aug 2 15:04 /etc/gshadow-
...

关于find的-perm的更多相关文章

  1. find命令中参数perm的用法

    按照文件权限模式用-perm选项,按文件权限模式来查找文件的话.最好使用八进制的权限表示法.如在当前目录下查找文件权限位为755的文件,即文件属主可以读.写.执行,其他用户可以读.执行的文件,可以用: ...

  2. BZOJ 1072: [SCOI2007]排列perm 状态压缩DP

    1072: [SCOI2007]排列perm Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0).例如123434有90种排列能被2整除,其中末位为 ...

  3. Metaspace 之一--java8 去掉 perm 用 Metaspace 来替代

    正如大家所知,JDK 8 Early Access版已经提供下载.这使开发者可以体验Java8的新特性.其中之一,是Oracle从JDK7发布以来就一直宣称的要完全移除永久代空间.例如,字符串内部池, ...

  4. SCOI2007排列perm

    1072: [SCOI2007]排列perm Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 805  Solved: 497[Submit][Stat ...

  5. BZOJ 1072 [SCOI2007]排列perm

    1072: [SCOI2007]排列perm Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1268  Solved: 782[Submit][Sta ...

  6. 全排列算法之Perm算法实现

    题目描述:   给定一个由不同的小写字母组成的字符串,输出这个字符串的所有全排列.   我们假设对于小写字母有'a' < 'b' < … < 'y' < 'z',而且给定的字符 ...

  7. JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释

    以下内容转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29632145&id=4616836 jvm区域总体分两 ...

  8. JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释(转)

    jvm区域总体分两类,heap区和非heap区.heap区又分:Eden Space(伊甸园).Survivor Space(幸存者区).Tenured Gen(老年代-养老区). 非heap区又分: ...

  9. linux perm

    转自: http://www.linuxidc.com/Linux/2012-05/59693.htm 有修改 nd -perm,根据文件的权限来查找文件,有三种形式:find -perm modef ...

  10. BZOJ 2111: [ZJOI2010]Perm 排列计数 [Lucas定理]

    2111: [ZJOI2010]Perm 排列计数 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1936  Solved: 477[Submit][ ...

随机推荐

  1. Java对象是怎么创建的(通过对象的创建,了解JVM内存结构)

    在代码层面,我们通过new关键字创建一个对象: Object obj=new Object(); 而虚拟机中,创建一个对象,则经过了许多环节,JVM的内存结构可以通过另一篇文章了解:一个“Hello ...

  2. linux系统定时发送邮件

    Linux Centos7系统下利用自带的mail发送邮件服务 简介 本章分为五部分. 第一部分是基于虚拟机下的CentOS 7环境定时发送邮件: 第二部分是基于在阿里云购买的CentOS 7服务器环 ...

  3. Python学习笔记五(读取提取写入文件)

    #Python打开读取一个文件内容,然后写入一个新的文件中,并对某些字段进行提取,写入新的字段的脚本,与大家共同学习. import os import re def get_filelist(dir ...

  4. 引入jar包到本地仓库方法

    1. 将jar放到本地某个位置,然后cmd到目标位置:2. 执行mvn install:install-file -DgroupId=com.alipay -DartifactId=alipay-tr ...

  5. WCE-hash注入工具使用

    wce的使用说明如下 参数解释:-l          列出登录的会话和NTLM凭据(默认值)-s               修改当前登录会话的NTLM凭据 参数:<用户名>:<域 ...

  6. Spring Boot 入门(七):集成 swagger2

    本片文章是基于前一篇写的,<Spring Boot 入门(六):集成 treetable 和 zTree 实现树形图>,本篇主要介绍了spring boot集成swagger2.关于swa ...

  7. go-defer语句

    Go语言中的defer语句也非常独特. defer语句仅能被放置在函数或方法中. 它由关键字defer和一个调用表达式组成. 调用表达式所表示的既不能是对Go语言内建函数的调用 也不能是对Go语言标准 ...

  8. MFC::使用mysql

    下载mysql-installer-community-5.7.16.0.msi,安装 mysql server即可. 创建工程包含头文件 #include "winsock.h" ...

  9. FTPClient连续读取文件

    最近在使用FTPClient连续读取ftp上的多个文件内容时,遇到了两个问题: 1. 在for循环中,FTPClient只能读取到第一个文件内容,读取第二个时遇到NPE问题. 2. 遇到程序锁死. 下 ...

  10. Java代码优化建议

    总结日常Java开发常见优化策略,持续更新. 尽可能使用局部变量 调用方法时传递的参数以及在调用中创建的临时变量都保存在栈中,速度较快,其他变量,如静态变量.实例变量等,都在堆中创建,速度较慢.另外, ...