0319文件和目录管理(二)

3.19预习任务:

2.17 隐藏权限lsattr/chattr

2.18 特殊权限set_uid

2.19 特殊权限set_gid

2.20 特殊权限stick_bit

2.21 软链接文件

2.22 硬连接文件

2.23/2.24/2.25 find命令

2.26 文件名后缀

2.27linux和windows互传文件

 

rename 文件的时候为什么 ctime 会改变?

https://blog.steamedfish.org/blog/post/steamedfish/why-ctime-will-change-when-rename-a-file

inode详解: http://www.ruanyifeng.com/blog/2011/12/inode.html

 

一、隐藏权限lsattr 与 chattr

chattr 附加权限

+i 的使用情况:不允许任何人对文件进行操作

 

chattr +i 1.txt 给文本1.txt加附加权限

chattr -i 1.txt 给文本1.txt去掉附加权限

 

可以通过lsattr 1.txt查看隐藏权限

此时无法对文件进行编辑

 

head -n 2 /etc/passwd > 1.txt 当把passwd前两行给1.txt写入时,也无法写入

 

mv 1.txt 2.txt 改名时,也无法操作

 

rm 1.txt 删除时,也不允许

 

在vi时,会自动创建一个缓存文件1.txt~,在保存退出后,会把写入的内容覆盖原来的文件,此文件删除,如果加了隐藏权限,会导致原文件无法保存,就会保存一个缓存文件

 

touch 1.txt 在touch时,也无法操作,touch会更改文件的创建时间

 

chattr +a 1.txt a权限只能在文件末尾追加内容还有touch,不能删除、更改、移动

head -n 2 /etc/passwd >> 1.txt 追加内容

 

查看123目录的隐藏权限

lsattr 123/ 查看的是123目录下面的子目录和子文件

 

lsattr -d 123 通过-d 查看目录本身

 

chattr +i 123/ 给目录 加 i 权限,加上之后和给文件加 i 权限是一样的效果

 

chattr +a 123/ 给目录 a 权限,只能追加

chattr +i 123/ 给目录 i 权限 ,不能再该目录下新建文件,但是可以给目录下已经存在的文件写入内容

touch 123/2.txt 在123目录下创建子文件也相当于追加

head -n 2 /etc/passwd >> 123/2.txt 可以把passwd的前两行直接写入到2.txt

 

lsattr -R 123 查看123目录下的子目录和子目录下面的文件

不在-R只显示一层目录

 

lsattr -a /root/ -a 可以查看目录下的隐藏文件和目录

 

二、特殊权限set_uid

set_uid -> s 小s 目录也可以设置,但是没有意义

只有此处有set_uid权限

 

作用: 保障普通用户临时拥有该命令所有者的身份,文件的前提是二进制的可执行文件。除了所有者之外的其他用户,当执行带有set_uid命令时,在执行的一瞬间就会被临时赋予该命令的所有者的身份 。

 

使用su - user1 切换到user1用户

 

使用root用户给ls设置一个set_uid权限, chmod u+s /usr/bin/ls

去掉set_uid ,chmod u-s /usr/bin/ls

 

到user1用户中查看,此时user1用户可以使用ls命令,并且root目录权限没有变动,因为给了ls命令set_uid 权限,才可以看到,临时拥有了root用户的权限

 

使用另一个方法添加小s(set_uid)权限,chmod u=rws /usr/bin/ls

此时这里的权限是S(大S),是因为没有x 权限,加上x权限,就变成小s了,如果是S(大S),user1普通用户也不受影响

 

三、特殊权限set_gid

此权限位作用在 ‘组’ 权限位上,也是小 s

chmod g+s /usr/bin/ls set_gid和set_uid作用在文件的时候,功能基本相同,只是角色不同,set_uid 是普通用户临时拥有所有者的身份,set_gid是普通用户临时拥有所属组的身份,所属组是root下面的用户的权限

 

set_gid 还可以作用在目录上,当作用在文件上时,和set_uid的作用类似

 

root用户去创建文件或目录时,所有者和所属组都是root,不动系统的前提下,当给目录设置了set_gid时,创建的子文件和子目录的所属组会跟着父级目录(set_gid权限的目录)保持一致

 

四、特殊权限stick_bit

这里的t 就是stick_bit权限,也叫防删除位,此权限靠父级目录设置的

stick_bit作用:防止别人删除自己的文件,root用户除外

 

使用user2创建目录user2,并给777权限,不设置stick_bit删除位,user1可以在user2目录下创建目录和文件,也可以删除user2目录下的文件和目录,因为user2目录是777的权限并且没有设置stick_bit删除位

 

