预习 隐藏权限lsattr/chattr、特殊权限、find命令、linux和windows互传文件

chattr 设置隐藏权限linux

lsattr 查看隐藏权限shell

lsattr -R 能够把目录和目录下面的文件和子目录的隐藏权限显示出来。数据库

向文件添加了隐藏 i 权限后即便咱们查看该文件时,出现有rwx权限可是也不能操做,甚至编辑文件,添加内容也会出错windows

 

隐藏 i权限 是文件不能删,重命名,设定连接,写入和新增数据ui

 

格式:chattr [+-=][隐藏属性][文件名或目录名].net

+:增长   、-:减小 、=:设定debug

 减小 i 属性 chattr -i 1.txt3d

利用chattr +i是否是能够锁掉一些关键目录blog

lsattr 查看的是一个目录下的子目录和子文件隐藏文件ip

lsattr -d 目录名  加上-d 就能够查看目录自己隐藏权限

chattr +a 文件名 只能追加、能够touch更改时间,不能删除,不能更名,不能更改文件内容

chattr +i 目标目录  在这个目录下咱们自己有一个问价(12.txt文件)这样咱们在这个原有的文件下增长、追加内容都是能够的。可是不是针对原有文件操做则不行。

每次vi时其实是在swap文件里编辑而后由swap覆盖原来的1.txt,若是+a则1.txt不能消失因此就多了一个swap文件

那这样1.txt是否是没有修改为功,由于说不能覆盖 

 

特殊权限set_uid

     set_uid能够使普通用户临时拥有root用户的权限,给普通用户设置set_uid,前提是文件是一个二进制的文件,并且是一个可执行的文件,

/usr/bin/passwd这个文件默认拥有set_uid的权限。没有x权限s会显示成大写的

      给普通用户设置执行ls命令的权限:chmod u+s /usr/bin/ls

      给普通用户去掉执行ls命令的权限:chmod u-s /usr/bin/ls

 

特殊权限set_gid

     权限位做用在组权限位上面,一样也是一个小s,使普通用户临时拥有所属组的身份。做用在文件上和set_uid的做用差很少。

  给ls加上一个set_gid权限:  chmod g+s /usr/bin/ls

特殊权限stick_bit

stick_bit 防删除位,防止其余用户删除本身的文件。

文件是否能够被某个用户删除,主要取决于该文件在这个目录是否对该用户具备写权限。有写功能便可删除,不然反之!

stick_bit 防止别人删除咱们本身的文件

rwt 也是具备x权限的

当咱们的目录添加了一个 stick_bit权限,则咱们在其余用户 的时候就不能删除这个文件和目录,可是能够修改。

find命令

find是用来搜索文件的命令,此外,which、whereis,locate(yum install -y mlocate 安装后收到手动生成相应数据库 updatedb)都是用来搜索文件的命令。

格式:find 路径 +具体的条件

经过文件类型查找文件

find 【路径】-type 【类型f/b/c/d/l/s】-name filename

格式:find 【路径】文件类型

类型:-type -name -atime -ctime-mtime

用stat查看文件的具体信息

查找在150分钟发生更改的文件   find /root/ -type f -mmin -150

 

# find /root/ -type f -mmin -150 -exec ls -l {} \; ls -l出在150分钟内发生修改的文件

find /root/ -type f -mmin -150 -exec mv{} {}.bak \;

 

工做中可用到:

查找文件大小(k,M,G)

find /root/ -size +10k  查找大于10K的文件

find /root/ -size -10M  查找小于10M的文件

检验:大于10K

find /root/ -type f -size +10k -exec ls -lh {} \;

 

  文件名后缀

 在linux系统中,文件的后缀名没有具体意义,加或者不加都无所谓。(为了区分,咱们都加一个后缀名)

1.sh  ==表明shell脚本

2.tar.gz ==表明压缩包

3.my.cnf ==表明配置文件

4.test.zip  ==表明压缩文件

5. .txt   == 表明普通文档文件

linux和windows互传文件(只能在xshell上面执行)

       首先要安装一个互传的包lrzsz, rz表示把windows上的文件传到linux上面(传到当前目录);sz+文件名,把linux上的文件传到windows上面

find ./表示在当前路径下查找,

find /etc 表示在etc文件下查找

find -type f 表示查找文件

find -type d 表示查找目录

find -name 1.txt 表示查找文件名称是1.txt 的文件

find -size 500M 表示查找大小为500兆的文件

find -perm 644 表示查找文件或目录权限是644/rw-r--r--

stat 1.txt 表示查看当前文件修改的时间,属性修改的时间

查找/var目录下属主是root而且属组是mail的全部文件

[root@localhost ~]# find /var -type f -user root -group mail
/var/spool/mail/root
[root@localhost ~]#

查找/usr/目录下不属于root,bin的文件

[root@localhost ~]# find /usr  -type f -not -user root -a -not -user bin
/usr/libexec/abrt-action-install-debuginfo-to-abrt-cache
[root@localhost ~]#

 

atime,amin,ctime,cmin,mtime,mmin

atime,amin:文件被查看时间

ctime,cmin:文件内容被修改的时间

mtime,mmin:文件属性被修改的时间

查找/etc目录下最近一周内容修改过且不属于root用户的文件

[root@localhost ~]# find /etc -type f -mtime -7 -not -user root
[root@localhost ~]#

find -ctime +1 表示1天以上

find -ctime -1 表示1天之内

find -ctime 1 恰好一天

find -nouser 没有属主

find -nogroup 每一属组

查找当前系统上没有属主或属组且最近一天内访问的过的文件并将属主和属组都改成root

find / -type f -nouser -a nogroup -atime -1|xargs chown root.root

查找/etc目录下大于1M的文件,并将文件名写入到/tmp/test文件中

find /etc -size +1M -type f >>/tmp/test

查找/etc目录下全部用户没有写权限的文件并列出详细信息

find /etc -type -f -not -perm /222 

先找出全部有写权限的文件再取反就找到结果。

 

多个文件个并为一个

find /tmp -name "*.sh"|xargs cat 2>&1 1>>cc.txt

相关文章
相关标签/搜索