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