文件查找:find命令、locate命令;Linux文件系统上的权限

文件查找:find、locate

locate:依赖事先构建的索引,是在系统空闲周期性自动进行;手动更新(updatedb);极其消耗资源;

 

find [option]… [查找路径] [查找条件] [处理动作]

查找条件:

根据文件名查找:

-name “文件名称”:支持使用通配符glob(*,?,[],[^])

-iname “文件名称” :不区分字母大小写

-regex “pattern”:支持正则表达式,以pattern匹配整个文件路径字符串,而不仅仅是文件名称;

根据属主、属组查找:

-user username:查找属主为指定用户的文件;

-group groupname:查找属组为指定组的文件;

-uid userid:UID;

-gid groupid:GID;

-nouser:查找没有属主的文件;

-nogroup:查找没有属组的文件;

根据文件类型查找:

-type TYPE:

f:普通文件

d:目录文件

l:符号链接文件

s:套接字文件

b:块设备文件

c:字符设备文件

p:管道文件

 

组合条件:

与:-a

或:-o

非:-not,!

!A -a !B = !(A -o -B)

!A -o !B = !(A -a -B)

根据文件大小查找:

-size [+-]#UNIT:常用单位k,M,G;

例如:3k:代表范围大于2k,小于等于3k;

-3k:代表范围小于等于2k;

+3k:代表范围大于3k;

 

根据时间戳查找;

以”天”为单位:

-atime [+-]#

-mtime

-ctime

例如-atime 3:代表大于等于3天,小于4天内;

-atime +3:大于4天内;

-atime -3:小于3天内;

 

以”分钟”为单位:

-amin

-mmin

-cmin

 

根据权限查找:

-perm [/-]MODE

MODE:精确权限匹配;

/MODE:任何一类(u,g,o)对象的权限有为其指定的权限标准中的匹配任一个即可;

注意:centos7上废弃了+MODE模式;

The interpretation of `-perm +omode’ changed in findut
ils-4.5.11. The syntax `-perm +omode’ was removed in findutils-4.5.12, in favour of `-perm /omode’.

-MODE:每一类对象都必须同时拥有为其指定的权限标准;

 

处理动作:

-print:默认的处理动作,显示至屏幕;

-ls:类似于对查找到的文件执行“ls -l”命令;

-delete:删除;

-ok command {} \;:对查找到的每个文件执行由command指定的命令;交互式;{}:用于引用查找到的文件名称本身;

-exec command {} \;:对查找到的每个文件执行由command指定的命令;非交互式

注意:find传递查找到的文件给后面的command时,是一次性传递给后面的命令;某些命令不能接受过多参数,此时命令会执行失败;另一种方式可规避:find | xargs command

例如:find /tmp -user test -exec mv {} {}.new \;

 

Linux文件系统上的权限:

1、基本权限:r,w,x;

2、安全上下文

前提:进程有属主属组;文件有属主属组;

(1)任何一个可执行程序文件能否启动为进程,取决于发起者对程序文件是否拥有执行权限;

(2)启动为进程后,其进程的属主为发起者,进程的属组为发起者所属的组;

(3)进程访问文件时的权限,取决于进程的发起者:

(a)进程的发起者,同文件的属主,则应用文件属主权限;

(b)进程的发起者,属于文件的属组,则应用文件属组权限;

(c)应用文件“其它”权限;

 

3、特殊权限

SUID:

(1)任何一个可执行程序文件能否启动为进程,取决于发起者对程序文件是否拥有执行权限;

(2)启动为进程后,其进程的属主为原程序文件的属主;

设定:chmod u+s file

取消:chmod u-s file

SGID:

当某目录设定了SGID,即在该目录新建文件的属组默认为原目录的属组;

设定:chmod g+s dir

取消:chmod g-s dir

Sticky:

当某目录设定了Sticky,即该目录下用户只能删除属主为自己的文件。

设定:chmod o+t dir

取消:chmod o-t dir

 

4、修改文件系统属性(对root用户也生效)

设定:chattr

查看:lsattr

 

5、ACL权限:访问控制列表;(ACL的功能是应对复杂用户环境的权限问题)

设定:setfacl -m u:user:rwx file|directory

查看:getfacl

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90037

(0)
上一篇 2017-12-14 00:45
下一篇 2017-12-14 17:31

相关推荐

  • Linux程序包管理(二)YUM使用

    YUM Linux程序包管理(二) 说完了程序包管理以及rpm的相关使用,接下来说说rpm的前端管理工具 YUM YUM是什么?    前面提到,yum是rpm程序包管理器的前端管理工具,那么yum到底是什么?又能做什么呢? YUM:yellow dog,Yellowdog Update Mod…

    Linux干货 2016-06-01
  • awk的进阶

    前言 awk的中有很多的控制语句,awk也支持if语句,while语句,for语句等等编程逻辑充的控制语句及数组、函数。 awk的进阶无非就是多练。 1.控制语句 (1)if-else语句 语句格式: if(condition) {statments}    if  (条件) 条件为真 执行{statments} 只有一个语句可…

    Linux干货 2016-06-26
  • 马哥教育网络班22期+第2周课程练习 忍者乱太郎喻成

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示?  type 查看文件类型的命令    type /dev/sda     mkdir 创建文件夹     mkdir [ -p -v…

    Linux干货 2016-09-06
  • N26-第九周作业-邢岩

    马哥门徒-N26-邢岩 相信自己、勤奋努力、不断总结!shell脚本练习需要重复、重复、再重复!那么,我就继续来写、写、写。 1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #******************************…

    Linux干货 2017-04-03
  • Linux基础知识——SHELL之循环

    1、写一个脚本,判断当前系统用户shell是否都为可登陆shell(即非/sbin/nologin),分别计算两类用户的个数(通过比较字符串实现) #!/bin/bash #       check the user could login&nbsp…

    Linux干货 2016-12-13
  • grep,sed,与正则等

    grep:文本过滤(模式:pattern)工具; grep, egrep, fgrep(不支持正则表达式搜索 sed:stream editor,文本编辑工具; awk:Linux上的实现gawk,文本报告生成器;a grep [OPTIONS] PATTERN [FILE…] grep…

    Linux干货 2016-08-12