theme: nico
文件和目录的权限与归属
访问权限 ls -l命令可以查看指定文件或目录的权限。
[root@localhost /]# ll opt //ls -l 可以查看文件目录的属性
总用量 0
drwxr-xr-x. 2 root root 6 3月 26 2015 rh
权限格式:rwx rw- --x
r读:
- 文件:可以看里面的内容。
- 文件夹:可以用ls看文件夹中的文件列表。
w 写入:
- 文件:可以修改文件的内容。(必须要有读的权限才能对其更改)
- 文件夹:新建文件(文件夹),删除文件(文件夹),移动文件(文件夹)。(在没有读权限下还是可以操作的)
x 执行:
- 文件:可以运行(命令、脚本)颜色是绿色。
- 文件夹:执行是最小的权限,没有执行什么都做不了所以必须得有。
归属(所有权):
- 属组:拥有该文件或目录的组账号(文件的拥有组)
- 属主:拥有该文件或目录的用户账号(文件的主人,文件的拥有者,拥有最高权限)
- 其他人:除了上面两种
数字表示法:
读:100——4
写:010——2
执行:001——1
最高权限:111——7
将二进制转化成十进制
修改文件属性权限命令:chmod
chmod命令格式:chmod 【选项】 指明属主,属组,其他人+权限 文件
常用选项:
选项 功能 -R 递归 u 属主 g 属组 o 其他人 a 所有人 + 加上 - 减去 = 赋予- chmod u+r 文件名(为属主加上读的权限)
- chmod u-r 文件名(为属主减去读的权限)
- chmod u+r 文件名(为属主)
- chmod a+r 文件名(为所有人都加上读的权限)
演示:
[root@localhost /]# ll zhutou //查看当前该文件的权限
-rw-r--r--. 1 root root 0 4月 7 13:53 zhutou
[root@localhost /]# chmod a+rwx zhutou //给当前文件权限升级为777
[root@localhost /]# ll zhutou
-rwxrwxrwx. 1 root root 0 4月 7 13:53 zhutou
也可写成数字表示法,会较为方便一些
[root@localhost /]# ll zhutou //查看当前该文件权限
-rw---x--x. 1 root root 0 4月 7 13:53 zhutou
[root@localhost /]# chmod 777 zhutou //给所有人加上最高权限
[root@localhost /]# ll zhutou //查验
-rwxrwxrwx. 1 root root 0 4月 7 13:53 zhutou
设置文件和目录的归属chown、chgrp
设置文件属性的属主与属组
chown命令格式:
选项 功能 chown 属主 文件名 只改变文件的属主 chown :属组 文件名 只改变文件的属组 chown .属组 文件名 只改变文件的属组 chown 属主:属组 文件名 属主属组都改变 chown 属主.属组 文件名 属主属组都改变常用选项:
-R:递归修改指定目录下所有文件、子目录的归属
演示:
chown既可以改变属主也可以改变属组
[root@localhost zhubao]# ll //查看当前文件夹下所有文件的属性
总用量 4
-rw-r--r--. 1 root root 0 4月 8 15:04 1
-rw-r--r--. 1 root root 0 4月 8 15:04 2
-rw-r--r--. 1 root root 0 4月 8 15:04 3
-rw-r--r--. 1 root root 9 4月 8 15:05 hello
[root@localhost zhubao]# chown zhubao.zhubao 1 //将文件1的属主与属组改为zhubao
[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月 8 15:04 1
-rw-r--r--. 1 root root 0 4月 8 15:04 2
-rw-r--r--. 1 root root 0 4月 8 15:04 3
-rw-r--r--. 1 root root 9 4月 8 15:05 hello
[root@localhost zhubao]# chown zhutou:zhutou 2 //换一种写法得出结果相仿
[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月 8 15:04 1
-rw-r--r--. 1 zhutou zhutou 0 4月 8 15:04 2
-rw-r--r--. 1 root root 0 4月 8 15:04 3
-rw-r--r--. 1 root root 9 4月 8 15:05 hallo
[root@localhost zhubao]# chown :guinv 3 //改变文件3的属组为guinv
[root@localhost zhubao]# ll
总用量 4
-rw-r--r--. 1 zhubao zhubao 0 4月 8 15:04 1
-rw-r--r--. 1 zhutou zhutou 0 4月 8 15:04 2
-rw-r--r--. 1 root guinv 0 4月 8 15:04 3
-rw-r--r--. 1 root root 9 4月 8 15:05 hallo
权限掩码umask
设置新建文件夹或目录的默认权限
[root@localhost /]# mkdir zhutou //在系统中创建新文件夹默认权限为755
[root@localhost /]# ll -d zhutou
drwxr-xr-x. 2 root root 6 4月 8 15:37 zhutou
[root@localhost zhutou]# touch 11 //在系统中默认创建文件权限为644
[root@localhost zhutou]# ll 11
-rw-r--r--. 1 root root 0 4月 8 15:40 11
umask作用:
- 控制新建的文件或者目录的权限。
- 默认权限去除umask的权限为新建的文件
- 规定了新建文件和新建文件夹落地权限
777(最高权限)-022(umas设置权限)=755(新建文件的默认权限)
umask查看: umask
umask设置: umask 0022
文件夹:这里的0022,第一个0为特殊权限,可以忽略,剩下的022为默认777基础上没有的权限,所以文件夹默认权限为755(rwx r-x r-x)。
文件:出于安全性考虑新建文件的最高权限为666 ,执行权限对于文件而言相对是比较危险的,所以一开始文件是没有执行权限的(相当于文件的初始权限是在最高权限777-111开始的)所以便得出666-022=644(rw- r-- r--)
umask设置格式
umask后面跟上数值可以设置umask值(umask 0000)
演示:
1.将umask改为0000创建文件夹(权限拉满)
[root@localhost zhutou]# mkdir zhubao
[root@localhost zhutou]# ll -d zhubao
drwxrwxrwx. 2 root root 6 4月 8 16:04 zhubao
2.将umask改为0123 新建文件则变为666-123=644(-rw-r--r--)文件结果遇到奇数加一偶数不变。
[root@localhost zhutou]# touch 123
[root@localhost zhutou]# ll 123
-rw-r--r--. 1 root root 0 4月 8 16:07 123
这样的umask只起到一个临时效果如果想要永久改变默认的话需写到/etc/profile文件下
[root@localhost zhutou]# vim /etc/profile //写入profile文件里可永久有效
[root@localhost zhutou]# umask
0123
文件的特殊权限SUID、SGID、sticky bit
三种特殊权限
suid:如果拥有该权限,把当前用户当做文件的属主
guid:如果拥有该权限,把当前用户当成文件的属组
stike:拥有该权限的文件夹,该文件内的文件只有超级管理员和属主可以删除其他人不可以删除。