五、软链接文件

软链接:路径越长,软连接文件的大小就越大,软连接做绝对路径

 

 

软连接创建

ln -s /tmp/yum.log /root/123/yum.log ( ln -s 源文件 软连接文件 )

 

软连接还可以链接目录

 

设置相对路径的软连接:ln -s yum.log tobe.log(不建议使用,做软连接尽量使用绝对路径)

 

df -h 查看磁盘分区

当磁盘或分区容量快满时,可以做软连接解决

六、硬链接

可以对文件做硬链接,不支持对目录做硬链接,不能跨分区

特性:创建的文件inode号相同,这两个相互的为硬链接文件

 

当源文件删除时,软连接找不到源文件就出问题了,但是硬链接时没问题的,inode号变成了1,真正的文件在inode

七、find命令

locate+命令 (模糊搜索) 通过yum install -y mlocate安装

 

此时需要updatedb,在使用

 

快捷键:

ctrl u 把光标之前的内容删除

ctrl e 把光标移动到最后

ctrl a 把光标移动到开头

find

find /etc/ -name "sshd_config"

 

find /etc/ -type d -name "sshd*" 根据文件类型是目录的去搜索

find /etc/ -type f -name "sshd*" 根据文件类型是文件的去搜索

 

find /etc/ -type l 搜索软连接文件 c类型,字符串设备.s类型socket文件。b类型,块设备文件

 

stat 3.txtr 查看文件的具体信息

mtime:创建时间->最近更改(改内容)

ctime: 最近改动(改权限)

atime: -> 最近访问

如果更改文件内容,ctime的时间一定会变

 

find /etc/ -type f -mtime -1 查看一天之内发生过更改的文件

 

find /etc/ -type f -mtime -1 -name "*.conf" /etc/目录下,类型是文件的并且醉经改动时间一天内的并且名字是.conf的文件,这里都是并且的关系

find /etc/ -type f -o -mtime -1 -o -name "*.conf" -o 表示或者

 

find / -inum 33583028 使用inum 加inode号,找文件的硬链接

 

find /root/ -type f -mmin -60 搜索60分钟之内做过修改的文件

 

find /root/ -type f -mmin -60 -exec ls -l {} \; 搜索60分钟之内做过修改的文件,并列出来;exec 是find的一个选项

 

find /root/ -type f -mmin -60 -exec mv {} {}.bak \; 把60分钟内做过修改的文件查找出来,并把文件名更改,一个{}是一个文件,改成后缀带.bak

 

find /root/ -type f -size -10k -exec ls -lh {} \; 查找文件大小小于10k的文件,+10k找大于10k的文件,10后面一定要跟单位

 

find ./ -inum 38869041 | xargs cat

八、文件名后缀

*.php ------是能用php语言解释器进行解释,能用浏览器打开的文件;
*.so -------这类是库文件;
*.doc  *.obt --------这是OpenOffice 能打开的文件;

.bz2 ------bzip2的压缩文件

.gz ------gzip的压缩文件

.tar ------tar打包文件(是包文件不是压缩文件)

.tbz------tar打包并用bzip压缩文件

.tgz-----tar打包并用gzip压缩的文件

.au -----audio文件

.gif -----gif图象文件

.html/.htm-----HTML文件

.jpg-----JPEG图象文件

.pdf------电子文档(PDF格式的)

.png-----PNG图象文件

.ps------postscinpt文件(打印格式文件)

.txt------纯文本文件

.wav-----audio文件

.xpm-----图象文件

.conf-------配置文件

.lock-------LOCK文件(用来判断一个文件或设备是否被使用)

.rpm------REDHATPackage.Manager文件(套件包或软件包)

.c -------C源程序代码文件

.cpp------C++源程序代码文件

.h -------C或C++程序的头文件

.o------程序目标文件

.pl------perl脚本文件

.so-----类库文件

 

九、Linux和windows互传文件

yum install -y lrzsz 安装好之后才可以使用sz和rz

xshell中使用sz命令把linux的文件传到windows sz 3.txt.bak,使用rz命令可以把windows的文件传到linux,直接rz回车即可

 

 

本次操作中遇到的问题:

在操作时出现了乱码的情况,使用的是putty,因为客户端字符集设置问题导致的,更改了字符集

自行百度解决~:https://jingyan.baidu.com/article/48a42057a057f7a9242504c5.html

 

 

 

 

转载于:https://my.oschina.net/u/4093217/blog/3024994

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值