前言

Linux的环境为一个多人多任务环境,因此出于各个用户之间的保密性原因,它的文件管理权限就显得十分重要。

Linux一般将文件可读写身份分为三种类别,分别为:

  1. 拥有者(owner)
  2. 所属群组(group)
  3. 其他人(others)

三种身份各有读(read)、写(writer)、执行(execute)等权限

1、用户、用户组、其他人

1.1 用户、用户组、其他人之间的概念理解

文件拥有者(用户)、用户组与其他人之间的关系,用个人的理解来看即户主、家庭成员与客人之间的关系。

文件拥有者即一个家庭的一家之主,可以为文件设置适当的权限

用户组为家庭成员们,家庭中有一个客厅可以供大家一起使用,用户组的成员可以共同访问“客厅”内的文件

其他人可以看做是客人。它们不论进入“客厅”还是“私人房间”都需要对方的同意才可进入

需要注意的是在Linux系统中有一个特殊的身份为root,他可以去往任何“地方”,即文件位置

1.2 Linux系统中有用户身份与用户组记录的文件

在Linux系统的默认情况下,所有系统上的账号与一般身份用户、以及root相关信息都记录在/etc/passw这个文件内,至于个人密码则记录在/etc/shadow这个文件内。Linux内的组名都记录于/etc/group中,这三个文件可以说是Linux中的账号、密码、用户组信息的集中地

  • /etc/passwd  记录账号信息
  • /etc/shadow  记录个人密码
  • /etc/group     记录用户组名

2、Linux文件权限概念

注:ls为list的意思,是Linux中显示文件的命令(目录也为文件),-al为ls命令的选项,即显示隐藏文件和文件信息

第一列

在上图中我们可以看到dr-xr-x---这一列

d  r -  x  r -  x -  -   -

1 2 3 4 5 6 7 8 9  10

通过观察,这一列一共为十位,这十位就代表了此文件的类型和权限

我们将它分成四个部分,即:

d   r-x   r-x   ---

1   2     3      4

这四个部分分别代表的是文件类型、拥有者权限、用户组权限、其他人权限

从上图可以得出:rwx所在的位置不会变,有该权限就会显示字符,没有该权限就会显示减号(-)

第一部分有以下符号及其代表含义:

  1. d 表示它为目录
  2. -  表示它为文件
  3. |  表示它为链接文件
  4. b 表示它为设备文件里的可供存储的周边设备(可按块随机读写的设备)
  5. c  表示它为设备文件里的串行端口设备,例如键盘、鼠标等等一次性读取设备

第二、三、四部分有符号及其代表含义:

  1. r   表示可读(read)权限
  2. w  表示可写(write)权限
  3. x   表示可执行(execute)权限

以.bash_logout为例:

它的文件类型与权限为:-rw-r--r--

第一部分为文件类型(它为文件)

第二部分为文件拥有者可具备的权限(该文件拥有者可以读写,但不可执行)

第三部分为加入此用户组之账号的权限(用户组的账号只有读取权限)

第四部分为非本人且没有加入此用户组的其他用户的权限(其他账号只有读取权限)

第二列

从上图中我们可以看到3这一列

它表示了有多少文件名链接到此节点(inode)

每个文件都会将它的权限与属性记录到文件系统的inode中,不过,我们使用的目录树确实使用文件名来记录,因此每个文件名就会链接到一个inode,这个属性记录的就是有多少不同文件名链接到相同的一个inode号码

第三列

从上图中我们可以看到root这一列

它表示这个文件(或目录)的拥有者账号

第四列

从上图中我们可以看到root这一列

它表示这个文件的所属用户组

在Linux系统下,你的用户会加入一个或多个的用户组中

第五列

从上图中我们可以看到128这一列

它表示这个文件的容量大小,默认单位为Bytes

第六列

从上图中我们可以看到Jan 28这一列

它表示这个文件的创建日期或是最近的修改日期

这一栏的内容分别为日期(月/日)及时间,如果这个文件被修改的时间距离现在太久,那这部分只会显示年份而已

第七列

从上图中我们可以看到 . 这一列

它表示这个文件(或目录)的文件名(或目录名)

.表示当前目录

..表示上一层目录

如果文件名之前多了一个 . 则表示这个文件为隐藏文件

Linux文件权限的重要性

每个文件上面都添加了很多属性以及用户组的概念,其最大的用途为提高数据安全性

  • 系统保护功能

