Linux第二周学习笔记(11)

Linux第二周学习笔记(11)bash


2.17 隐藏权限lsattr_chattr
ide

chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性。学习

参数说明:spa

A:表示文件或目录的atime将不可修改unix

s:会将数据同步写入磁盘中同步

a:只能追加不能删除,非root用户不能设定该属性it

c:自动解压该文件,读取时会自动解压io

i:文件不能删除、从命名、设定连接、写入以及新增数据ast

lsattrlist attribute)命令:用于读取文件或者目录的特殊权限class

a:列出全部文件(包含隐藏文件)

R:连同子目录一块儿列出

d:只列出当前目录

-----------------------------------------------------------------------------------------

chattr –i命令:文件不能删除、从命名、设定连接、写入以及新增数据

[root@daizhihong01 tmp]# ls -l

总用量 8

-rw-r--r--  1 root     root    0 2   1 22:09 123456.txt

-rw-r--r--  1 root     root    0 2   1 22:09 123.txt

-rw-r--r--  1 root     root    0 2   1 22:09 12.txt

-rw-r--r--  1 root     root    0 2   1 22:09 1.txt

 

1234567890qwweerrrii

~                                                                                                                                    ~                                                                                                                                    ~                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

E45: 'readonly' option is set (add ! to override) 不能编辑保存)

q!(强制退出)

[root@daizhihong01 tmp]# head -n2 /etc/passwd>1.txt

-bash: 1.txt: 权限不够(不能写入)

[root@daizhihong01 tmp]# ls -l 1.txt

-rw-r--r-- 1 root root 0 2   1 22:09 1.txt(从-rw-r--r—权限当中查看时能够编辑的,可是不能编辑的话就要考虑是否设置了特殊的权限,这时咱们能够使用lasttr命令查看这个文件的特殊权限)

[root@daizhihong01 tmp]# lsattr 1.txt

----i----------- 1.txt(加了特殊权限-i

[root@daizhihong01 tmp]# lsattr 12.txt

---------------- 12.txt(普通文件里面是没有-i特殊权限的)

不能覆盖

[root@daizhihong01 tmp]# mv 1.txt 12.txt

mv:是否覆盖"12.txt" y

mv: 没法将"1.txt" 移动至"12.txt": 不容许的操做

不能删除

[root@daizhihong01 tmp]# rm 1.txt

rm:是否删除普通空文件 "1.txt"y

rm: 没法删除"1.txt": 不容许的操做

[root@daizhihong01 tmp]# rm -f 1.txt

rm: 没法删除"1.txt": 不容许的操做

能够更改时间

[root@daizhihong01 tmp]# touch 1.txt

touch: 没法建立"1.txt": 权限不够

移除“i”权限

[root@daizhihong01 tmp]# chattr -i 1.txt

[root@daizhihong01 tmp]# lsattr 1.txt

---------------- 1.txt

减掉“i”参数之后就能够编辑了

[root@daizhihong01 tmp]# vi 1.txt

[root@daizhihong01 tmp]# rm 1.txt

rm:是否删除普通文件 "1.txt"y

-------------------------------------------------------------------------------------

chattr a命令:只能追加不能删除,非root用户不能设定该属性

 [root@daizhihong01 tmp]# lsattr 12.txt

-----a---------- 12.txt

[root@daizhihong01 tmp]# chattr -a 12.txt

 [root@daizhihong01 tmp]# lsattr 12.txt

---------------- 12.txt

---------------------------------------------------------------------------------------

不能删除

[root@daizhihong01 tmp]# rm 12.txt

rm:是否删除普通空文件 "12.txt"y

rm: 没法删除"12.txt": 不容许的操做

[root@daizhihong01 tmp]# rm -f 12.txt

rm: 没法删除"12.txt": 不容许的操做

不能写入

[root@daizhihong01 tmp]# vi 12.txt

 

qwjxjx

nxnxxxkx,

~                                                                                                                                    

~                                                                                                                                   

~                                                                                                                                    

~                                                                                                                                   

~                                                                                                                                    

                                                                                                                             

"12.txt"

"12.txt" E212: Can't open file for writing

Press ENTER or type command to continue

不能覆盖:

[root@daizhihong01 tmp]# mv 12.txt 123.txt

mv:是否覆盖"123.txt" y

mv: 没法将"12.txt" 移动至"123.txt": 不容许的操做

能够更改时间信息:

[root@daizhihong01 tmp]# touch 12.txt

[root@daizhihong01 tmp]# ls -l

总用量 8

-rw-r--r--  1 root     root    0 2   1 22:09 123456.txt

-rw-r--r--  1 root     root    0 2   1 22:09 123.txt

-rw-r--r--  1 root     root   65 2   1 23:03 12.txt

追加内容也不行:

[root@daizhihong01 tmp]# head -n2 /etc/passwd > 12.txt

-bash: 12.txt: 不容许的操做

从后面追加是能够的:

[root@daizhihong01 tmp]# head -n2 /etc/passwd >> 12.txt

[root@daizhihong01 tmp]# cat 12.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

从后面追加的内容

a”权限能够追加内容,能够更改时间信息

-------------------------------------------------------------------------------------

[root@daizhihong01 tmp]# tree 001

001

└── 002

└── 003

[root@daizhihong01 tmp]# lsattr 001

---------------- 001/002

[root@daizhihong01 tmp]# lsattr -d 001(查看本目录)

---------------- 001

目录加上“i”权限:

[root@daizhihong01 tmp]# lsattr -d 001

----i----------- 001

不能删除目录:

[root@daizhihong01 tmp]# rm -r 001

rm:是否进入目录"001"? y

rm:是否进入目录"001/002"? y

rm:是否删除目录 "001/002/003"y

rm:是否删除目录 "001/002"y

rm: 没法删除"001/002": 权限不够

不能覆盖:

[root@daizhihong01 tmp]# mv 001 123456

mv: 没法将"001" 移动至"123456": 不容许的操做

不能在目录下建立文件:

[root@daizhihong01 tmp]# touch 001/123456.txt

touch: 没法建立"001/123456.txt": 权限不够

以上能够看出给目录加上“i”权限之后和文件加“i”权限之后是同样的

去掉“i权限”:

[root@daizhihong01 tmp]# chattr -i 001

[root@daizhihong01 tmp]# lsattr  001

---------------- 001/002

目录加上“a”权限:

[root@daizhihong01 tmp]# chattr +a 001

[root@daizhihong01 tmp]# touch 001/123456.txt

[root@daizhihong01 tmp]# tree 001

001

├── 002

└── 123456.txt

1 directory, 1 file

是可在目录下追加文件的

编辑目录下文件的内容:

[root@daizhihong01 tmp]# vi 123456.txt

 

123456wenjian

~                                                                                                                                   

~                                                                                                                                    

~                                                                                                                                   

~                                                                                                                                    

~                                                                                                                                   

~                                                                                                                                    

~                                                                                                                                    

~                                                         

:wq

[root@daizhihong01 tmp]# cat 123456.txt

123456wenjian

目录加了“a”之后能更改目录下文件的内容

目录加“i”之后编辑目录下的文件:

[root@daizhihong01 tmp]# chattr -a 001

[root@daizhihong01 tmp]# chattr +i 001

[root@daizhihong01 tmp]# head -n2 /etc/passwd > 001/123456.txt

 [root@daizhihong01 tmp]# cat 001/123456.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

只要是在目录下存在的文件加“i”权限之后也是能够编辑文件的

---------------------------------------------------------------------------------

lsattr –R命令:能够查看主目录下的子目录及文件隐藏权限

[root@daizhihong01 tmp]# lsattr -R 001

---------------- 001/002

 

001/002:

 

---------------- 001/123456.txt

不加“R”的话仅仅只是查看一层的目录

[root@daizhihong01 tmp]# lsattr 001

---------------- 001/002

---------------- 001/123456.txt

lsattr a命令:能够查看主目录下的子目录及文件(包含隐藏文件)隐藏权限

[root@daizhihong01 tmp]# lsattr -a

---------------- ./.

---------------- ./..

---------------- ./yum.log

---------------- ./.font-unix

---------------- ./.ICE-unix

---------------- ./.Test-unix

---------------- ./.X11-unix

---------------- ./.XIM-unix