权限的定义
- 我们可以把它理解为操作系统对用户能够执行的功能所设立的限制,主要用于约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
权限的意义
- 因为系统中不可能只存在一个root用户,一定会存在多个用户,为了保护每个登陆用户的隐私和工作环境,所以就有了权限。
权限与用户之间的关系
- 在Linux系统中,针对文件定义了三种身份,分别是属主(owner)、属组(group)、其他人(others),每一种身份又对应三种权限,分别是可读(readable)、可写(writable)、可执行(excutable)。
ll /root/ -d
dr-xr-x---. 2 root root 215 Mar 15 19:43 /root/
#d :文件类型
#第一个r-x :属主权限位(读和执行权限)
#第二个r-x :属组权限位(读和执行权限)
#--- :其他用户权限位(无权限)
#(root无视权限)
- 当我们使用ls -l查看一个文件的详细属性时,能看到每个文件都有一个9位基本权限位,比如: rwxr-xr-x其中每三位字符为一组,分别表示属主权限位,属组权限位,匿名权限位。
linux中基本权限位则是使用这9位字符来表示,主要控制文件属主(User)、属组(Group)、其他用户(Other)
字母 | 含义 | 对应数字 |
---|---|---|
r(read) | 读取权限 | 4 |
w(write) | 写入权限 | 2 |
x(execute) | 执行权限 | 1 |
-(没有权限) | 没有权限 | 0 |
- 用户对文件资源,有三种角色ugo,当一个用户访问文件流程如下
- 判断用户是否为文件所有者,如果是则按所有者的权限进行访问
- 判断用户是否为文件所有组成员,如果是则按组的权限进行访问
- 如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
使用chmod设定权限
- 方式一:ugo
touch ./file.txt #创建一个文件
chmod a=rwx file.txt #给所有人添加读写执行权限
chmod a=-rwx file.txt #取消所有的权限
chmod u=rwx,g=rw,o=- file.txt #属主读写执行,属组读写,其他人无权限
ll file.txt
-rwxrw----. 1 root root 0 Mar 17 00:16 file.txt
- 方式二:number
chmod 764 file.txt #user=7(r+w+x) group=6(r+w) other=1(x)
ll file.txt
-rwxrw-r--. 1 root root 0 Mar 17 00:16 file.txt
mkdir file #创建目录
chmod -R 755 file/ #修改目录及子目录权限
ll file/ -d
drwxr-xr-x. 3 root root 0 Mar 17 00:16 file/
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
读取权限(r) | 具有读取\阅读文件内容权限 | 具有浏览目录及子目录 |
写入权限(w) | 具有新增、修改文件内容的权限 | 具有增加和删除目录内文件 |
执行权限(x) | 具有执行文件的权限 | 具有访问目录的内容(取决于目录中文件权限) |
- 权限中的rwx对文件的影响:
读取权限(r)具有读取\阅读文件内容权限
写入权限(w)具有新增、修改文件内容的权限
1.使用vim编辑会提示权限拒绝, 但可强制保存,会覆盖文件的所有内容
2.使用echo命令重定向的方式可以往文件内写入数据, >>可以进行追加
3.不能删除文件,因为删除文件看的不是文件的属性, 需要看上级目录是否有w的权限
执行权限(x)具有执行文件的权限
1.执行权限什么用都没有
2.如果普通用户需要执行文件,需要配合r权限 rx (命令) rw(配置文件) r(单纯的普通只看不改不执行)
- 总结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权限, 能查看目录,能往目录写入文件,但无法进入目录----->(使用的情况太少)
( 文件的 x 权限小心给予,目录的 w 权限小心给予。)
(文件通常设定的权限是644,目录设定的权限是755。)
-
目录: 给予rx
1.拥有进入该目录的权限
2.如果想操作该目录下文件,那么就取决于该文件是否允许对应的用户进行操作
3.无法对该目录进行新增和删除文件rx 目录
rw 文件(配置)
rx 文件(脚本)
r 文件(重要的文件,只能看,不能改,也不能执行。)
改变文件的属主和属组
chown:
-R #递归
#变更文件的属主和数组
chown xu.xu access-2020-03-12.log
ll access-2020-03-12.log
-rw-r--r--. 1 xu xu 58112885 3月 13 09:25 access-2020-03-12.log
#仅变更文件的属组
chown .root access-2020-03-12.log
ll access-2020-03-12.log
-rw-r--r--. 1 xu root 58112885 3月 13 09:25 access-2020-03-12.log
#使用chgrp直接变更文件的属组(只能是属组,不能是其他)
chgrp xu access-2020-03-12.log
ll access-2020-03-12.log
-rw-r--r--. 1 xu xu 58112885 3月 13 09:25 access-2020-03-12.log