[Linux 杂货铺] —— 权限(文件权限和目录配置)

目录

🌈前言

📁 文件的属性

📁 权限的概念

📂拥有者和所属组(角色):

📂用户(具体的人):

📁 权限的管理

📂1. chmod 指令:修改文件的权限。

📂2. chgrp 指令:  修改文件所属组。

📂3. chown 指令: 修改文件拥有者。

📁 一般文件权限

📁 目录权限

📁 粘滞位

📁 总结


🌈前言

        本期[ Linux杂货铺 ]带来的 权限。我们学习Linux,就是在和文件目录这些打交道,所以搞懂它们的属性之一——权限就很重要,这篇文章将从不同角度带你深入理解权限的概念,如何修改权限,以及区分文件和目录权限的不同。

                Linux最优秀的地方之一就是在于它的多人多任务环境,而为了让每个用户都具有保密的文件数据,因此文件权限管理就变得很重要了。Linux中将文件可读写的身份分为:拥有者(owner),所属组(group),其他人(other),且这三种身份各有读(read),写(write),执行(execute)等权限。那么这些身份和权限各有什么意义呢,下面我们来一一介绍。

📁 文件的属性

        在介绍文件之前,我们先来看看文件都有什么属性把,使用 【ls -al】指令,来查看文件详细属性。

拓展:

        ls是list意思,重点显示文件的文件名与相关属性,选型-al的意思就是列出所有的文件详细的权限与属性(包含隐藏文件)。

        如下图所示,下图即文件属性示意图:

        这篇文章将重点讲解文件类型权限,和文件拥有者,文件所属组这三栏内容。

        我们说先来看第一栏文件类型权限,这里需要注意的是,这一栏一共有10个字符

拓:

第一个字符代表着这个文件是目录,文件或是链接文件等:
[ d ] 则是目录

[ - ]  则是文件

[ l ] 则是链接文件

[ b ] 则表示为设备文件里面可提供存储的周边设备(可随机读写的设备)

[ c ] 则表示为设备文件里面的串行端口设备,例如键盘,鼠标。

        接下来的字符中,以三个为一组,且均为【rwx】为组合,其中【r】代表可读,【w】代表可写,【x】代表可执行。如果没有权限,则用【-】代替。

        第一组为文件拥有者具有的权限,第二组为所属组所有的权限,第三组是其他人所有的权限。

        以上,我们就通过文件属性引入了权限,并对权限有了一定了解,接下来,我们就详细讲解一下什么是权限。

📁 权限的概念

        权限,可以简单理解为限制一部分人的权利,而不限制另一部分人。这里的人就是:用户,所属组,其他人。权利:r可读,w可写,x可执行。

📂拥有者和所属组(角色):

1. 文件拥有者:简单理解为,谁创建了文件,谁就是文件的拥有者。

2. 文件所属组:用户组也很好理解,就是和我同组的人。用户组最有用的功能之一就是当你在团队进行协同工作的时候。每个账号可以有多个用户组的支持。

3. 其他人:当一个账户既不是文件的拥有者,又不属于文件所属组,那么这个账户就是其他人。

        以上就是用户和用户组的概念,其实用户和用户组可以理解为角色卡,它是由一个一个的账户所扮演的,也就是我们下面所要讲的具体的人。

📂用户(具体的人):

1. root 用户:也就是我们常说的超级管理员,root账户在Linux中可是有很大的权限的,关于系统服务的文件通常只有root才能读写或执行。root基本不受系统的限制,无论文件的权限是什么,默认root都是可以读写的。

2. 普通用户:也就出了root账户以外的账户

拓:

        在Linux系统中,默认情况下,所有系统上的账户与一般身份用户,以及root的相关信息都记录在/etc/passwd这个文件中,至于个人密码在记录在/etc/shadow这个文件中,此外,Linux中所有组名都记录在/etc/group中。

📁 权限的管理

        权限值的表示方法,如下图所示:

📂1. chmod 指令:修改文件的权限。

 ( 1 ). 用户表示符 +/-= 权限字符
+: 向权限范围增加权限代号所表示的权限
-: 向权限范围取消权限代号所表示的权限
=: 向权限范围赋予权限代号所表示的权限
用户符号:  
u :拥有者
g :拥有者同组用
o :其它用户
a :所有用户
例如:
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt
 ( 2 ). 三位 8 进制数字 
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

