一文走进Linux——文件权限与目录配置

本文深入探讨Linux的文件权限与目录配置,包括拥有者、群组和其他人的权限设置,文件属性如rwx权限的意义,以及如何使用chown、chgrp和chmod改变文件属性。同时介绍了Linux目录配置的基本原则,如FHS标准,以及目录树、绝对路径和相对路径的概念。文章适合Linux运维和学习者阅读。
摘要由CSDN通过智能技术生成

鸟哥的Linux私房菜第五章——Linux的文件权限与目录配置

第五章——Linux的文件权限与目录配置

Linux最优秀的地方之一就在于他的多用户多任务环境

Linux一般将文件可存取的身份分为三个类
别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限

一、拥有者、群组、其他人

  • 使用者

由于Linux是个多用户多任务的系统,因此可能常常会有多人同时使用这部主机来进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这个“文件拥有者”的角色就显的相当的重要了!

  • 群组

可以经由简易的文件权限设置,就能限制非自己团队(亦即是群组啰) 的其他人不能够阅览内容啰!而且亦可以让自己的团队成员可以修改我所创建的文件! 同时,如果我自己还有私人隐密的文件,仍然可以设置成让自己的团队成员也看不到我的文件数据。

  • others

因此,我们就可以知道啦,在Linux里面,任何一个文件都具有“User, Group及Others”三种身份的个别权限, 我们可以将上面的说明以下面的图示来解释:

在这里插入图片描述

  • Linux 使用者身份与群组记录的文件

在我们Linux系统当中,默认的情况下,所有的系统上的帐号与一般身份使用者,还有那个root的相关信息, 都是记录在/etc/passwd这个文件内的。至于个人的密码则是记录在/etc/shadow这个文件下。 此外,Linux所有的群组名称都纪录在/etc/group内!这三个文件可以说是Linux系统里面帐号、密码、群组信息的集中地啰! 不要随便删除这三个文件啊!

二、文件权限

这个文件的权限要如何针对这些所谓的“使用者”与“群组”来设置呢?

1. 文件属性

“ ls ”这一个察看文件的指令啰!在你以dmtsai登陆系统,然后使用 su - 切换身份成为root后, 下达“ ls -al ”看看

在这里插入图片描述

要注意的是, 我们还是不建议你直接使用 root 登陆系统,建议使用 su - 这个指令来切换身份喔!离开 su - 则使用 exit 回到 dmtsai 的身份即可!

ls是“list”的意思,重点在显示文件的文件名与相关属性。而选项“-al”则表示列出所有的文件详细的权限与属性(-a表示显示隐藏文件,-l表示详细信息),-l之后共有7个字段

  • 第一栏:权限
    共有10个字符:
    • 第1个:类型
      • d:目录
      • -:文件
      • l:链接文件
    • 第2、3、4个:对拥有者权限
      • r:可读
      • w:可写
      • x:可执行(execute)
      • -:没有该权限,用-代替
    • 第5、6、7个:对群组权限
    • 第8、9、10个:对其他人权限

不论是那一组权限,基本上,都是“针对某些帐号来设计的权限”喔!以群组来说,他规范的是“加入这个群组的帐号具有什么样的权限”之意

[-][rwx][r-x][r–] > 1 234 567 890
1 为:代表这个文件名为目录或文件,本例中为文件(-); 234为:拥有者的权限,本例中为可读、可写、可执行(rwx); 567为:同群组使用者权限,本例中为可读可执行(rx);890为:其他使用者权限,本例中为可读(r),就是只读之意
同时注意到,rwx所在的位置是不会改变的,有该权限就会显示字符,没有该权限就变成减号(-)就是了。另外,目录与文件的权限意义并不相同,这是因为目录与文件所记录的数据内容不相同所致。 由于目录与文件的权限意义非常的重要,

  • 第二栏:链接文件数
    每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目录树却是使用文件名来记录, 因此每个文件名就会链接到一个i-node啰!这个属性记录的,就是有多少不同的文件名链接到相同的一个i-node号码去就是了。
  • 第三栏:拥有者
  • 第四栏:群组
  • 第五栏:文件大小
  • 第六栏:修改日期
  • 第七栏:名称

2. 改变文件属性

几个常用于群组、拥有者、各种身份的权限之修改的指令(root身份使用)

  • chgrp:改变文件所属群组

前提:要被改变的群组名称必须要做/etc/group中存在才可以,否则会显示错误

假设你已经是root的身份了,那么在你的主文件夹内有一个名为 initial-setup-ks.cfg 的文件,如何将该文件的群组改变一下呢?假设你已经知道在/etc/group里面已经存在一个名为users的群组, 但是testing这个群组名字就不存在/etc/group当中了,此时改变群组成为users与testing分别会有什么现象发生呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LJFCZH

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

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

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

打赏作者

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

抵扣说明:

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

余额充值