Linux文件与目录之文件权限和目录配置

Linux文件权限与目录配置 这是在看鸟叔私房菜的时候自己做的笔记,有的地方可能有点简略。之前学这块的内容零零散散的看了一些,但总有些地方不清楚,知道看了鸟叔私房菜才恍然大悟!不清楚的地方可以直接看原文,原文解释的很清楚。 阅读详情

在Linux中,所有的数据都是以文件的形态展现出来的,文件的意义在Linux中至关重要,因此,在Linux中,文件有着很多的属性与权限!

一. 用户与用户组

通常情况下,登录者相对于一个文件可能有着三种角色:

1. 文件所有者

即这个文件是你的,你所拥有的。通常情况下这个文件是你的私密信息,比如你的情书什么的,毕竟你不想让别人看到,如果你是这个文件的文件所有者,那么你就可以将这个文件设定为文件所有者可访问、可修改(不包含删除,后文将说明)。

2. 用户组

文件除了拥有文件所有者这个属性,还有一个属性就是用户组。所谓用户组,通常用于团队开发的情况,你和你团队的人员应该属于一个用户组,一个或多个用户 组成一个用户组,假设在这台机器上同时工作者两个团队A、B,那么A团队的文件就应该设置为用户组可访问、可修改,用户组的其他人不可访问、不可修改。

相对于文件所有者这种亲密的关系,用户组的限制则比较宽泛,通常用户组的权限比文件所有者的权限要小一些。

当然,在上面的团队模式下,你也可以将一些私人文件设置成用户组不可见、不可修改,这样即使与你在同一个用户组的成员也不会看到它们。

3. 其他人概念

所谓其他人,就是对于这台机器,我可以有自己的用户,但是相对于这个文件我既不是文件所有者也不是文件制定用户组的成员,那么我相对于这个文件就是其他人!与上面两个文件属性一样,Linux中的文件拥有其他人权限这个属性,我们可以为文件设置其他人的文件权限。

二. 文件权限查看

在Linux中,文件权限是一种文件属性,我们可以通过ls -al命令查看一个文件的部分重要属性,如下图所示:


如上图所示,(ls值得是list,al表示列出所有文件的权限与属性,包括隐藏文件,隐藏文件的文件名都是以.开头)首先我们可以把上面的list分成7列来看:

1. 第一列展示了文件的类型与权限,例如第一行的d rwx r-x r-x,这一串字符长度是10,我们分为四组来看,第一组就是第一个字符,它代表了这个文件的类型,文件类型主要有以下几种:

【-】:表示是一个文件

【d】:表示是一个目录

【l】:表示是一个连接文件(相当于windows中的快捷方式)

【b】:设备文件中可供存储的设备接口

【c】:设备文件中的串行端口设备,如键盘、鼠标(一次性读取设备)

第二组是第2个字符到第四个字符,他表示了文件所有者的权限;

第三组是第5个字符到第7个字符,它表示了文件的文件组的权限;

第四组是第8个字符到第10个字符,它表示了文件的其他人的权限;

那么如何通过三个字母来判断权限呢,首先,第一个字母表示了是否可读,如果是【r】,则代表可读,如果是【-】,则表示不可读,如果是一个目录,则表示是否可以看到这个目录的文件列表,请注意,可读目录并不代表你真的可以看到目录中的文件!第二个字母代表了文件是否可写,即可修改,如果是【w】,表示可以修改,如果是【-】,则表示不可修改,这里的可修改不包括删除操作!;第三个字母代表了是否可以执行这个文件,如果是【x】,表示可以执行,如果是【-】,表示不可以执行,请注意,在Linux中,一个文件是否可执行不可以向windows一样根据文件扩展名进行判断,在windows中,可执行文件通常其扩展名是.com、exe、.bat等,但是在Linux中,要判断一个文件是否可执行,只能同过可执行权限进行判断!还有一点,对于目录,可执行权限代表是否可以以此目录作为工作目录,所谓工作目录,就是你可以cd进行的。

2. 第二列表示的是有多少文件名链接到此节点。Linux中的目录树是通过文件名记录的,每个文件名都会对应系统中的一个i-node,而这一列就是记录了连接在相同i-node上的文件的文件数量。

