linux基础学习——linux的文件权限和目录配置

1.用户和用户组和其他人概念:

三个概念的前提宗旨:linux是一个多人多任务的系统环境。如果不对文件作出一个权限限制的话。任何人都能操作这份文件的话,那么系统变很容易出差错。用户和用户组以及其他人这个就主要是对权限作出限制。保证使用环境安全。在linux里面,每一个文件都具有用户(User),用户组(Group),以及其他人(others)三种身份的个别权限。

用户:用户个人,通常是指拥有者本身。
用户组:多个用户存在于一个用户组里面,共享用户组本身的文件资源,可接受查询等一类功能,但用户个人本身的文件,并不能被其他人包括用户组的拥有者进行查询。保证了私有空间。
其他人:可以说是,用户组之外的都属于其他人一系列。没有权限允许,没办法查询文件。
Root:对于文件有着无穷的权利。基本上跟爹一样。可以协助你,方便我们的linux多任务环境比那的更加容易管理。

PS:
1.每个账号都可以拥有多个用户组的支持。并不局限于单个用户组。

2.linux文件权限概念

2.1linux文件属性

我们有一个常见常用的命令用来查询文件的属性。【ls】就是一个查看文件的命令。查看文件的时候为了方便我们需要切换以下身份,采用Root进行操作。

其中ls是list的意思,重点在显示文件的文件名和相关属性。而选项【-al】表示列出所有文件详细的权限和属性(包括隐藏文件,以 .(点)开头的文件就是了)。

