Linux中的文件访问者设置不同的权限的方法
导读
在linux系统下,一切东西都可以看做是文件。针对一个文件而言,不同的用户对它有不同的权限。试想一下,如果有一个系统的配置文件,普通用户都可以对它进行更改,这么这将是多麽可怕的事情。所以,我们将按照不同的文件访问者设置不同的权限。
一、Linux中的权限
在linux中,我们可以将文件的访问者分为三类,针对这三类访问者我们可以对她们设置不同的权限。
1、文件访问者的分类
文件和文件目录的所有者:u(User)。
文件和文件目录的所有者所在的组中的用户:g(Group)。
其他用户:o(Others)。
2、文件的基本权限
读(r):具有读取文件内容的权限;对目录来说,具有浏览目录信息的权限。
写(w):具有更改文件的权限;对目录来说,具有删掉联通目录内文件的权限。
执行(x):具有执行文件的权限,前提是文件必须可执行;对目录来说,具有步入目录的权限。
3、修改文件的权限
3.1、修改文件访问权限
命令:chmod[参数]权限文件名
参数:R表示递归的更改目录中所有文件的权限
v表示显示整个更改过程
chmod命令有两种更改文件权限的方式:
第一种:针对某一类访问者设定权限,
命令格式:chmod用户表示符+/-/=文件权限文件名
+表示为用户降低文件权限,-表示取消用户的权限,=表示赋于用户这个权限。
用户符号:u表示所有者,g表示所有者所在的组,o表示其他人,a表示所有人。
第二种方式就是使用三位数的八补码:
命令格式:chmodxxx(权限)文件名
其中从左往右,第一个x表示属主的权限,取值是0~7,0就表示”—”,7表示”rwx”。
第二个x表示属组的权限,第三个x表示其他人的权限。
3.2、更改文件所有者
命令:chown[参数]用户名文件名
参数:R表示递归的更改目录中所有文件的所有者
v表示显示整个更改过程
例1:
例2:
3.3、更改文件所有者所在的组
命令:chgrp[参数]用户名文件名
参数:R表示递归的更改目录中所有文件的所有者
v表示显示整个更改过程
例1:
例2:
4、查看或更改文件网段
有没有想过,当我们新创建一个文件或则目录的时侯,它的默认权限是哪些?我们可不可以根据自己的意愿来设置呢?
linux中提供了umask这个命令来设置默认权限。除此之外,umask还可以查看文件网段。文件网段就跟子网网段是一样的道理。
预设权限=存取权限-文件网段
超级用户默认网段是0022,也就是生成文件后文件权限是:rwxr-xr-x。
普通用户默认网段是0002,也就是生成文件后文件权限是:rwxrwxr-x。
命令格式:umask权限值
例:设置文件网段0000,则新创建文件或目录后的权限是rwxrwxrwx。
注意linux更改权限命令,不是前面的事例错了,而是由于test文件是普通文件,不具备可执行的权限,所以在创建新文件的时侯应当是:
例2:
二、权限粘滞位
1、为什么要有权限粘滞位
目录的可执行权限:
目录的可执行权限表示你是否可以在这个目录下执行命令。假如目录没有x权限linux rar,则就难以对目录执行任何命令linux更改权限命令,甚至难以cd步入目录,虽然你一直对目录有r权限。目录的rw权限表示的是你可以对目录上面的文件进行读写,因而对于任何访问者而言,只要他对一个目录有w权限,这么他能够删掉这个目录上面的文件。
这样的的话,那文件的权限是不是就成摆饰了,只要对一个目录有w权限的话,任何用户都可以随便删掉目录上面的文件,针对linux这些多用户的操作系统而言,这是我们绝对不容许的。因而linux上面通过权限粘滞位来解决这些情况。
2、什么是权限粘滞位
权限粘滞位是针对目录而言的,当目录被设置了权限粘滞位以后,虽然用户对该目录有写入权限,也不能删掉这个目录中其他用户的文件数据。而是只有该文件的所有者和root用户才有权删掉。设置了权限粘滞位以后,就保持了一种平衡,容许各用户在目录中任意的写入删掉数据,并且不能删掉其他用户的数据。
设置了权限粘滞位的目录红帽子linux下载,它的属性中其他用户的可执行权限x将会弄成t。
3、怎么设置权限粘滞位
命令:chmodo+t目录名
例: