1.权限基本概述
2.权限设置案例
3.属主属组设置
一、权限基本概述
1.什么是权限
是指操作系统对用户能够所执行的功能设立的限制,主要是用来约束用户能对系统所做的操作,以及内容访问的范围,或者说,权限是指某个特定的用户具有特定的系统资源使用权力。
2.为什么要使用权限
因为在系统中不会只存在一个root用户,而是存在着多个用户,为了保护每个登录用户的隐性和工作环境,所以就有了权限。
3.权限与用户为之间的关系
在Linux系统中,针对文件定义了三种身份:属主权限位(oener)、属组权限位(group)和其他用户权限位(others),每一种身份有代表了三种权限:可读(readable)、可写(writable)和可执行(excutable)。
用户访问文件的流程
1)判断用户是否为文件所有者,如果是则按所有者的权限进行访问
2)判断用户是否为文件所有组成员,如果是则按组的权限进行访问
3)如果不是所有者,也不是该文件所属组,则按匿名权限进行访问
4.权限中的rwx是什么
当我们使用ll查看一个文件时,看到的每个文件都有一个9位的权限位,如:rw-r--r--,其中每三个字符为一组,分别是属主权限位、属组权限位和其他用户权限位。
字母 | 含义 | 对应权限 |
---|---|---|
r(read) | 读取权限 | 4 |
w(write) | 写入权限 | 2 |
x(execute) | 执行权限 | 1 |
-(没有权限) | 没有权限 | 0 |
二、权限设置案例
1.如何设定权限
使用chmod设定权限
- ugo(user group other all)
[root@wyw ~]# touch file #创建文件
[root@wyw ~]# chmod a=rwx file #给所有人添加读写执行权限
[root@wyw~]# chmod a=-rwx file #取消所有的权限
[root@wyw~]# chmod u=rwx,g=rw,o=- file #属主读写执行,属组读写,其他人无权限
[root@wyw~]# chmod ug=rwx,o=r file #属主属组读写执行,其他人读权限
[root@wyw ~]# ll file
-rwxrw-r-- 1 root root 0 Apr 13 03:29 file
- number(数字 r=4 w=2 x=1 -=0)
## 针对文件最高设定为 777 但是一般都是666
#1.设定属主(读写) 属组(读)权限 其他人(无) rw-r------ 翻译为数字 640
[root@oldboyedu opt]# chmod 640 1.txt
[root@oldboyedu opt]# ll 1.txt
-rw-r-----. 1 oldboy root 8 Aug 7 10:07 1.txt
#2. 设定属主(读写) 属组(无)权限 其他人(无)
[root@oldboyedu opt]# chmod 600 1.txt
[root@oldboyedu opt]# ll total 4
-rw-------. 1 oldboy root 8 Aug 7 10:07 1.txt
## 针对目录设定的权限
#选项: -R递归修改
[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/
2.权限验证
权限对文件和对目录的影响的区别
权限 | 对文件的影响 | 对目录的影响 |
---|---|---|
r | 能读取文件的内容(cat head less tail more) | 具有浏览目录的权限,却无法进入目录,使用ls查看目录下的文件时会报错,但显示文件名称,使用ls -l只能看到文件名称,其他不显示 |
w | 能写入文件(vim),不能查看 | 什么权限也没有 |
x | 能执行文件(若没有r权限,单有x权限,则不能使用) | 能进入到目录,却不能查看 |
rw | 可查看、可编辑文件,不能执行/删除/移动/复制 | 不能查看/编辑/执行等一系列操作 |
rx | 可查看、可执行文件,不能编辑/删除/移动/复制 | 进入目录,可查看目录下的文件,操作文件时,需要文件本身的权限 |
rwx | 可查看编辑执行文件,不能删除/移动/复制 | 赋予了w权限,此目录下的文件可读取、编辑、执行、删除、复制、移动、修改等 |
PS:
文件使用最多的组合:rw=6 rx=5 644
目录使用最多的组合:rx=5 755
文件权限举例
# 新建文件,并添加内容至文件中,默认文件匿名用户仅有读权限
[root@wyw ~]# echo "date" > filename
[root@wyw~]# ll filename
-rw-r--r-- 1 root root 5 Jan 24 08:24 filename
#2.切换xiaowang普通用户
[root@wyw~]# su - bgx
#3.对文件拥有读取的权限,但bgx用户对文件没有执行和删除的权限
[bgx@wyw ~]$ cat /root/filename
date
#4.使用root增加x执行权限
[root@wyw~]# chmod o+x /root/filename
[root@wyw ~]# ll /root/filename
-rw-r--r-x 1 root root 5 Jan 24 08:24 /root/filename
#5.测试x权限是否真的能执行该文件
[bgx@wyw ~]$ /root/filename
Wed Jan 24 08:28:34 EST 2018
#6.增加w执行权限
[root@wyw~]# chmod o+w /root/filename
[root@wyw~]# ll /root/filename
-rw-r--rwx 1 root root 5 Jan 24 08:24 /root/filename
#7.测试执行权限
[bgx@wyw~]$ vim /root/filename
目录权限举例
# 示例1:创建目录,并在该目录下创建文件,匿名用户对目录没有w权限,对文件有777权限
[root@wyw ~]# mkdir /dirname
[root@wyw ~]# echo "test" >> /dirname/filename
[root@wyw ~]# chmod 777 /dirname/filename
#普通用户验证权限,能正常查看,但无法删除
[yw@wyw ~]$ cat /dirname/filename
test
[yw@wyw ~]$ rm -f /dirname/filename
rm: cannot remove ‘/dirname/filename’: Permission denied
#示例2: 设置目录777权限,相当于匿名用户对目录有w权限,对文件没有任何权限
[root@wyw ~]# chmod 777 /dirname/
[root@wyw ~]# chmod 000 /dirname/filename
#普通用户验证权限
[yw@wyw ~]$ cat /dirname/filename
cat: /dirname/filename: Permission denied
[yw@wyw ~]$ rm -f /dirname/filename
[yw@wyw ~]$ touch /dirname/filename_2
三、属主属组设置
变更Linux系统中的属主和属组,需要使用chown和chgrp命令实现。其中chown既可以变更属主,也可以变更属组,而chgrp只能变更属组。
#chown 更改属主以及属组 -R:递归修改
#准备环境,创建文件和目录
[root@yw ~]# mkdir dir/test1 && touch dir/file
#示例1: 修改所属主为bin
[root@yw ~]# chown bin dir/
#示例2: 修改所属组为adm
[root@yw ~]# chown .adm dir/
#示例3: 递归修改目录及目录下的所有文件属主和属组
[root@yw ~]# chown -R root.root dir/
网友评论