3. 第三列表示的是文件所有者是谁,如图所示,上面的文件所有这均是jason用户。

4. 第四列表示的是文件的所属用户组名,如上图所示,文件的用户组是jason用户组。

5. 第五列记录了文件的大小,默认单位是B。

6. 第六列记录了文件最后被修改的时间。

7. 最后一列则记录着文件名。

三. 改变文件权限

改变文件的权限使用的命令是如下三个:

【chgrp】:改变文件所属用户组;

【chown】:改变文件的文件所有者;

【chmod】:改变文件的权限;

1. chgrp:即时change group英文的缩写,其语法格式如下:

chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...

其中常用的option是-r,表示的是递归的连续修改,即联通子目录下的所有文件所有目录都进行更新(下文将不再解释喽),如果你输入的用户组并不存在,系统将提示你invalid group;

2. chown:更改文件的文件所有者,其语法格式与chgrp相似:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

 chown [OPTION]... --reference=RFILE FILE...

我们举个例子:


可以看到,首先我的根目录下有一个test的文本文件,它的所有者是jason,然后我使用该命令将它的所有者变成root!如果制定用户不存在,那么将提示错误!

注意:使用chown也可以进行修改文件的所属用于组,命令为: chown owner.group filename或者chown owner:group filename,如果是单纯的修改用户组,也可以

chown .group filename。

3. chmod修改权限,使用chmod修改文件权限的时候有两种方式分别是使用数字方式和使用符号类型方式。

3.1. 数字修改:

在rwx权限中,其排列顺序是不变的,我们规定三位分别拥有不同的权重,其中【r】:4     【w】:2    【x】: 1,这样规定的话,不管如何组合,每种组合的权重之和都是不同的,因此我们就可以根据权重之和来判断相应 的权限了,举个例子:

如果一个文件的权限是 【-】【r】【w】【x】【r】【-】【w】【r】【-】【-】,那么,转换成数字表示的话, 文件的所有者权限就是7,文件的用户组权限就是5,其他人权限就是4,合起来文件的权限就是754,这个时 候,chmod的语法格式如下:

chmod     【-R】     【r】+【w】+【x】     filename

举个例子:


文件原来的权限是664,通过数字修改后变成了775.

3.2. 符号类型修改文件权限

我们知道,对于与一个文件,用户可以有三种身份,分别是owner、group、others,我们规定可以使用u、g、o 分别代表这三个身份,同时使用r、w、x、代表三种不同的权限,我们使用 身份  连接符  权限  来设置不同身份 的不同权限,其中,连接符有三种:

【=】:指的是将该身份 直接设置成 该权限,不管你以前是什么权限;

【+】:指的是为该身份添加该权限,其他权限保持不变;

【-】:指的是除去该身份的该权限

设置多个身份的权限可以使用“,”分割,其语法格式如下:

chmod     【u/g/o/a】 【+/-/=】 【r/w/x】,【u/g/o/a】 【+/-/=】 【r/w/x】,...

举个例子:


如图所示,文件test最初的权限是r--  r-x  r-x,然后我们为owner添加了wx权限,为group和others除去了执行权限x。

注意:【a】身份值得是所有人。

四. 文件权限的意义

三种权限对于文件有着重要的且不同的意义,具体如下:

【r】:是否可读。

对于文件指的是是否可以读取文件的实际内容,如读取文本文件的文字内容等。

对于目录,是否具有读取目录结构列表的权限,即查询目录下文件名列表。

【w】:

对于文件,是否可写,其权限有可编辑、新增、修改文件的内容,但是不可以删除。

对于目录,其权限比较大,它包含:

可以新建文件或目录;

可以删除已经存在的文件或目录(不管你相对于这个文件的权限是什么)

· 将已经存在的文件或者目录进行重命名

修改其中的文件或目录的位置

总的来说,目录的w权限与这个目录下的文件名额度变动有关。

【x】:

对于文件,判断这个文件是否可以被执行,文件的是否可被执行与扩展名没有关系!

对于目录,就是是否可以将这个目录作为工作目录。

有几个需要注意的地方,我们举两个例子来说明一下:

1. 假如现在的登录用户是jason,那么他的工作目录/home/jason的权限就应该是700,如果此时该目录下有一个文件A他的权限是700,但是文件的所有者和用户组都是root。

