权限:在计算机系统中,权限是指某个计算机用户具有使用软件资源的权利。
软件资源:Linux系统中,一切皆文件!SO,这里的软件资源就是文件资源。
所以,我们今天所讲的权限,指的就是:文件资源所拥有的相关权限,即文件权限。
文件权限的设置目的:是想让某个用户有权利操作文件.
用户正常情况去操作文件所具有的权限
用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限
用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的
时刻谨记:
权限是设置在文件上的,目的是让某个用户拥有操作文件的权利。
一个目录拥有r权限,说明可以查看该目录里的内容,如(ls命令列出)
一个普通文件拥有r权限,说明可以查看该文件的内容,如(cat/head/tail/less/more等命令查看)
一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)
一个普通文件拥有w权限,说明可以修改该文件的内容(vi/vim编辑器编辑文件)
一个目录拥有x权限,说明可以进入或切换到该目录里(cd命令)
一个普通文件拥有x权限,说明可以执行该文件(一般程序文件、脚本文件、命令都需要执行权限)
没有任何权限用横杠-表示,数字表示是0
UGO,指的是用户身份,每个字母代表不同的用户身份。
文件的拥有者(owner)或者创建者
在文件的所属组(默认是创建文件的用户的主组)里的用户
既不是文件的创建者,也不在文件属组里的用户,称为其他人
注意:
除了上面ugo以外,还有一个字母a(all users),表示所有用户。
㈡ 强制位(SETGID)
如果一个目录拥有强制位,那么任何用户在该目录里所创建的任何文件的属组都会继承该目录的属组。
㈢ 粘滞位(STICKY)
如果一个公共目录拥有粘滞位,那么该目录下的文件,只有root和文件的创建者可以删除,其他人只能自己管理自己。(A用户不能删除B用户创建的文件)
需求:
给一个vim命令设置冒险位,目的是任何人拿vim去修改文件可以临时获得文件拥有者的权限
需求:
给dir2设置一个强制位,测试是否任何人在该目录里创建的文件属组都是该目录的属组。
㈢ 粘滞位举例
需求:
在创建一个公共目录/tmp/dir3,要求所有人都可以在该公共目录里创建、删除文件;但是只能自己管理自己,不能删除别人的文件
所谓文件的默认权限(遮罩权限),是指用户创建文件后,文件天生就有的权限,不需要设置。
文件默认权限由一个叫做umask的东西来控制。
Linux系统中,默认创建目录的最大权限是0777;文件的最大权限是0666
umask=文件的最大权限-文件的默认权限
[root@localhost ~]# umask 0007
永久设置,指的是通过修改配置文件设置,对用户的所有终端所有进程生效。
对于运维工程师来说,掌握Linux系统权限是必备的技能,除了以上介绍的普通权限、高级权限、默认权限外,如果需要更加细致的控制用户对文件的权限,还可以通过ACL策略来控制。