1. 对文件或目录的权限和归属
2. 修改文件或目录的权限和归属
3. 默认权限
4. 查看和设置文件或目录的隐藏属性
1、对文件和目录的权限和归属
权限 | 可读(r) | 可写(w) | 可执行(x) |
文件 | cat | 修改vi | 运行程序 |
目录 | ls | 添加、删除等 | 切换目录 |
归属 | |
文件拥有者(owner) | 拥有该文件或目录的用户账号 |
属组(group) | 拥有该文件或目录的组账号 |
其他人(others) | 除了属主和属组的其他人 |
dr-xr-x---. 2 root root 4096 Jan 2 15:57 .
分析:后九个字符分为三组,分别为属主、属组、其他人对此目录有的权限,并且属主root,属组是root组
文件的写权限是对文件里面的内容进行修改、删除,因此看用户对文件内容有没有修改等作用要看用户对文件是否有写权限
目录的内容是文件名,因此用户对文件进行删除、移动等作用要看用户对目录有没有写的权限
2、修改文件或目录的权限和归属
修改权限
命令:
1.chmod [ugoa] [+-=] [rwx] 文件或目录
2.chmod nnn 文件或目录(3位8进制数字,0-7 读权限是4,写权限是2,执行权限是1)
注意:
1.只能是root或者文件的owner使用
2.选项 -R 递归修改目录下的所有文件
3. =相当于重置的作用
-rw-r--r--. 1 root root 8 Dec 30 15:54 a.txt
[root@localhost ~]# chmod u=rw,g=r,o=r a.txt
[root@localhost ~]# ls -l a.txt
-rw-r--r--. 1 root root 8 Dec 30 15:54 a.txt
[root@localhost ~]# chmod 641 a.txt
[root@localhost ~]# ls -l a.txt
-rw-r----x. 1 root root 8 Dec 30 15:54 a.txt
如果给所有用户重置权限,可以用chmod nnn(数字格式) 或者chmod a=rwx
如果给owner、group、others某一类用户,用字符格式
修改归属
命令:
chown 属主:属组 文件或目录
注意:
1.属主和属组必须存在
2.只有root用户才可以使用
3.-R:递归修改目录下所有文件
chown owner 文件
chown owner: 文件
两者区别:加了:,就一定会修改文件的属组,如果冒号后面不加,就会替换成为属主的基本组
chown :group 文件
chown owner :group 文件
3、默认权限
内核级别:文件的初始权限是666,没有x
文件夹的初始权限是777
Umask作用:将初始权限不需要的权限去掉,提高安全性
[root@localhost ~]# umask
0022
看后面三个数字:022(反码)
[root@localhost ~]# umask -S (正常权限)
u=rwx,g=rx,o=rx
对文件来说,初始权限是666,去掉group和others的写权限
对于文件夹来说,初始权限是777,去掉group和others的写权限
4、和设置文件或目录的隐藏属性
lsattr 文件
-d:查看目录本身
[root@localhost ~]# lsattr a.txt
-------------e- a.txt(每个都有e)
chattr [+-+] [ai] 文件
-R:递归修改目录属性
a:只能追加文件内容
i:锁定文件内容,只能查看,其他操作没有权限
[root@localhost ~]# lsattr a.txt
-------------e- a.txt
root@localhost ~]# cat a.txt
123
456
[root@localhost ~]# chattr +a a.txt
[root@localhost ~]# lsattr a.txt
-----a-------e- a.txt
[root@localhost ~]# echo abc >> a.txt (追加abc到abc.txt)
[root@localhost ~]# cat a.txt
123
456
abc
[root@localhost ~]# vim a.txt (abc.txt中删除c)
123
456
Ab
提示:
"a.txt"
"a.txt" E212: Can't open file for writing
Press ENTER or type command to continue
[root@localhost ~]# chattr =ei a.txt (增加 i隐藏属性)
[root@localhost ~]# lsattr a.txt
----i--------e- a.txt
[root@localhost ~]# ls -l a.txt
-rw-r----x. 1 root root 12 Jan 2 17:01 a.txt (root用户对a.txt文件有w权限,理论上可以对文件内容进行修改)
"a.txt"
"a.txt" E212: Can't open file for writing
Press ENTER or type command to continue