文件权限详解

简介:

文件权限

文件属性

通过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进入该目录

区别:

wKioL1na-OGRAX2FAAAVFSNe6Es343.png

文件权限可以用八进制来表示
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。


本文转自 游骑兵vtx 51CTO博客,原文链接:http://blog.51cto.com/qibingtuan/1970879


相关文章
|
6月前
文件查找和文件权限
文件查找和文件权限
52 0
|
Linux
文件属主
文件属主
105 0
/文件和目录权限chmod /更改所有者和所属组chown/umask/隐藏权限lsattr/chattr
2.14 文件和目录权限chmod 2.15 更改所有者和所属组chown2.16 umask2.17 隐藏权限lsattr/chattr     文件和目录权限chmod  文件权限: r     4       可读 w    2      可写 x     1    ...
1327 0
|
Unix 数据安全/隐私保护 Shell
|
SQL 分布式计算 Hadoop