Linux | 文件的权限

1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【嵌入式大杂烩】,回复1024,即可免费获取!

Linux是多用户操作系统,不同的用户对于文件的操作拥有不同的权限。我们可以使用 ls -l 命令列出当前目录下的文件及目录的详细信息:
在这里插入图片描述

我们重点看前10个字符,如 hello 文件详细信息中的前10个字符为 -rw-rw-rw- 。这10个字符的说明为:
在这里插入图片描述

其中,第一个字符表示这个对象的类型,如:

为 d 则是目录
为 - 则是文件;
为 l 则是链接文档(link file);
为 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
为 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

后面的9个字符,每3个字符为一组,且为 『rwx』的组合,且权限的顺序是固定的。其中r代表读权限,w代表写权限,x代表执行权限,若没有哪一个权限,则用- 替代相应的位置。

第2-4个字符确定属主(该文件的所有者)拥有该文件的权限。第5-7个字符确定属组(所有者的同组用户)拥有该文件的权限。第8-10个字符确定其他用户拥有该文件的权限。

所以以上的 hello 的前10个字符-rw-rw-rw-代表的意思为:hello是个文件;hello的属主具有读、写权限,没有执行权限;hello的属组具有读、写权限,没有执行权限;其他用户组对与hello文件有读、写权限,没有执行权限。

1、更改权限

权限是可以更改的,我们可以使用 chmod (change mode) 命令来改变文件或目录的访问权限。有两种表示方式,一种是使用符号的方式,另一种是使用数字的方式。

Linux文件的基本权限就有九个,分别是user/group/others三种身份各有自己的read/write/execute权限。

(1)使用符号改变文件权限

格式为:chmod [身份] [+-=] [r、w、x] [文件或目录]

其中,使用 u、g、o 三种用户身份,除此,还可以使用 a 表示所有身份。符号+ 表示增加权限,符号 - 表示删除权限,符号 = 表示指定权限。如:
在这里插入图片描述

我们的 hello 文件是由hello.c编译生成的可执行文件,但是当前用户身份并没有可执行权限,因此运行该文件是出现“权限不够”的警告。我们可以使用命令:

chmod u+x hello

来增加当前用户对hello文件的执行权限。结果如下:
在这里插入图片描述

(2)使用数字改变文件权限

除了使用符号来表示权限,还可以使用数字来表示文件或目录权限。其中:

r:用数字 4 表示
w:用数字 2 表示
x:用数字 1 表示

每个身份的权限都是这三个数字相加,如当前hello文件的权限为 -rwxrw-rw- ,那么就是:

u=rwx=4+2+1=7
g=rw-=4+2+0=6
o=rwx=4+2+0=6

使用数字的方式改变文件或目录属性的命令格式为:

chmod ugo [文件或目录]

这里的 ugo 就是我们每一身份权限的数字表示。

例如:当我们要把hello文件所有身份的权限都改为可读、可写、可执行时,可以执行以下命令:

chmod 777 hello

在这里插入图片描述

2、更改文件所有者与所属组

文件的所有者与所属组是可以更改的,使用的命令分别是chown(change owner)、chgrp(change group)。格式为:

更改所有者:chown [参数选项] [文件]
更改所属组:chgrp [参数选项] [文件]

在这里插入图片描述

例如:把 hello 文件的所有者与所属组都改为 win:
在这里插入图片描述

以上命令就是关于文件权限的一点笔记,如有错误,欢迎指出。

ps:笔记会同步至本人的个人公众号:嵌入式大杂烩,欢迎关注查看更多笔记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式大杂烩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值