这种情况下,首先相对于文件来说,用户jason是不可读、不可编辑、不可执行的,但是,由于文件的父目录对于jason来说权限充足,拥有完整的权限,因此他可以对文件进行删除、移动等操作!

2. 如果对于一个目录,你的权限是可读不可执行,但是目录里面有一个文件,你没有任何权限,那么当你尝试用ls -l访问目录的结构的时候,会出现什么情况呢?

这种情况下,由于你对于这个文件是没有任何权限的,理论上你是不可读、不可写、不可执行,但是对于目录,你仅仅拥有读取的权利,目录的权限优于文件的权限,因此你可以查看目录结构(注意,请记住,目录结构只包含目录内目录和文件的名称列表),因此,你依然可以看到这个文件名,但是你对于目录不具备x权限,因此文件的所有属性将被显示成?,同时,你无法cd到这个目录下!

五. Linux目录标准配置

FHS(FileSystem Hierarchy Standard)的重点在于规范Linux下每个特定目录下应该放置什么样子的数据!

FHS 根据 文件系统的使用频繁程度 和 是否允许用户随意改动,将目录顶已成为四种交互作用的形态:

1. 可分享的、不可变的:/usr(软件放置处)、/opt(第三方软件)

2. 可分享的、可变动的:/var/mail(用户邮件信箱)、/var/spool/news(新闻组)

3. 不可分享的、不可变的:/etc(配置文件)、/boot(开机和内核文件)

4. 不可分享的、可变动的:/var/run(程序相关)、/var/lock(程序相关)

根目录:

在Linux系统的目录树中,最重要的三个目录分别是“/”(root、根目录)、“/usr”、“/var”。

其中,根目录是整个系统中最重要的目录,原因:所有的目录都是由根目录衍生出来的;根目录存储着与开机、还原以及系统修复等操作的相关文件。因此,FHS指出尽量让根目录越小越好,不要将用户文件和其他软件文件放在这里!

/usr目录:

/usr:根据FHS定义,该目录下的数据是可分享但是不可变动的,usr的含义是UNIX Software Rsources的缩写,即UNIX操作系统软件资源,FHS建议所有的软件开发者尽量将他们的数据合理的放置到该目录下的子目录中。系统默认的软件都会放到该目录下!其子目录有:

/usr/x11R6/:为X WINDOW系统重要的数据所放置的目录

/usr/bin/ :绝大部分用户可用命令(注意在根目录下也有一个bin文件,/bin存储的是在但用户维护模式下还可以被操作的命令)

/usr/include/:C/C++等程序语言的头文件与包含文件的放置处

/usr/lib/:软件的函数库、目标文件以及不被惯用的执行文件或者脚本

/usr/local/:系统管理员在本机自行安装自己下载的软件建议安装到此目录!

/usr/sbin/:非系统正常运行所需要的命令

/usr/share/:放置共享文件的地方

/usr/src/:源码

/var目录:

该目录主要是针对常态性变动的文件,缓存、登陆文件以及软件运行期间产生的文件等。

在根目录下,还有一些重要的、被规范了的目录:

/home:系统默认的用户主文件夹,所有被创建的用户,用户的主文件夹都会被规范到这里,比如我创建了一个用户jason,在该目录下就会有一个jason用户的主文件夹/hone/jason

/lib:开机的时候用到的函数库

/medis:与媒体相关的,例如软盘、光盘、DVD等

/opt:第三方软件放置的目录,但是还可以放置到/usr/local目录下(我建议),可以看上面介绍的/usr目录。

/root:系统管理员的主文件夹。

/sbin:放置了那些一般只有root才可以使用的,用于开机、修复、还原系统所需要的命令。

/srv:一些网络服务启动后所取用数据的目录。

/tmp:临时文件

以上只是简单的介绍了FHS所规范的大多数目录,详细信息可以参看网上的资料。

Linux目录树架构:


