1.什么是权限?
我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
2.为什么要有权限?
因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。
3.权限与用户之间的关系?
在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
当一个用户访问文件流程如下
1) 判断用户是否为文件所有者,如果是则按所有者的权限进行访问
2) 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
3) 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
4.权限中的rwx分别代表什么含义?
当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位,
rwxr-xr-x其中每三位字符为一组,分别表示属主权限位,属组权限位,其他用户权限位。
linux中基本权限位则是使用这9位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)
字母含义对应权限
r(read)读取权限4
w(write)写入权限2
x(execute)执行权限1
-(没有权限)没有权限0
注: 如果权限位不可读、不可写、不可执行,则全部使用-作为占位符表示。
5.权限设置
①.为什么要设定权限,我们又如何修改一个文件的权限
Q1: 为什么要设定权限,可以赋于某个用户或组 -- 能够以何种方式 -- 访问某个文件
Q2: Linux下使用chmod命令来变更权限,root用户可以变更所有文件的权限,而普通用户仅能变更属于自己的文件。
②.使用chmod设定权限示例
方式一: ugo(了解)
[root@bgx ~]# touch file #创建文件
[root@bgx ~]# chmod a=rwx file #给所有人添加读写执行权限
[root@bgx ~]# chmod a=-rwx file #取消所有的权限
[root@bgx ~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限
[root@bgx ~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限
[root@bgx ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file
方式二、number r=4 w=2 x=1 -=0
文件最高666
目录最高777
#选项: -R 递归修改
[root@bgx ~]# touch file
[root@bgx ~]# chmod 644 file
[root@bgx ~]# chmod 600 file
[root@bgx ~]# ll file
-rw------- 1 root root 0 Apr 13 03:29 file
#针对目录设定权限
[root@bgx ~]# mkdir dir
[root@bgx ~]# chmod 777 dir/ #修改目录允许所有人访问
[root@bgx ~]# chmod -R 755 dir/ #修改目录及子目录权限
[root@bgx ~]# ll -d dir/
drwxr-xr-x 2 root root 6 Apr 13 03:34 dir/
③.在Linux中权限对文件和对目录的影响是有不同区别的。
.权限对文件的影响对目录的影响
读取权限(r)具有读取\阅读文件内容权限具有浏览目录及子目录
写入权限(w)具有新增、修改文件内容的权限具有增加和删除目录内文件
执行权限(x)具有执行文件的权限具有访问目录的内容(取决于目录中文件权限)
对文件的影响
读取权限(r)具有读取\阅读文件内容权限
①.只能使用查看类命令cat、head、tail、less、more
写入权限(w)具有新增、修改文件内容的权限
①.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
②.使用echo命令重定向的方式可以往文件内写入数据,>>可以进行追加
③.不能删除文件,因为删除文件看的不是文件的属性,需要看上级目录是否有w的权限
执行权限(x)具有执行文件的权限
①.执行权限什么用都没有
②.如果普通用户需要执行文件,需要配合r权限
组合使用
rw:能查看文件,编辑;不能执行,删除,移动,复制
rx:看文件 能执行 不能编辑 删除 移动 复制
rwx:查看文件,编辑文件,不能删除 移动 复制
对目录的影响读取权限(r),如果目录只有r权限: 具有浏览目录及子目录权限
①.可以使用ls命令浏览目录及子目录, 但同时也会提示权限拒绝
②.使用ls -l命令浏览目录及子目录,文件属性会带问号,并且只能看到文件名
总结: 目录只有r权限,仅仅只能浏览内的文件名,无其他操作权限
写入权限(w),如果目录只有w权限: 具有增加、删除或修改目录内文件名权限(需要x权限配合)
注: 如果目录有w权限, 可以在目录内创建文件, 删除文件(跟文件本身权限无关)
不能进入目录、不能复制目录、不能删除目录、不能移动目录
执行权限(x),如果目录只有x权限
①.只能进入目录
②.不能浏览、复制、移动、删除
组合使用
rx能进去目录 能看 要操作看文件本身是否有权限
rwx如果目录有w,目录下的文件可以复制,删除,移动,修改
文件最高666 使用最多 644 X小心给
目录最高777 使用最多 755 W小心给
6.属主属组设置
在Linux中可以使用chown、chgrp命令实现。chown能设置属主和属组,chgrp仅能设置属组。
chown 更改属主以及属组 -R:递归修改