Linux文件操作权限的梳理,大家或多或少都了解过linux中的文件读写和执行的问题,网上对于该知识点的梳理很多,但是有些不是很通俗易懂,以下是我在学习中的领会,希望对你们有所帮助。
1、先来看一下Linux中文件权限的概括:
linux中对文件有严格的控制,必须要有对应操作的权限才能对文件执行操作;
linux中文件中权限分为三个,分别是读、写、执行,对应的字母分别为 r、w、x
相信大家在linux都看到这样的一些文件,图中最前面的一列,例如drwx------ 就是该对应文件root/的权限,
第一个字母d代表改文件是个文件夹,没有的话则为文件
2、linux权限分配概念
linux中把权限分为了三个粒度,每一个粒度都可以分配r、w、x权限,这里是我做一个简单的概括,分别是作者,小组成员和其他人。
而最上面的这一行,就是代表了这个文件对于这三个粒度的权限。
举个例子 在一个名字为ray/的文件中、 做以下权限的分配:
在linux中看到的效果下面这张图(最前面的d代表是个文件,只需要看后面的就可以)
则对于该文件来说,操作权限就是:作者本身可以有读写和执行权限,小组成员有读和执行权限,其他人只有执行权限。
3.linux中如何分配权限
上面我们了解了linux权限是如何表示的,以及对应粒度权限的分配,接下来就看看在linux中如何去对文件进行权限的操作
linux中有一个对于文件权限的操作命令:
chmod
对文件权限执行以下操作:
① 对其他人添加可读权限,下图可看到其他人成功添加了读的权限
chmod o+r ray/
② 对其他人添加读和写权限,下图可看到其他人成功添加了读和写的权限
chmod o+rw ray/
③对小组成员去除读的权限,下面两张图是去除前面的对比,可看到去除后读权限已去除
chomd g-w
④对作者和其他人都去除读的权限,看下图效果
chmod uo-r ray/
另外,chmod还可以通过二进制数来操作文件的权限,rwx中如果用户具有权限的话,则对应位置置1,否则为0:
rwx ——> 111
r-- ——> 100
-w- ——> 010
--x ——> 001
r-x ——> 101
再根据一下二进制转换,可以得到
r=4,w=2,x=1
我们继续使用一下前面对于ray文件的权限分配图,希望你能看懂这张图片,
学了如何用二进制表示文件后,我们就可以直接使用它在linux中操作文件权限了,执行以下命令,
chmod 444 ray/
1、通过图片可以看到 ray文件的权限被修改为r--r--r--,我们上面也知道 r—> 4,所以作者、小组成员和其他人的权限都被修改为读
chmod 725 ray/
2、作者7 = 4+2+1 = rwx,小组成员 2 = -w- ,其他人5 = 4+1 = r-x,通过以下图片可以看到文件权限被修改为rwx-w-r-x ,