Linux 的文件权限的概念

本文详细介绍了如何在Linux系统中使用ls-al命令查看文件属性,包括文件类型、权限、所有者、用户组等信息,并讲解了如何使用chgrp、chown和chmod命令来更改文件的用户组、所有者和权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)Linux 文件属性

利用 ls -al 命令查看文件

命令 ls:显示文件的文件名与相关属性

-al 参数:列出所有的文件(含隐藏文件)详细的权限与属性

-rw-r--r--.1root

root

129Dec 29 2013.tcshrc
权限连接数文件所有者文件所属用户组文件大小文件最后被修改的时间文件名

--> 第一列代表这个文件的类型与权限

    · 第一个字符代表这个文件是“目录、文件或链接文件等”

    [d]: 目录

    [-]: 文件

    [l]: 连接文件

    [b]: 设备文件里面的可供存储的接口设备

    [c]: 设备文件里面的串行端口设备,例如鼠标、键盘

   

    权限:rwx。[r] 代表可读,[w] 代表可写,[x] 表示可执行(execute),三个权限的位置不会改变

    共三组权限

    第一组:文件所有者的权限

    第二组:同用户组的权限

    第三组:其他非本用户组的权限

    ps:目录与文件的权限意义并不相同

--> 第二列表示有多少文件名连接到此节点

--> 第三列表示这个文件(或目录)的所有者账号

--> 第四列表示这个文件的所属用户组

--> 第五列为这个文件的容量大小,默认单位为 B

--> 第六列为这个文件的创建日期或最近的修改日期

--> 第七列为该文件名

(二)改变文件属性与权限

· chgrp: 改变文件所属用户组

· chown: 改变文件所有者

· chmod: 改变文件的权限

--> 改变所属用户组:chgrp

    前提:要被改变的组名必须在 /etc/group 文件内存在

[root@www ~]# chgrp [-R] dirname/filename ...
# -R : 进行递归的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组

--> 改变文件所有者:chown(也可以修改用户组的名称)

    前提:用户必须是已经存在与系统中的账号,也就是在 /etc/password 这个文件中有记录的用户名称

[root@www ~]# chown [-R] 账号名称 文件或目录
[root@www ~]# chown [-R] 账号名称:组名 文件或目录
# -R : 进行递归的持续更改,即连同子目录下的所有文件、目录都更新成为这个用户组

chown 也可以使用 "chown user.group file",即在所有者与用户组之间加上小数点 "."

单纯修改所属用户组:"chown .group file"

--> 改变权限:chmod

    权限的设置方法有两种:1. 数字类型改变文件权限

                                         2. 符号类型改变文件权限

    · 数字类型:

    r:4    w:2    x:1

[root@www ~]# chmod [-R] xyz 文件或目录
# xyz:rwx 属性数值的相加

    · 符号类型:

    user:u

    group:g

    others:o

    all:a

    ‘+’:加入    ‘-’:除去    ‘=’:设置

    

(三)目录与文件的权限意义

文件是存放实际数据的所在,目录主要的内容是记录文件名列表

文件的权限:

r:可读取此文件的实际内容

w:可以编辑,新增或者是修改该文件的内容(不包含删除)

x:该文件具有可以被系统执行的权限

目录的权限:

r:具有读取目录结构列表的权限,查询该目录下的文件名

w:具有更改该目录结构列表的权限,即:

    1. 新建文件与目录

    2. 删除已经存在的文件与目录

    3. 将已存在的文件或目录进行重命名

    4. 转移该目录内的文件、目录位置

x:代表用户能否进入该目录成为工作目录

    工作目录:当前所在的目录


能不能进入(cd)某一个目录,只与该目录的 x 权限有关

要开放目录给任何人浏览时,应该至少也要给予 r 及 x 的权限


### Linux 文件权限概念解释 #### 权限分类 在Linux系统中,文件权限属性主要分为三类:`r`(读)、`w`(写)、`x`(可执行)。这些权限分别赋予不同的操作权利: - **读 (r)** 对于文件而言,拥有读权限意味着用户可以读取文件的内容。对于目录,则允许用户列出该目录下的内容[^2]。 - **写 (w)** 如果一个文件有写权限,那么用户就可以修改这个文件的内容。而对于目录来说,写权限则让用户有权删除或移动其中的任何文件。 - **执行 (x)** 当应用于文件时,此权限使文件成为可运行程序;当涉及目录时,它给予访问者进入并遍历该目录的能力。 #### 用户类别划分 除了上述三种基本权限外,Linux还定义了三个不同级别的身份来控制谁能获得哪些类型的访问权: - **属主 (User/Owner, u)** 创建文件的人自动成为其所有者,默认情况下只有所有者才能更改文件权限。 - **同组 (Group, g)** 属于同一用户组成员共享一组特定的权利,这有助于简化批量用户的权限管理。 - **其他 (Others, o)** 不属于前两类的所有剩余用户都归为此类,通常会受到最严格的限制以保护数据隐私和安全[^1]。 #### 特殊权限与ACL扩展功能 除此之外还有SUID、SGID位用于临时提升进程的有效用户ID或组ID至文件所属者的级别以便完成某些特权任务;而粘滞位(sticky bit)可用于防止非管理员随意删除公共区域内的他人创建的对象。另外,为了提供更细粒度化的存取策略支持,还可以借助访问控制列表(ACLs),这是一种超越传统Unix风格权限模型的方法,在必要时候能实现更加灵活的安全机制。 ```bash # 设置文件权限的例子 chmod 755 filename.sh ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值