centos7 - 权限解读

1、基本文件类型

- :普通文件
l : 软连接
d : 目录文件

b : 块设备文件(例如硬盘、光驱等)
p : 管道文件
c : 字符设备文件(例如猫等串口设备)
s : 套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)


查看方式: ls -l   或者 ll 都能看到
 

2、文件权限对应关系

权限 对应数字 意义
r 4 可读
w 2 可写
x 1 可执行
 
举例子:rwxr-xr-x  5 root root  94 Jun 27 2017 xdg
rwx:    代表文件所有者(u表示)权限,这里是root,root对该文件拥有读写执行权限。
r-x:     代表所属组(g表示)的权限,这里所属组root拥有对该文件读和执行的权限。
r-x:     代表其他人(o表示)的权限,这里和上面权限一样。
5 :     Linux文件权限字符串后面的数字是表示这个文件的硬连接文件数目,如果是1就表示这个文件没有硬连接文件,如果是2就表示这个文件的硬连接是1个,如果是3就表示这个文件的硬连接是2个,如果是4就表示这个文件的硬连接数目是3个,以此类推。
94:     表示文件大小
Jun 27 2017: 表示文件创建日期
xdg :   文件名
 

3、修改文件权限

命令:chmod
举例:源文件权限
# -rw-r--r--. 1 root root 3 5月  31 11:31 aa.txt

chmod u+x aa.txt   文件所有者,增加执行权限  
# -rwxr--r--. 1 root root 3 5月  31 11:32 aa.txt

chmod +x aa.txt   文件所有者,所属组,其他人都增加执行权限
# -rwxr-xr-x. 1 root root 3 5月  31 11:32 aa.txt
 
常用的数字权限赋予
7 6 5 4 3 2 1 0
rwx rw- r-x r-- -wx -w- --x ---
 

4、修改所属组和所有者

命令:chown   (用来改变文件或目录的   所有者和所属用户组)
[root@test01 myworkpace]# touch aa.txt bb.txt cc.txt dd.txt
[root@test01 myworkpace]# ll
总用量 0
-rw-r--r--. 1 root root 0 5月  31 11:53 aa.txt
-rw-r--r--. 1 root root 0 5月  31 11:53 bb.txt
-rw-r--r--. 1 root root 0 5月  31 11:53 cc.txt
-rw-r--r--. 1 root root 0 5月  31 11:53 dd.txt
[root@test01 myworkpace]# chown test01 aa.txt 
[root@test01 myworkpace]# chown test01:test01 bb.txt 
[root@test01 myworkpace]# chown :test01 cc.txt 
[root@test01 myworkpace]# ll
总用量 0
-rw-r--r--. 1 test01 root   0 5月  31 11:53 aa.txt
-rw-r--r--. 1 test01 test01 0 5月  31 11:53 bb.txt
-rw-r--r--. 1 root   test01 0 5月  31 11:53 cc.txt
-rw-r--r--. 1 root   root   0 5月  31 11:53 dd.txt
 
 

5、默认权限

我们在linux系统中新建一个文件或者目录,那么这个文件或目录会有一个权限,这个权限就是默认权限。这个权限就是靠umask的值来定义的。那么什么是umask?
umask(权限掩码) 就是指定当前用户在建立文件或目录时候的权限默认值。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次登录系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。
我们可以执行umask命令来查看系统中文件默认权限。
[root@test01 myworkpace]# umask 
0022

第一位0:文件特殊权限。
022:文件默认权限
文件的默认权限:
1.文件默认不能建立为执行权限,必须手工赋予执行权限。所以文件的默认权限最大为666。这样能保护系统安全。
2.默认权限要换算成对应的字母权限在相减而不是数字。
3.建立文件或目录之后的默认权限,为666减去umask的值。
目录的默认权限:
1.目录默认权限最大是777。
2.目录默认权限换算成字符在相减。
3.建立目录之后的默认权限,是777减去umask的值。
修改umask的值:
临时生效:
使用umask + 值,比如umask 0000;

永久修改:
就要修改环境变量配置文件/etc/profile
 
小结:
root用户    目录默认权限 755     rwxr-xr-x
                  文件默认权限 644     rw-r--r--
普通用户    目录默认权限 775     rwxrwxr-x    
                  文件默认权限 664     rw-rw-r--

linux常用权限

600(rw------):只有root有读写权限。
644(rw-r--r--):只有root有读写权限;group用户和other用户只有读权限。
755(rwxr-xr-x):root有读、写、执行权限;group用户和other用户只有读、执行权限。
 

参考文档:https://www.cnblogs.com/songgj/p/8890710.html
posted @ 2021-06-11 17:54  海兵的正义  阅读(763)  评论(0编辑  收藏  举报