作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
根据前面Linux用户介绍,里面涉及到超级管理员,普通用户,系统用户,既然用户有区分,那不同的用户对应的权限是否也有区别呢?当然是有的,权限也分普通权限和特殊权限,我们也将从下面几个方面来介绍。
1.Linux权限-普通权限(本章节)
2.Linux权限-特殊权限
3.Linux权限-chmod命令
4.Linux权限-chown命令
UMASK
umask 是一个 Unix/Linux 的 shell 命令,用来设置文件创建时的默认权限。这是一个设置了用户文件和目录创建模式的掩码值。
在 Unix/Linux 系统中,当创建新的文件或目录时,系统会根据 umask 值来设置新文件或目录的默认权限。这个 umask 值通常是一个 4 位的八进制数,如 0022、0007 等。
umask 命令的使用格式为:umask [选项]... [模式]。
- 如果不带任何参数,umask命令会显示当前的 umask 值。
- 如果带有模式参数,umask 命令会设置 umask 值为指定的模式。
一些常见的 umask 值:
- umask 0022:文件的默认权限是 644(rw-r--r--),目录的默认权限是 755(rwxr-xr-x)。
- umask 0007:文件的默认权限是 660(rw-rw----),目录的默认权限是 770(rwxrwx---)。
- umask 0077:文件的默认权限是 600(rw-------),目录的默认权限是 700(rwx------)。
需要注意的是,umask 是一个掩码值,它的作用是屏蔽掉(即禁用)某些权限,而不是直接设置权限。所以,要得到文件或目录的实际默认权限,需要用基础权限(通常是 777 对于目录,666 对于文件)减去 umask 值。
正常Centos系统的umask是0022,一般读法是022,第一个0会被省略,一般也不需要去修改。该参数默认在/etc/profile,这个也是环境变量最常用的配置文件之一(后期会单独出环境变量的介绍)
Linux的权限介绍
在Linux系统中,每个文件和目录都有一个访问权限,用来保护数据的安全。这个权限分为三类,分别对应三种不同的用户:
1. 文件拥有者(User):创建该文件或目录的用户。
2. 用户组(Group):文件拥有者所在的用户组,用户组中的用户可以共享某些权限。
3. 其他用户(Other):除了文件拥有者和用户组内的用户之外的其他用户。
每种用户都有以下三种权限:
1. 读取权限(Read):用户可以读取文件的内容或列出目录的内容。用“r”表示,对应数值4。
2. 写入权限(Write):用户可以修改文件的内容或在目录中创建和删除文件。用“w”表示,对应数值2。
3. 执行权限(Execute):用户可以执行文件,或者进入和查看目录的内容。用“x”表示,对应数值1。
例如,如果一个文件的权限被设置为"755",那么对应的权限是:
- 文件拥有者:7(即4+2+1)拥有读、写、执行权限
- 用户组:5(即4+0+1)拥有读、执行权限
- 其他用户:5(即4+0+1)拥有读、执行权限
可以使用chmod命令来改变文件或目录的权限,使用chown命令来改变文件或目录的所有者,使用chgrp命令来改变文件或目录的用户组。
总结
-rwxr--r-- 1 root root 688 May 15 15:45 check_port.py
-rw-r--r-- 1 root root 6852 Jun 6 15:04 DistributionInfo.json
drwxr-xr-x 10 root root 4096 May 6 2021 go
drwxr-xr-x 2 root root 4096 Jun 4 14:55 pgsql
drwxr-xr-x 10 109965 5000 4096 May 20 09:35 protobuf-2.6.1
drwxr-xr-x 8 user01 user01 4096 May 20 09:39 protobuf-c-1.2.1
-rwxr--r-- 4 root root 473 May 27 09:23 redis1.sh
1. 'd'头代表目录,'-'开头代表文件。
2. 'r'代表读权限,用数字4表示;'w'代表写权限,用数字2表示;'x'代表执行权限,用数字1表示。
3. 2个root 第一个代表用户,第二个root代表用户组。
4. 这里有一个文件用户和组都是普通用户user01。
5. 还有个109965和5000 ,及其他数字,一般情况下都是从windows上传的文件,就会出现这样的情况。
6. 如果把user01那个用户及组的对应的文件,复制到另外一台服务器,而这个服务器没有这个user01用户,那么复制过去以后的权限也会显示1000,1000(还要看对方服务器的用户占用的编号,可能会更大)。