📂2. chgrp 指令:  修改文件所属组。

                如果要修改文件所属组,被修改的组名必须存在在/etc/group这个二维年鉴中,否则就会显示错误。

chgroup  【-R】   新的用户组名字   dirname/filename

选项与参数:

【-R】:进行递归修改,即连同子目录下的所有文件,目录都更新成为新用户组。

📂3. chown 指令: 修改文件拥有者。

        同样,使用chown时,要注意,新修改的用户必须是存在在系统账户中的,也就是/etc/passwd这个文件中有记录的用户名才能修改。扩充的一点是,chown也可以修改用户组。

chown    【-R】    账户名称    文件或目录

chown    【-R】    账户名称:用户组名称    文件或目录

选项与参数:

【-R】:进行递归修改,即连同子目录下的所有文件,目录都更新成为新用户/用户组。

        如果你要拷贝一个文件,使用cp命令后,还会复制执行者的属性与权限,如果我们想要修改呢,就可以使用chgrp和chown指令了。

拓:

新建文件夹默认权限 =0666
新建目录默认权限 =0777
        但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是 mask ,则实际创建的出来的文件权限是 : mask & ~umask。
        umask是文件掩码的意思,也是一条指令,查看或修改文件掩码。
# umask // 查看
# umask 044// 设置

📁 一般文件权限

        现在,我们知道了Linux系统内用户的三种身份(拥有者,所属组,其他人),以及他们所拥有的权限有哪些(r , w , x)。利用【ls -al】指令来查看。下面,我们来看一下文件权限对一般文件和目录文件有何不同。

对于一般文件:

● r (read) : 可读取该文件的实际内容,如读取文本文件的文字内容等;

● w (write) : 可以编辑,新增或是修改文件的内容。(注意,没有删除文件的权限);

● x (execute) : 该文件可以被系统执行的权限。

拓:

        在Linux中,不以后缀名区分文件,对于.exe为后缀名的文件,Linux是不区分的,当然Linux中的软件是区分的。

        因此,Linux中判断一个文件能否被执行,并不是以.exe后缀名来判断的。在Linux中如果一个文件想要被执行,必须符合一下两点:

        1. 该文件能够被执行,也就是该文件是一个可执行文件。

        2. 该文件是否具有【x】权限。

📁 目录权限

        文件是用来存放实际数据的,而目录主要记录的就是文件名列表等信息,文件名与目录有强烈的关系。

对于目录:

r : 具有读取目录结构列表的权限,所以当你具有r权限时,表示你可以查询该目录下的文件名数      据。

w:表示你具有改动该目录结构列表的权限,即 建立显得文件与目录,删除已经存在的文件与目录,将已经存在的目录或文件更名,移动该目录内的文件和目录位置。

x:表示用户可以进入该目录,即该目录成为工作目录。

📁 粘滞位

可执行权限 : 如果目录没有可执行权限 , 则无法 cd 到目录中 .
可读权限 : 如果目录没有可读权限 , 则无法用 ls 等命令查看目录中的文件内容 .
可写权限 : 如果目录没有可写权限 , 则无法在目录中创建文件 , 也无法在目录中删除文件 .
        问题来了, 就是只要用户具有目录的写权限 , 用户就可以删除目录中的文件 , 而不论这个用户是否有这个文件的写权限。这好像不太科学啊, 我张三创建的一个文件 , 凭什么被你李四可以删掉 ?

        为了解决这个问题,Linux引入了粘滞位的概念。

当一个目录被设置为 " 粘滞位 "( chmod +t), 则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

📁 总结

        权限就是限定用户可以执行哪些操作的,权限分为r,w,x,用户的角色分为所有者,所属组,其他人,而这些角色是由一个个普通用户和root用户来充当的,其中用户是可以修改的。文件的权限是对针对文件的内容,而目录的权限主要是针对文件名等内容。

        以上,我们就对文件的权限进行了讲解,其中包含了一般文件的权限意义和目录权限的意义,已讲解了如何修改权限。

        如最后,如果感觉这篇文章对你有用,欢迎点赞,收藏,关注;也希望大家找出文章不足,在评论区讨论交流,互相学习。Thanks♪(・ω・)ノ

  • 28
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秋刀鱼的滋味@

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

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

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

打赏作者

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

抵扣说明:

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

余额充值