2018/5/14课程笔记(第三课)

1.隐藏权限lsattr_chattr

chattr是用来增加隐藏权限的命令。

用man chattr查看chattr的用法。

帮1.txt增加i权限后发现编辑后无法保存。

[root@localhost ~]# man chattr
[root@localhost ~]# chattr +i /tmp/xiaoqi/1.txt
[root@localhost ~]# vi /tmp/xiaoqi/1.txt
[root@localhost ~]# 

如下图所示:

但是使用ls -l命令查看文件是有读写权限的,所以用lsattr查看隐藏权限。

再新建一个2.txt文件查看隐藏权限发现什么都没有。

[root@localhost ~]# ll /tmp/xiaoqi/1.txt
-rw-r--r--. 1 root root 0 5月  12 16:24 /tmp/xiaoqi/1.txt
[root@localhost ~]# lsattr /tmp/xiaoqi/1.txt
----i----------- /tmp/xiaoqi/1.txt
[root@localhost ~]# touch /tmp/xiaoqi/2.txt
[root@localhost ~]# lsattr /tmp/xiaoqi/2.txt
---------------- /tmp/xiaoqi/2.txt

chattr +i权限将造成无法写入,无法改名,无法删除,无法使用touch命令。

[root@localhost ~]# rm /tmp/xiaoqi/1.txt 
rm:是否删除普通空文件 "/tmp/xiaoqi/1.txt"?y
rm: 无法删除"/tmp/xiaoqi/1.txt": 不允许的操作
[root@localhost ~]# mv /tmp/xiaoqi/1.txt 3.txt
mv: 无法将"/tmp/xiaoqi/1.txt" 移动至"3.txt": 不允许的操作
[root@localhost ~]# touch /tmp/xiaoqi/1.txt
touch: 无法创建"/tmp/xiaoqi/1.txt": 权限不够

chattr -i取消特殊权限。

[root@localhost xiaoqi]# chattr -i 1.txt

chattr  +a命令,只可以追加。不可更改,不可重命名。

[root@localhost xiaoqi]# chattr +a 1.txt
[root@localhost xiaoqi]# rm 1.txt
rm:是否删除普通文件 "1.txt"?y
rm: 无法删除"1.txt": 不允许的操作
[root@localhost xiaoqi]# cd
[root@localhost ~]# head -n2 /etc/passwd >/tmp/xiaoqi/1.txt
-bash: /tmp/xiaoqi/1.txt: 不允许的操作
[root@localhost ~]# head -n2 /etc/passwd >> /tmp/xiaoqi/1.txt
[root@localhost ~]# cat /tmp/xiaoqi/1.txt 
sdsa:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
[root@localhost ~]# head -n2 /etc/passwd >> /tmp/xiaoqi/1.txt
[root@localhost ~]# cat /tmp/xiaoqi/1.txt 
sdsa:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin

可使用touch命令

[root@localhost ~]# touch /tmp/xiaoqi/1.txt
[root@localhost xiaoqi]# ll 1.txt
-rw-r--r--. 1 root root 136 5月  13 11:35 1.txt

chattr -a命令取消只可追加命令。

[root@localhost xiaoqi]# chattr -a 1.txt
[root@localhost xiaoqi]# lsattr 1.txt
---------------- 1.txt

lsattr是用来查看目录下文件的隐藏权限,lasttr -d用来查看目录的隐藏权限。

[root@localhost tmp]# lsattr xiaoqi
---------------- xiaoqi/ls2
---------------- xiaoqi/xiaoqi2
---------------- xiaoqi/123
---------------- xiaoqi/1.txt
---------------- xiaoqi/222.txt
---------------- xiaoqi/test
---------------- xiaoqi/xiaoqi3
---------------- xiaoqi/2.txt
[root@localhost tmp]# lsattr -d xiaoqi
---------------- xiaoqi

当给目录加上i权限后,和文件效果一样,不可修改,移动,删除;可以修改目录下已经存在文件。

[root@localhost tmp]# chattr +i /111
[root@localhost tmp]# lsattr -d /111
----i----------- /111
[root@localhost tmp]# rmdir /111/
rmdir: 删除 "/111/" 失败: 不允许的操作

lsattr -R可以查看目录下子目录和子目录下文件的隐藏权限。

[root@localhost tmp]# lsattr -R xiaoqi
---------------- xiaoqi/ls2
---------------- xiaoqi/xiaoqi2

xiaoqi/xiaoqi2:

---------------- xiaoqi/123
---------------- xiaoqi/1.txt
---------------- xiaoqi/222.txt
---------------- xiaoqi/test

xiaoqi/test:

---------------- xiaoqi/xiaoqi3

xiaoqi/xiaoqi3:

---------------- xiaoqi/2.txt

猜你喜欢

转载自my.oschina.net/u/3850968/blog/1811559