比如:关于系统服务的文件通常只有root才能读写或执行

root基本上不受系统的权限所限制,因此无论文件权限是什么,root默认都可以读写

  • 团队开发软件或数据共享的功能

可以利用用户组来设置团队开发,已达到团队内的人可以使用某一目录下的文件,而团队以外的人不予以开放

  • 未将权限设置妥当的危害

权限设置妥当的处理可以防止造成其他人在系统上乱搞的现象

比如只有root才能做得开关机、ADSL的拨号程序、新增或删除用户等命令被改成了任何人都可使用的状态下,可能会导致系统莫名其妙的挂掉等等情况出现

3、Linux的目录与文件的权限意义

文件权限对于一般文件和目录文件的不同挺大的,所以需要注意下

权限于文件

r(read):可以读取此文件的实际内容

w(write):可以编辑、新增或是修改该文件的内容

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

需要注意的事,在Windows系统下一个文件是否能够执行是根据文件的扩展名判断的,但在Linux下是由【x】这个权限来决定的

对于文件来说,rwx主要都是针对文件的内容而言,与文件名的存在与否没有关系,因为文件记录的是实际的数据

权限于目录

目录的主要内容为记录文件名列表,文件名与目录有强烈联系

r:表示具有读取目录结构列表的权限,比如使用ls把目录的内容列表显示出来

w:表示具有改动该目录结构列表的权限,也就是建立新的文件与目录、删除已经存在的文件与目录(无论该文件的权限是什么)、将已存在的文件或目录进行重命名、移动该目录内的文件、目录位置这些权限

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

4、Linux文件种类与扩展名

在Linux中一直有一个概念就是:任何设备在Linux下面都是文件,不仅如此,连数据沟通的接口也有专属的文件在负责

文件种类

1.常规文件(regular file):就是一般我们在进行读写的类型的文件

2.目录(directory)

3.链接文件(link):类似于Windows系统下的快捷方式

4.设备与设备文件(device):与系统周边及存储等相关的一些文件

通常都集中在/dev这个目录下,通常又分两种:

区块(block)设备文件:就是一些存储数据,以提供系统随机存取的接口设备,举例来说硬盘与软盘等就是。你可以随机在硬盘的不同区块读写,这种设备就是块设备

字符(character)设备文件:一些串行端口的接口设备,列如键盘、鼠标等。这些设备的特色就是一次性读取,不能够截断输出。举例来说,你不可能让鼠标跳到另一个画面,而是连续性滑动到另一个地方

5.数据接口文件(sockets)

这种类型的文件通常被用来在网络上的数据交换。我们可以启动一个程序来监听客户端的要求,而客户端就可以通过这个sockets来进行数据的沟通了

6.数据输送文件(FIFO,pipe)

FIFO也是一种特殊的文件类型,它的主要目的是解决多个程序同时读写一个文件所造成的错误问题,FIFO是先进先出(first-in-first-out)的缩写,即管道

文件扩展名

基本上Linux的文件是没有所谓的扩展名,因为一个Linux文件能不能被执行与它的权限有关,但具有可执行的权限和具有可执行的程序代码时两回事,所以我们仍然希望可以借由扩展名来了解该文件是什么东西

常用扩展名:

  • *.sh:脚本或批处理文件(scripts)
  • *.Z、*.tar.gz、*.zip、*.tgz:经过打包的压缩文件,这是因为压缩软件分别为gunzip、tar等,由于不同的压缩软件,而取其相关的扩展名
  • *.html、*.php:网页相关文件,代表HTML语法与PHP语法的网页文件

Linux文件名长度限制:单一文件或目录的最大容许文件名为255字节(大约128个汉字)

在设置文件名时尽量避免一些特殊字符

