Linux权限解析( 二 )


权限
我们前面看到文件的权限,那么请问这个都是什么玩意,我这一点都看不懂,不要着急,我们会一一解释的.
什么是权限
我们需要先认识一下究竟什么是权限.这是一切的基础.
我们都知道,在学校里面考试,学生只有考试的资格,他绝对没有资格去修改自己的成绩,否则就乱套了,-这就是权限的作用.我们还知道在QQ中,有禁言的功能,但是一个普通群成员是不能禁言的,这是权限的魅力.我们来看看吧.
权限本质上是约束一个人可以做什么,不可以做什么.这里我还要提一个场景,权限的存在还需要环境,你想去一个博客网站去看电视剧,这可能吗?所以说权限存在下面的要求.
约束人的
权限对应事物需要有相应的属性
所谓的权限就是 人 + 属性
我们Linux上学的是对文件的权限,我们按照上面来套套.
文件谁能"访问",谁不能访问?文件应该具有某种属性,比如说可读(r),可写(w),可执行(x)...属性.
Linux下人的分类
既然权限包含了人,那么Linux系统下有哪些人呢?Linux下人分三类.
文件所有者 owner
文件的所属组 grouper
文件的其他用户 other
我们需要理解一下这个分类,我们可以接受一个文件不属于自己肯定属于其他人,那这个文件的所属组是怎么理解的?实际上我们可以这么理解,你写的程序很大,独自一个人是不可能完成的,这时候你会和其他人组队,那么你会把自己的写的文件放给其他的队员来观看,这就是文件的所属组,这样可以好理解一点.
权限格式
我们既然知道了Linux下人的分类,下面的图片就有可以谈的了.
这样你就可以发现文件权限的格式,这里我们把前面9个字符三三分组,而且每一组的每一个位置都是确定的
第一组 代表owner 权限
第二组 代表grouper权限
第三组 代表other权限
后面跟着的一次式文件所有者和文件所属组,我们可以想到,如果人不属于这两种,那么一定就是other,这里没有什么好说的.
权限属性
文件的权限属性有四个,但是这里我和大家谈三种
r 可读 只能在第一个,否则就是 - 不可读
w 可写 只能在第二个 ,否则就是 - 不可写
x 可执行 只能在第三个,否则就是 - 不可执行
我们先来谈谈这个图片的认识.
owner 是 bit 权限是 rw- 也就是 可读(r),可写(w),不可执行(-)
grouper 是 bit 权限是 rw- 也就是 可读(r),可写(w),不可执行(-)
other 是 非bit,权限是 r-- 也就是 可读(r),不可写(-),不可执行(-)
修改文件权限
修改文件的权限总体来说分为两类,可以这么说,我们可以修改所有者的权限和修改所有者.我么一次来说.
修改文件权限
我们可以使用chmod指令来修改所有者的权限.
我们可以知道,用u代表owner,g代表grouper,o代表other,+号表示添加权限,-表示去掉权限.
修改owner chmod u+r file.txt
修改grouper chmod g+x file.txt
修改other chmod o-r file.txt
下面就是去掉owner的读权限.
[bit@Qkj 07_05]$ chmod u-r file.txt
我们可以通过一次增加所有者多个权限.
可以一次修改多个拥有者的权限.
这里我就要提一个问题了,我们对文件加上某个权限,那么这个文件一定可以这么做吗?是不可以的,下面我们对.txt文件加上可执行,实际上,还是不能执行.
使用八进制
我们都知道在计算机中1代表正确,0代表错误,那么我们是不是可以用0和1来表示自己想要修改文件所有者的权限.而且所有者权限的位置都是固定的,每一组也是,这就可以用八进制来表示如何修改权限.
例如rwx = 111 => 7,-wx = 011 => 3,我们可以通过八进制来修改.
我们可以把777分为 111 111 111依次按位置对象相应的权限位置.
[bit@Qkj 07_05]$ chmod 777 file.txt
对应的权限列表
修改文件的所有者
我们可以修改文件的拥有者和文件的所属组,这两个是不同的指令,我们分开来谈.但是这里需要知道我们要修该的拥有者和所属组都是在Linux环境下存在的,不能给那些不存咋的用户.
修改文件的拥有者
这个很简单,只需要一个简单的指令就可以了.
这个就是把该文件的拥有者改成了root
[bit@Qkj 07_05]$ chown root file.txt
但你一执行这条命令,你会发现报错.
那么这是为什么呢?我这里给大家讲一个故事,一天,你把你的玩具给你弟弟,但是你弟弟死活不要,请问你该怎么办?这就是我们现在的处境,我把文件给了其他人,但是他不要.这时候你就想了个主意,我可叫我妈过来,强压着我弟弟接受这个礼物,在Linux中也是如此,我们可以提高权限,我这里使用的sudo,你的服务器可能还没配置,可以在root用户下强压,道理都一样.


推荐阅读