linux find命令及特殊权限

01find命令

 

文件查找

在文件系统上查找符合条件的文件

文件查找:local  find

非实时查找(数据库查找): local

实时查找: find

 

local:

依赖于构建的索引: 索引的构建是在系统较为空闲时自动进行(周期性任务)

索引构建过程需要遍历整个文件系统,极其消耗资源

工作特点:

查找速度快

模糊查找

非实时查找

 

find:

实时查找工具,通过遍历指定路径下的文件系统完成文件查找

工作特点:

查找速度略慢

精确查找

实时查找

语法:

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

查找路径:指定具体目标路径,默认为当前目录

查找条件:指定的查找标准,可以文件名,大小类型,权限的标准进行,默认为找出指定路径下的所有文件

处理动作

 

查找条件:

根据文件名查找:

-name “文件名称” 支持glob

* , ? , [] , [^]

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

根据属主、属组查找:

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

group GRPNAME..属组..

 

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

-nogroup: ..属组..

 

根据文件类型查找:

f :

例:find /tmp  -not \(-user root  -a  -name ‘fstab’ \) -ls

 

根据文件大小查找:

-size [+|-]#UNIT

常用单位:k , m , g

02

2.安全上下文

前提:进程有属主和属组,文件有属主和属组

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

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

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

 

3.SUID

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

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

权限设置:

chmod u+s FILE

 

4.SGID

默认情况下,用户创建文件时,其属组为此用户所属的基本组

一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组。

chmod  g+s DIR...

5.Sticky

例:[root@MyLinux ~]# ls -dl /tmp
drwxrwxrwt 6 root root 4096 08-22 11:37 /tmp

 

对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件

chmod  o+t DIR...

stick bit (粘贴位)就是:除非目录的属主和root用户有权限删除它,除此之外其它用户不能删除和修改这个目录。

也就是说,在/tmp目录中,只有文件的拥有者和root才能对其进行修改和删除,其他用户则不行,避免了上面所说的问题产生。用途一般是把一个文件夹的的权限都打开,然后来共享文件,象/tmp目录一样。

 

suid的二进制串为:100,换算十进制为:4

guid的二进制串为:010,换算:2

stick bit 二进制串:001,换算:1

 

 

你可能感兴趣的:(linux)