文件权限
文件属性
通过ls -li可查看文件的长格式信息,我们取出一个进行解释
[root@centos7 /]#ls -li
64 dr-xr-xr-x. 4 root root 4.0K Jul 14 11:33 boot
第1列:inode号
第2列:第1个字符代表文件的类型(-是普通文件,d是目录等等)
第2-10个字符代表文件权限,前三个是用户的权限、中间三个用户组的、后面其他用户的权限
第11个字符.与SELINUX相关,暂时不做描述
第3列:文件的硬连接数
第4列:文件对应的属主或者用户
第5列:文件对应的属组或者用户组
第6列:文件大小
第7列:文件最后的修改的时间
第8列:文件名
修改文件属主和属组
chown 修改文件的属主(也可以改组)
用户 文件或者目录 <==仅仅授权用户
:组 文件活目录 <==仅仅授权组
用户:组 文件或目录 <==表示授权用户和组
-R 递归
–reference=源文件 目标文件
强调:
1)其中的冒号“:”可以用点好“.”代替
2)要授权的用户和组名,必须是linux系统里实际存在的
案例:
[root@centos7 app]#ll
-rw-r–r–. 1 root root 0 Jul 29 16:27 f1
-rw-r–r–. 1 root root 0 Jul 29 16:27 f2
[root@centos7 app]#chown ma:ma f1
[root@centos7 app]#chown :zhu f2
[root@centos7 app]#ll
-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1
-rw-r–r–. 1 root zhu 0 Jul 29 16:27 f2
[root@centos7 app]#chown –reference=/app/f1 f2 #将f1的用户和属组信息复制给f2
[root@centos7 app]#ll
-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1
-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f2
chgrp 修改文件的属组(只能改组)
—-reference=源文件 目标文件
-R 递归
案例:
[root@centos7 app]#chgrp ma f1 <==将f1的属组直接修改成ma
[root@centos7 app]#ll
-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f1
-rw-r–r–. 1 ma ma 0 Jul 29 16:27 f2
-rw-r–r–. 1 root root 0 Jul 29 16:37 f3
[root@centos7 app]#chgrp –reference=/app/f3 f1
[root@centos7 app]#chgrp –reference=/app/f3 f2
[root@centos7 app]#ll
-rw-r–r–. 1 ma root 0 Jul 29 16:27 f1
-rw-r–r–. 1 ma root 0 Jul 29 16:27 f2
-rw-r–r–. 1 root root 0 Jul 29 16:37 f3
文件权限
普通文件
r:可以读取文件的内容
w:可以追加或者覆盖文件的内容
x:可以执行改文件,需要和r配合
目录文件
r:可以查看目录下有哪些文件,不能查看文件的详细信息
w:可以在目录中创建和删除文件,需要x配合
x:可以cd进入该目录
区别:
文件权限可以用八进制来表示
r:4
w:2
x:1
例如:rwx=4+2+1=7
修改文件权限
chmod
方法一:chmod u=rwx,g=rx,o=r /app/f1
方法二:chmod 755 /app/f1
方法三:chmod –reference=f1 f2 <==将f2的权限修改成f1一样
默认权限umask
默认权限umask
真实用途,从对应的位中将umask指定权限去除
全局设置:/etc/bashrc
用户设置:~/.bashrc
新建目录权限=777-umask
新建文件权限=666-umask 看结果,有寄数,对位+1
无寄数 偶数不变,最终结果
目录案例:
[root@centos7 app]#umask
0022
当前umask的值为0022(第一位是特殊权限位,后续会介绍暂时不用理会)
新建目录权限=777-022=755
[root@centos7 app]#mkdir test/
[root@centos7 app]#ll
drwxr-xr-x. 2 root root 6 Jul 29 19:15 test <==创建一个目录test可以看见默认权限为755
[root@centos7 app]#su – ma <==切换到ma用户,root默认umask为022,其他用户002
Last login: Sat Jul 29 17:17:11 CST 2017 on pts/0
[ma@centos7 ~]$umask
0002
[ma@centos7 ~]$mkdir test2
[ma@centos7 ~]$ll
drwxrwxr-x. 2 ma ma 6 Jul 29 19:20 test2 <==创建的目录为775=777-002,符合上述格式
文件案例:这次我们把默认umask更改为0421
[root@centos7 app]#umask 0421
[root@centos7 app]#umask
0421
[root@centos7 app]#touch f1
[root@centos7 app]#ll
–w-r–rw-. 1 ma ma 0 Jul 29 19:38 f1 <==666-421=245 5为奇数+1,偶数不变。最终为246。