Linux的文件权限理解及文件种类与扩展名相关推荐

  1. NO21 Llinux的文件种类与扩展名--文件权限--软硬链接--Linux删除文件原理

    Linux的文件种类与扩展名 一.文件种类: 1.普通文件(regular file)第一个字符为[ - ] 包括: ①纯文本档(ASCII):这是Linux系统中最多的一种文件类型,称为纯文本档.是 ...

  2. Linux用户、权限及改变文件所有者及文件所属组多例详解 附python代码

    https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 如有转载,请注明出处(如不注明,盗者必究) Linux用户.权 ...

  3. Linux 如何创建新文件、修改文件权限、新文件读写 ?

    文章目录 Linux 如何创建新文件.修改文件权限.新文件读写 ? 场景 · 需求 · 说明: 一.创建新文件 1.1. 创建一个新文件: 1.2. 创建两个新文件: 1.3. 批量创建N+个新文件: ...

  4. SQLServer数据库mdf文件中了勒索病毒firex3m,扩展名变为mdf.firex3m

    ** SQL Server数据库mdf文件中了勒索病毒firex3m,扩展名变为mdf.firex3m,导致公司金蝶,用友财务ERP软件不能使用.OA软件也不能使用. ** 常见的扩展名如下: .fi ...

  5. 批量将磁盘上所有文件的路径地址、文件名、扩展名和文件夹名整理到 Excel 表格中

    概要:对于经常整理文件的小伙伴来讲,需要批量的使用到所有文件的文件的路径地址.文件名还有扩展名,如果有一种方法能够批量的将所有的文件的路径地址.文件的扩展名,还有所在的文件夹的名称能够自动的整理到Ex ...

  6. SQL Server数据库mdf文件中了勒索病毒.FREEMAN。扩展名变为FREEMAN

    SQL,数据库,勒索病毒,mdf文件中毒,FREEMAN SQL Server数据库mdf文件中了勒索病毒.FREEMAN.扩展名变为FREEMAN ***.ldf.FREEMAN ***.mdf.F ...

  7. SQL Server数据库mdf文件中了勒索病毒BUNNY。扩展名变为BUNNY

    SQL Server数据库mdf文件中了勒索病毒BUNNY.扩展名变为BUNNY ***.ldf.BUNNY ***.mdf.BUNNY ***.ldf.BUNNY ***.mdf.BUNNY SQL ...

  8. 文件夹突然变成html文件,电脑上的几个文件夹突然变成了有exe扩展名的文件,这些文件夹打不开,怎么办?...

    为了方便自己的文件存储,在电脑上,我们一般都会设置一些以自己熟知的名字来命名的文件夹,有时,会遇到电脑上的文件夹突然变成了有exe扩展名的文件,更要命的是,选择双击或右键打开,这些文件夹都打不开,看不 ...

  9. SQL Server数据库mdf文件中了勒索病毒 mercury。扩展名变为 mercury

    2019-01-24 15:57:27 SQL,数据库,勒索病毒,mdf文件中毒,mercury *SQL Server数据库mdf文件中了勒索病毒.mdf.mercury.mercury SQL S ...

最新文章

  1. Java AffineTransform入门
  2. ajax mysql项目 react_React视频教程来啦,每周末都有前端视频教程学
  3. Bash Shell学习笔记四
  4. 晶晶赴约会(信息学奥赛一本通-T1049)
  5. 自定义Android中Dialog的弹出动画
  6. scala学习笔记二----交互式shell编程使用
  7. java程序员 英文简历_it程序员英文简历范文模板
  8. torch中的retain graph、detach
  9. 《黑客与画家》读书笔记
  10. MATLAB-APP编程
  11. python实现问卷网的自动填写详解
  12. 捣鼓车间 | 学生获奖作品:戒烟帽
  13. 2020年中国知识产权服务从业人员数、营业收入及发展前景分析[图]
  14. 大厂面试Redis:缓存雪崩、缓存穿透、缓存击穿
  15. 椭圆曲线:不定方程的难解问题
  16. execvp函数详解_如何在C / C ++中使用execvp()函数
  17. 企业wifi管家——让天下没有难管的wifi
  18. Springboot+mysql+大学生就业管理系统 毕业设计 -附源码290915
  19. 关联规则(Association Rules)
  20. 第五季完美童模 形象大使林子懿现场走秀回顾

热门文章

  1. 中文字幕人工翻译 Lynda-After Effects CC 2019 Essential Training Motion Graphics
  2. python 神经网络可以输出连续值_dqn 神经网络输出
  3. 百度超级链数字藏品 仿鲸探数字藏品平台开发
  4. 如何从零开始制作一款日式AVG游戏
  5. Android 仿微信语音聊天音量大小显示控件
  6. oracle select into 导致报错
  7. 汉寿计算机职业中专,汉寿县职业中等专业学校2021年有哪些专业
  8. python视频教程大全(转载)
  9. 龙族幻想导入数据id_龙族幻想:一键捏脸数据ID 快速捏脸数据ID汇总分享
  10. JSP教师辅助办公软件教学进程管理系统yeclipse开发mysql数据库bs框架java编程jdbc详细设计