第5章 Linux 文件权限与目录配置 练习题 早期的 UNIX 系统文件名最多允许 14 个字符,而新的 UNIX 与 Linux 系统中,文件名最多可以使用几个字符? 答:最多可使用255个字符 当一个一般文件权限为 -rwxrwxrwx,则表示这个文件的意义是什么? 答:这个文件所有人都具有读写执行的权限 我需要将一个文件的权限修改为 -rwxr-xr–,请问该如何执行命令? chmod 754 filename chmod ... 阅读详情

相关推荐

MySQL8.2.0下载安装

4、点击No thanks,just start my download,就是只是开始下载的意思,点击下载,等待下载完成。5、新建空白行,或直接双击紧挨的空白行,把复制的mysql的安装路径bin路径复制粘贴过来,确定,确定,确定。1、上面点击finish后,自动勾选了run mysql配置,自动会打开配置页面,点击Next。1、双击安装包,进入安装流程,勾选我同意 I accept,next。2、根据自己需要选择,我选的第二个,可以自己改安装路径。2、默认,点击Next,记住默认端口3306。

m0_59681797的博客 1万+

IIS禁止上传目录执行脚本

IIS上传目录禁止脚本文件执行

Prolovecui的博客 1396

Android Audio - 支持多应用同时录音_Android8.1修改方法

支持多应用同时录音_Android8.1修改方法 源码路径: sdk\frameworks\av\services\audiopolicy\managerdefault\AudioPolicyManager.cpp 需要修改两个位置: audio_io_handle_t AudioPolicyManager::getInputForDevice() 在mpClientInterface-&gt...

iFinelio Tower 的博客 5758

Linux系统控制文件和目录权限

并非操作系统的每个用户都应具有相同级别的文件和目录访问权限,与任何专业操作系统一样,Linux具有保护文件和目录访问的方法。系统允许系统管理员(root用户或文件所属用户)通过赋予用户读取,写入或执行文件的权限来保护其文件免受不必要的访问或篡改。对于每个文件和目录,我们可以为文件所属用户、同组用户以及其他用户指定权限状态,这在多用户操作系统中是必要的。

喜欢Python编程的程序员柚柚呀 2894

RustFS vs MinIO:深入对比分布式存储的性能、功能与选型指南

RustFS与MinIO是两款热门分布式存储系统,分别针对高性能与通用场景设计。RustFS基于Rust语言,在吞吐量(最高提升46%)、延迟(降低37%)和资源效率(内存占用减少67%)上显著优于MinIO,适合AI训练、金融级应用等高性能需求。MinIO凭借成熟的S3兼容性、云原生集成和企业级功能,更适用于混合云及现有S3生态。许可方面,RustFS采用Apache 2.0,MinIO为AGPLv3。选型建议:优先RustFS应对性能敏感场景,选择MinIO注重生态兼容性,也可考虑混合架构策略。

分布式存储与RustFS的博客 2024

ROBOGUIDE教程:FANUC机器人X型焊枪气动点焊焊接

FANUC机器人X型焊枪气动点焊焊接虚拟仿真实现方法。

IndRobSim 4386

linux 取消上传文件存储目录执行脚本的权限防御WebShell攻击

      大部分应用系统都有上传图片或文件的功能,攻击者利用这些功能上传一个网页木马,如果存放上传文件的目录有执行脚本的权限,那么攻击者就可以直接得到一个WebShell,进而控制Web服务器。这个漏洞有两个必要条件,一是可以上传木马,二是存放上传文件的目录具备执行脚本的权限。上传是业务的功能需要,即便有做各种安全过滤,限制木马上传,但也有各种绕过过滤的攻击方法,比较难以限制。所以漏洞的关键就...

qq117361093的专栏 3156

21、深入了解SELinux安全系统与/proc文件系统

本文深入探讨了SELinux安全系统与/proc文件系统的原理及实际应用。详细介绍了SELinux的安全上下文、域转换、运行模式、角色管理以及策略查看工具seinfo的使用;同时解析了/proc文件系统的结构与功能,涵盖进程信息查看、系统资源监控及性能优化方法。结合SELinux与/proc的协同应用,提供了系统问题排查流程与安全管理最佳实践,帮助用户提升Linux系统的安全性与稳定性。

ik678901234的博客 62

Linux 文件权限和目录设置

这是一篇极为基础的

RookieDream 721

已解决“TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败“,亲测有效!!!

已解决"TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败",亲测有效!!!

