1.什么是权限?
权限就是一种约束,就是用于约束用户能对系统所作的操作。
2.为什么要使用权限?
因为系统有多个用户,为了保护每个用户的隐私和工作环境。
3.权限与用户之间的关系?
在Linux系统中,针对文件定义了三种身份,分别是输注,属组,其他人,每一种身份对应三种权限,分别是可读,可写,可执行。
4.权限中的rwx是干什么的?
r 4
w 2
x 1
- 0
drwxr-xr-x. 2 root root 6 3月 5 19:06 data
root用户对其有什么权限? 权限的前3位
root组对其文件有什么权限?中间3位字符
其他人对该文件有什么权限? 最后3个字符
5.验证权限rwx对文件和对目录的含义?
(1)当一个用户访问文件流程如下:
1) 判断用户是否为文件所有者,如果是则按所有者的权限进行访问
2) 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
3) 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
(2)修改权限,选项-R,递归修改
(3)权限案例
针对 hr 部门的访问目录/home/hr 设置权限,要求如下:
1.root 用户和 hr 组的员工可以读、写、执行
2.其他用户没有任何权限
[root@web ~]# groupadd hr
[root@web ~]# useradd hr01 -G hr
[root@web ~]# useradd hr02 -G hr
[root@web ~]# useradd hr03
[root@web ~]# mkdir /home/hr
[root@web ~]# chgrp hr /home/hr
[root@web ~]# chmod 770 /home/hr
[root@web ~]# ll -d /home/hr
drwxrwx--- 2 root hr 6 Apr 13 03:26 /home/hr
(4)rwx对目录和文件的权限
PS:权限中的rwx对文件的影响:
读取权限(r)具有读取\阅读文件内容权限
1.只能使用查看类命令cat、head、tail、less、more
写入权限(w)具有新增、修改文件内容的权限
1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
2.使用echo命令重定向的方式可以往文件内写入数据, >>可以进行追加
3.不能删除文件,因为删除文件看的不是文件的属性, 需要看上级目录是否有w的权限
执行权限(x)具有执行文件的权限
1.执行权限什么用都没有
2.如果普通用户需要执行文件,需要配合r权限 rx (命令) rw(配置文件) r(单纯的普通只看不改不执行)
PS: 总结rwx对目录的影响
读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限
1.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝
2.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)
PS: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
不能进入目录、不能复制目录、不能删除目录、不能移动目录
执行权限(x),如果目录只有x权限
1.只能进入目录
2.不能浏览、复制、移动、删除
Linux权限总结与注意事项
文件r权限, 只给用户查看,无其他操作
文件rw权限, 可以查看和编辑文件内容
文件rx权限, 允许查看和执行文件、但不能修改文件----->(脚本文件、命令文件)
文件rwx权限, 能读,能写,能执行,但不能删除,因为删除需要看上级目录的权限有没有w----->(谨慎赋予,赋予给该文件的属主身份)
目录rx权限, 允许浏览目录内文件以及子目录, 不允许在该目录下创建文件、删除文件
目录rw权限, 能查看目录,能往目录写入文件,但无法进入目录----->(使用的情况太少)
PS: 文件的 x 权限小心给予,目录的 w 权限小心给予。
PS: 文件通常设定的权限是644,目录设定的权限是755。
6.如何变更一个文件至其他用户
chown:
-R 递归
1.变更文件的属主和数组
[root@oldboy ~]# chown oldxu.oldxu access-2020-03-12.log
[root@oldboy ~]# ll access-2020-03-12.log
-rw-r--r--. 1 oldxu oldxu 58112885 3月 13 09:25 access-2020-03-12.log
2.仅变更文件的属组
[root@oldboy ~]# chown .root access-2020-03-12.log
[root@oldboy ~]# ll access-2020-03-12.log
-rw-r--r--. 1 oldxu root 58112885 3月 13 09:25 access-2020-03-12.log
3.使用chgrp直接变更文件的属组(只能是属组,不能是其他)
[root@oldboy ~]# chgrp oldxu access-2020-03-12.log
[root@oldboy ~]# ll access-2020-03-12.log
-rw-r--r--. 1 oldxu oldxu 58112885 3月 13 09:25 access-2020-03-12.log