第一栏:代表着的是文件的类型和权限。权限主要是有10个字符(上面好像看不清,大家可以自行测试看看)。(重点!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
1.第一个字符代表这个是文件、目录、还是链接文件。

符号 名称
[d] 表示的是目录。例如上表的[.config]
[ - ] 表示的是文件。例如上表的【initial-setup-ks.cfg】
[ l ] 表示的是链接文件(link file)
[ c ] 表示的是串口端口设备,类似的有鼠标键盘等

其中十个字符去掉一个,还剩九个。每三个为一组,分别对应文件拥有者权限(用户)、文件所属群组权限、其他人权限。其中

符号 名称
[ r ] 表示可读 read
[ w ] 表示可写write
[ x ] 表示可执行execute
[ - ] 表示没有权限

第二栏表示:有多少文件链接到这个节点(inode)。每个文件都会将文件本身的权限和属性记录到这个文件系统的节点中。这个属性就是记录有多少不同文件名链接到同一个节点上。

第三栏表示:文件拥有者(目录)的拥有者账号。

第四栏表示:这个文件的所属用户组。在linux系统下,你的账号会加入一个或者多个用户组

第五栏表示的是文件的容量大小。单位是Bytes

第六栏是创建时间护着是修改时间。

第七栏就是文件名了。其中刚刚提到,如果文件名前面多了一个点,那么就是表示是隐藏文件。

科普:
linux文件权限的重要性

权限的重要用途主要还是在数据安全性上面。
主要体现在系统保护功能、团队开发软件和数据共享功能、以及没有权限的话会导致严重危害。

2.2.修改文件的属性和权限

首先先介绍以下几个常用于用户组、用户、其他人的权限修改命令:
chgrp:修改文件所属用户组。
chown:修改文件拥有者。
chmod:修改文件的权限。

命令 语法
chgrp [root@Tom~]# chgrp [-R] 目录或者文件
chown [root@Tom~]# chown [-R] 账号名称 文件或者目录
chown [root@Tom~]# chown [-R] 账号名称 :用户组名称 文件 或者目录
chmod [root@Tom~]# chmod [-R] xyz 文件或者目录

其中修改权限的xyz有这两种表示方法:
1.数字类型修改文件权限法
2.符号类型修改文件法

一:首先先讲以下数字类型修改文件权限法
r=4
w=2
x=1
0表示没有权限

二:符号类型修改文件法
其中我们之前说到了三种权限:用户、用户组、以及其他人。这里我们要补充一个,将用户和用户组以及其他人同称所有。那么我们就可以得到四种权限。
分别用英文缩写表示。u表示用户,g表示用户组。o表示其他人。a表示所有权限。那么就可以衍生出一些表示方法。
u=rwx;或者是 a-x 这样的语句。(这些在鸟叔的笔记里都是有记载的,可行的)
下列我将给大家展示并验证。(这里包括chown和chgrp以及chmod的语法)








PS:我们在修改部分文件的时候。如果是测试的话。一定要复原成原来的样子。

2.3【目录和文件】的权限意义

2.3.1权限对文件的重要性
文件是实际含有数据的地方,包括一般的数据文本文件和数据库文件以及其他的二进制可执行文件等。权限对文件来说,它的意义是这样的:

 r(read):可读取此文件的实际内容。w(write):可以修改、编辑、或者新增该文件的内容。但是没有能力删除文件本身。x(execute):该文件有被系统执行的权限。

PS:与Windows不同的是,文件能否被执行,主要是借由是否有X这个权限来判断决定的。和文件名本身没有太大关系。

2.3.2权限对目录的重要性
目录主要的内容在记录文件名列表,文件名和目录有着强烈的关联。

 r(read):表示具有读取目录结构列表的权限。w(write):表示具有改动该目录结构列表的权限。①建立新的文件和目录。②删除已经存在的文件和目录(不论该文件的权限是什么);③将已经存在的文件或者目录进行更改名字。④移动该目录内的文件或者目录的位置。x(execute):表示的是用户是否能进入该目录成为工作目录的用途。

PS:
如果在某目录下不具有X权限,那么就无法切换到该目录下。也就无法执行目录下的任何命令。即使具有该目录的r或者w权限。要开放目录给任何人的时候,至少要给r和x的权限。但是w权限不能随便给。
将文件看成文件夹,将目录看成可分类抽屉。再去理解可能会稍微好点。

组件 内容 代替对象 r w x
文件 详细数据 文件夹 读到文件内容 修改文件内容 执行该文件内容
目录 文件名(理解成文件夹) 可分类抽屉 读到文件名(不代表着文件内容) 修改文件名(不代表着文件内容) 进入该目录的权限

引用:表格

2.4linux文件种类和拓展名

2.4.1文件种类

①常规文件:纯文本文件、二进制文件、数据文件。
②目录,第一个属性为 [ d ];
③链接文件,第一个属性为[ l ];
④设备和设备文件:区块设备文件(第一个属性为[ b ])、字符文件(第一个属性为[ c ]);
⑤数据接口文件,第一个属性为[ s ];
⑥数据传输文件,第一个属性为[ p ];

2.4.2linux文件拓展名

基本上,linux的文件是没有所谓拓展名。主要是与第一栏的第十个属性有关。跟文件名没有任何关系。
不过可以被执行和可以执行成功就不太一样了。能否执行成功主要取决于文件的内容。

2.4.3linux文件名的限制

和windows一样。给文件命名的时候要尽量避开特殊字符。

3.Linux 目录配置

3.1 Linux 目录配置标准:FHS

a.可分享的: 可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据,是能够分享给网络上其他主机挂载用的目录。
b.不可分享的: 自己机器上面运行的设备文件或者是与程序有关的socket文件等,由于仅与自身机器有关,所以当然就不合适分享给其他主机了
c.不变的: 有些数据是不会经常变动的,跟随着distribution而不变动。例如函数库、文件说明文件、系统管理员所管理的主机服务配置文件等。
d.可变动的: 经常改变的数据,例如登录文件,新闻组等

FHS针对目录树架构定义出三层目录该放什么数据:
①/(root, 根目录): 与开机系统有关;
②/usr(UNIX software resource): 与软件安装/执行有关
③/var (variable): 与系统运作过程有关
3.1.1 根目录(/)的意义与内容

首先根目录与开机、还原、系统修复等操作有关。FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内, 保持根目录越小越好,如此不但性能较好, 根目录所在的文件系统也较不容易发生问题。FHS定义出根目录(/)下面应该要有下面这些子目录的存在:

目录 应放置文件内容
/bin 系统有很多放置执行文件的目录,但/bin比较特殊。因为/bin放置的是在单用户维护模式下还能够被操作的命令。在/bin下面的命令可以被root与一般账户所使用,主要有cat,chmod,chown,date,mv,mkdir, cp,bash等常用的命令。
/boot 这个目录主要放置开机会使用到的文件,包括Linux内核文件以及开机菜单与开机所需要配置文件等。LINUX kernel常用的文件名为vmlinuz,如果使用的是grub2这个引导装载程序,则还会存在/boot/grub/这个目录
/dev 在Linux系统上, 任何设备与接口设备都是以文件的形式存在于这个目录当中的。你只要通过访问这个目录下面的某个文件,就等于访问某个设备。比较重要的文件有/dev/null, /dev/zero,/dev/tty,/dev/lp*, /dev/hd*, /dev/sd*等
/etc 系统主要的配置文件几乎都放置在这个目录内。一般来说,这个目录下的各文件属性是可以让一般用户查阅的,但是只有root有权利修改。FHS建议不要放置可执行文件(binary)在这个目录中。比较重要的文件有etc/inittab, /etc/init.d, /etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig等,另外,其下重要的目录有:
. /etc/opt: 第三方辅助软件/opt配置文件都在这里了
二:/etc/X11/: 与X Window有关的各种配置文件都在这里,尤其是xorg.conf 这个XServer的配置文件
三:/etc/sgml/:表示与sgml格式有关的配置文件
四: /etc/xml/ :与xml格式有关的各项配置文件。
/lib 系统的函数库非常多, 而/lib放置的则是在开机时会用到的函数库,以及在/bin或/sbin下面的命令会调用的函数库而已。什么是函数库? 你可以将它想成是“外挂”,某些命令必须要有这些“外挂”才能够顺利完成程序的执行之意。
/lib/modules/这个目录,因为该目录会放置内核相关的模块(驱动程序)
/media /media放置的就是可删除的设备。包括软盘、光盘、DVD等设备都暂时挂载于此。常见的文件名有/media/floppy, /media/cdrom等
/mnt 如果你想要暂时挂载某些额外的设备,一般建议你可以放置到这个目录中。在比较早的时候,这个目录的用途与/media相同。只是有了/media之后,这个目录就用来暂时挂在用了
/opt /opt,第三方软件放置的目录。
/run /run可以当做内存来模拟,从性能上会优良不少
/sbin 放在/sbin下面的启动启动过程所需要的,包括了启动,修复,还原系统
/srv srv 可以视为“service”的缩写,是一些网络服务启动之后,这些服务所需要取用的数据目录。常见的服务例如www,FTP等,举例来说,www服务需要的网页数据就可以放置在/srv/www/里面
/tmp 这是让一般用户或者正在执行的程序暂时放置文件的地方。这个目录是任何人都能够访问,所以你需要定期清理一下。当然,重要数据不可放置在此目录。因为FHS甚至建议在开机时,应该要将/tmp下的数据都删除
/root 系统管理员(root)的主文件夹。之所以放在这里,是因为如果进入单用户维护模式而仅挂载根目录时,该目录就能够拥有root的主文件夹,所以我们会希望root的主文件夹与根目录放置在同一个分区中

事实上FHS针对根目录所定义的标准仅有上面列举的数据。下面是几个在linux当中也是非常重要的目录:

目录 放置文件内容
/lost+found 目的主要是在文件系统发生错误是,将一些遗失的片段放置在这个目录上
/proc 这个目录本身是一个虚拟文件系统(virtual filesystem)。它放置的数据都是内存当中,例如系统内核,进程(process),外部设备的状态及网络状态等。因为这个目录下的数据都是在内存当中,所以本身不占任何硬盘空间!比较重要的文件例如/proc/cpuinfo, /proc/dma, /proc/interrupts,/proc/ioports, /proc/net/*等
/sys 这个目录其实跟/proc非常类似,也是一个虚拟的文件系统,主要也是记录与内核相关的信息。包括目前已加载的内核模块与内核检测到的硬件设备信息等。这个目录同样不占硬盘容量。

除了这些目录的内容之外,另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载,其他分区则是在开机完成之后才会持续进行挂载的行为。根目录下与开关过程有关的目录就不能够与根目录放到不同的分区去。如下面几个目录:

/etc: 配置文件

/bin: 重要的执行文件

/dev: 所需要的设备文件

/lib: 执行文件所需要的函数库与内核所需的模块

/sbin: 重要的系统执行文件
3.1.2 /usr 的意义与内容

依据FHS的基本意义,/usr里面放置的数据属于可分享的与不可变动的, usr是UNIX Software Resource的缩写,也就是“UNIX 操作系统软件资源”所放置的目录,而不是用户的数据。所有系统默认的软件(distribution 发布者提供的软件)都会放置到/usr下面。

目录 放置文件内容
/usr/bin/ 绝大部分的用户可使用命令都放在这里。并且最新的centos 7已经将全部的用户命令都放在这里了。通过链接文件的方式保存在这里。所以,它和/bin 一模一样
/usr/lib/ 同/lib功能一样,也是通过链接的方式链接到这里的
/usr/local/ 系统管理员在本机自行安装自己下载的软件(非distribution默认提供者), 建议安装到此目录,这样会比较便于管理。/usr/local去,该目录下也是具有bin,etc,include,lib的子目录
/usr/sbin/ 非系统正常运行所需要的系统命令。最常见的就是某些网络服务器软件的服务命令(daemon)。也是把/sbin文件通过链接方式在这个文件里面
/usr/share 放置共享文件的地方,在这个目录下放置的数据几乎是不分硬件架构均可读取的数据,因为几乎都是文本文件再次目录下常见的还有这些子目录:
a. /usr/share/man: 再线帮助文件
b. /usr/share/doc: 软件杂项的文件说明
c. /usr/share/zoneinfo: 与时区有关的时区文件

3.1.3 /var的意义与内容

如果/usr是安装时会占用较大硬盘容量的目录,那么/var就是在系统运行后才会渐渐占用硬盘容量的目录。因为/var目录主要针对常态性变动的文件, 包括缓存(cache)、登录文件(log file)以及某些软件运行所产生的文件,包括程序文件(lock file, run file), 或者例如MySQL数据库文件等。

/var/cache 应用程序本身运行过程中会产生的一些暂存文件
/var/lib 程序本身执行的过程中,需要使用到的数据文件放置的目录。在此目录下各自的软件应该要有各自的目录。举例来说,MySQL的数据库放置到/var/lib/mysql/, 而rpm的数据库则放到/var/lib/rpm目录下
/var/lock 某些设备或者是文件资源一次只能被一个应用程序所用,如果同时有两个程序使用该设备时,就可能产生一些错误的状况,因此就得要将该设备上锁(lock),以确保该设备只会给单个软件所使用
/var/log (十分重要)这是日志文件放置的目录
/var/mail 放置个人电子邮件信箱的目录,不过这个目录也被放置到/var/spool/mail/目录中。通常这两个目录是互为连接文件。
/var/run 某些程序或者服务启动后,会将他们的PID放置在这个目录下。
/var/spool 这个目录通常放置一些对列数据,所谓的“队列”就是排队等待其他程序使用的数据,这些数据被使用后通常都会被删除。举例来说,系统收到新新件会放置到/var/spool/mail中,但用户收下该信件后该信件原则上会被删除。信件如果暂时寄不出去会被放到/var/spool/mqueue中,等到被送出去后就被删除。

3.2 目录树

在Linux下面,所有的文件与目录都是由根目录开始的。那是所有目录与文件的源头。然后再一个一个分支下来,有点像树枝状。因此我们也称这种目录配置方式为“目录树”,它主要的特征有:

  1. 目录树的起始点为根目录(/,root)

  2. 没一个目录不只能使用本地端的文件系统,也可以使用网络上的文件系统。举例来说,可以利用Network File System(NFS)服务器挂载某特定目录等。

  3. 每一个文件在此目录树中的文件名(包含完整路径)都是独一无二

    图片引自

3.3 绝对路径和相对路径

在Linux中,根据文件名的写法不同,可以将路径分为绝对路径和相对路径。

绝对路径:路径的写法一定是由根目录 / 写起的。
相对路径:路径的写法不是由根目录 / 写起的。

在Linux文件系统中,有两个特殊的符号也可以表示目录:

. ”表示当前目录.(这边不是没有东西,而是有一个点,英文字符的点)
. . ”表示当前目录的上一级目录

4.总结

1.Linux 的每个文件中,可分别给予用户、用户组与其他人三种身份的rwx权限;
2.用户组最有用的功能之一,就是当你在团队协同工作的时候,且每个账号都可以有多个用户组的支持。
3.利用Is -1显示的文件属性中,第一个字段是文件的权限,共有十个位,第一个位是文件类型,接下来三个为一组共三组,为用户、用户组、其他人的权限,权限有rwx三种;
4.如果文件名之前多一个“.”, 则代表这个文件为隐藏文件;
5.若需要root的权限时,可以使用su-这个命令来切换身份,操作完毕则使用exit离开su的命令环境
6.更改文件的用户组支持可用chgrp,修改文件的拥有者可用chown,修改文件的权限可用chmod;
7.chmod修改权限的方法有两种,分别是符号法与数字法,数字法中r、W、X数字分别为4、2、1;
8.权限对文件来说,它的意义是这样的:
r(read):可读取此文件的实际内容。
w(write):可以修改、编辑、或者新增该文件的内容。但是没有能力删除文件本身。
x(execute):该文件有被系统执行的权限。
9.目录主要的内容在记录文件名列表,文件名和目录有着强烈的关联。
r(read):表示具有读取目录结构列表的权限。
w(write):表示具有改动该目录结构列表的权限。
①建立新的文件和目录。
②删除已经存在的文件和目录(不论该文件的权限是什么);
③将已经存在的文件或者目录进行更改名字。
④移动该目录内的文件或者目录的位置。
x(execute):表示的是用户是否能进入该目录成为工作目录的用途。
10.要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给;
11.能否读取到某个文件内容,跟该文件所在的目录权限也有关系(目录至少需要有x的权限);
12.绝对路径:路径的写法一定是由根目录 / 写起的。相对路径:路径的写法不是由根目录 / 写起的。

本篇参考文章如下:
绝对路径和相对路径
linux的目录配置

最后,本人还是弱鸡一枚。许多知识都是站在前人基础上进行搭建和传播。若有侵权行为。还请留言,本人必将道歉和更改。感谢各位的包容。
接下来我会每个礼拜进行两次的留言回答查看。在本人得到能力范围内,会尽量对大家进行解疑。欢迎您的留言。共同进步!
若有更好理解的说法,还请留言指教。本人会根据合理性进行一个更改。感谢大家的支持!!

linux基础学习——linux的文件权限和目录配置相关推荐

  1. Linux配置协同工作目录,Linux学习二:文件权限与目录配置

    Linux文件权限 ls指令可查看当前目录下的所有文件及文件夹,ls -al可以展示所有文件夹得详细属性. 其中,第一列为文件类型与权限 如图所示: 第一个字符代表这个文件是『目录.文件或链接文件等等 ...

  2. 鸟哥的Linux私房菜(基础篇)- 第六章、Linux 的文件权限与目录配置

    第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 Linux最优秀的地方之一,就在于他的多人多任务环境.而为了让各个使用者具有较保密的文件数据,因此文件的权限管理就变的很重要 ...

  3. Linux 的文件权限与目录配置

    第六章.Linux的文件权限与目录配置 最近更新日期:2009/08/18 3. Linux目录配置 3.1 Linux目录配置的依据--FHS:/,/usr, /var 3.2 目录树(direct ...

  4. 【笔记】linux文件权限与目录配置

    linux文件权限与目录配置 文章目录 linux文件权限与目录配置 一.文件权限 <1>文件属性 [特别注意] <2>连接数 二.修改文件权限 <1>改变群组 c ...

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

    鸟哥的Linux私房菜第五章--Linux的文件权限与目录配置 文章目录 第五章--Linux的文件权限与目录配置 一.拥有者.群组.其他人 二.文件权限 1. 文件属性 2. 改变文件属性 3. 文 ...

  6. 鸟哥的私房菜笔记—文件权限与目录配置

    本文参考鸟哥的私房菜-文件权限与目录配置 1.linux中的角色 user group others 每种角色都有三种权限:r(read) w(write) x(execute) 2.linux文件属 ...

  7. linux档案权限655,Linux学习笔记之档案权限与目录配置

    一. 档案权限与目录配置 用户的属性信息:/etc/passwd 用户的密码信息:/etc/shadow 组的信息:     /etc/group 每个用户都有唯一的uid供系统识别 sudo -i ...

  8. 鸟哥Linux私房菜基础学习篇 第二部分 Linux 文件、目录与磁盘格式_Linux文件权限与 目录配置_Linux文件与目录管理...

    2019独角兽企业重金招聘Python工程师标准>>> 1.相对路径相对某目录比较灵活方便(如安软件时候指定目录),绝对路径一般不会因为环境变化而产生错误. 2.目录变化时的切换 - ...

  9. Linux操作系统使用基础03:Linux文件权限与目录配置

    目录 1. 用户与用户组简介 1.1 作用 1.2 相关配置文件 1.2.1 用户信息文件:/etc/passwd 1.2.2 影子文件:/etc/shadow 1.2.3 组信息文件:/etc/gr ...

最新文章

  1. mysql中的意向锁IS,IX
  2. 推荐|5种商业AI产品的技术架构设计!
  3. GPU Gems2 - 2 使用基于GPU几何体裁剪图的地形渲染(Terrain Rendering Using GPU-Based Geometry Clipmaps)
  4. php 遮罩层,Jquery实现遮罩层的方法
  5. 小白学HarmonyOS,HarmonyOS 2.0正式发布 分布式能力获得全面升级
  6. (转)让我们原谅齐达内吧!(附一张落泪的照片)
  7. c4d导出obj格式有破面_适合折腾MMD的C4D常用插件及本体合集
  8. webpack入门总结1
  9. 几人同行时步伐总是整齐
  10. .net的XML对象序列化VS WCF中xml序列化问题
  11. 增霸卡出现问题 保护解不开
  12. c++采集声卡输出_windows上面捕获声卡数据
  13. HDMI 之 HPD .
  14. 2016/5/21 Seperate by *
  15. 4大私域流量体系(个人号、公众号、社群和小程序)全方面价值对比:私域流量,企业保命之本爆发之源!...
  16. MATLAB图像基本操作(信息查询/文件读取/写入/显示)
  17. 数位统计 dp 问题
  18. QQ空间直播秒开优化实践
  19. Feelings On Life II
  20. 【SeedLab】Morris Worm Attack Lab

热门文章

  1. 爱情分析-----失恋33天
  2. TPshop数据库表结构
  3. dnf7月7日服务器维护,DNF2017年7月6日维护到几点 DNF维护开机时间公告
  4. java诊断神器 arthas(阿尔萨斯)
  5. galaxy s8 android pc,谨小慎微的科技柜 篇五:两年前的次旗舰三星s8两年时间使用心得...
  6. 一款真正实现“天涯若比邻”的远程软件
  7. python简答题及答案查询公众号和软件_用Python分析了微信公众号
  8. 神武授权位置服务器,神武4端游多开切换ip防封最新搬砖思路
  9. 看注重内心的唯品会如何坚守电商本质
  10. Android图像处理之色彩特效处理