wbajsjhhhhh的博客 1万+

华为OD机试 - 战士技能规划设计 - 数组(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。你为一款动作游戏设计战士角色的技能:战士每个技能会消耗不同能量,释放技能有 2 个约束:连续释放技能数量不能超过 m 个,技能能量总和不能超过能量上限 k;如果超过则必须中断当前技能,进入调息状态(即分段)。战士有一项爆发技巧:在单次战斗中有一次

学Java,找哪吒 234

你需要知道的web安全

你需要知道的web安全

Galaxy_0的博客 465

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Linux文件权限和目录配置

Linux文件权限和目录管理 用户和用户组 Linux文件权限 Linux文件属性 Linux文件权限的重要性 Linux用户身份和用户组记录的文件 Linux修改文件属性和权限 chgrp:修改所属组 chown:修改文件拥有者 chmod:修改文件的权限 Linux目录与文件的权限意义 Linux文件种类、扩展名和文件名限制 Linux文件种类 Linux文件扩展名 Linux文件名限制 Linux目录配置 Linux目录配置的依据——FHS 根目录(/)的意义与内容 /usr的意义和内容 /var的意

不知道 1837

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Linux基础学习--linux的文件权限与目录配置

linux文件权限与目录配置

2302_80755459的博客 1017

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux基础_文件权限与目录配置

刚开始了解linux的时候,在linux下面有很多的目录与文件,这个目录和文件到底代表什么意义呢?本文将对这个问题做出解释。 用户与用户组 在linux中,任何一个文件都具有用户(USER)、所属群组(GROUP)、其他人(OTHERS)三种身份的个别权限。 账号信息都记录在/etc/passwd 密码记录在/etc/shadow 组名都记录在/etc/group Linux的文件权限概念 linux文件属性 在linux中,以root用户的身份输入命令行ls -al你就可以看到当前目录下列出的详细文

栖溪阁晓生的博客 924

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

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

m0_52452411的博客 1130

Linux的文件权限与目录配置

Linux的文件权限与目录配置 用户与用户组 ​ 每个用户都必须属于一个组。liux创建用户时,系统会创建一个同名组,并将该用户加入该组。组的存在方便了管理。用户信息再/etc/passwd中。密码存放在/etc/shadow中。组信息放在/etc/group中。 Linux文件权限 记录格式: 文件类型 硬链接数 文件所有者 文件所属组 文件大小 创建时间和修改时间 文件名 对前十个字符: char[0]是文件类型: -代表普通文件(文本文件,字符文件),d代表目录(文件夹),b代表设备文件

酒千殇的博客 273

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

Linux一般将文件可存取的身份分为三个类别,分别是,且三种身份各有等权限。

CaraYQ的博客 1465

【Linux上分之路】第四篇:Linux文件权限和目录配置

文章目录Linux文件权限与目录设置用户组和文件权限用户配置文件/etc/passwd文件/etc/shadow文件/etc/group文件/etc/gshadow文件/etc/login.defs文件Linux文件属性文件类型和权限改变文件属性和权限chgrpchownchmod数字类型改变文件权限符号类型改变文件权限Linux目录配置Linux目录配置标准:FHS目录树路径总结 Linux文件权限与目录设置 Linux是一个多用户、多环境的系统,Linux中所有内容都是以文件的形式保存和管理的,即LI.

justilake的博客 3548

Linux初学之文件权限与目录配置

Linux初学之文件权限与目录配置 前言 linux最优秀的地方就在于他的多任务环境,而为了让各个用户具有保密的文件数据。因此文件管理权限就变得非常重要了。linux一般将文件的可读写的身份分为三个类别,分别是拥有着(owner)、所属群组(group)、其他人(others),且三种身份各有读(read)、写(write)、执行(execute)等权限 一、文件权限 1.文件属性:这里有一个非常重要的一个命令 ls (查看文件的命令)然后使用 su -切换身份成为root,执行ls -al看看,会看到下面

victoryyounger的博客 171

Linux学习2 linux文件权限与目录配置

linux学习笔记

zhanghanhanzhang的博客 486
上一篇: 【Java基础】-abstract关键字
下一篇: 【Java基础】-容器
「已注销」
博客等级 码龄11年 26粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值