文件 | 位置 |
---|---|
所有的系统上的帐号与一般身份使用者,还有root的相关信息 | /etc/passwd |
个人的密码 | /etc/shadow |
Linux所有的群组名称 | /etc/group |
这三个文件可以说是Linux系统里面帐号、密码、群组信息的集中地
文件权限的重要性
chmod a+w .bashrc
权限对文件的重要性
(1)r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
(2)w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);当你对一个文件具有w权限时,你可以具有写入/编辑/新增/修改文件的内容的权限, 但并不具备有删除该文件本身的权限
(3)x (eXecute):该文件具有可以被系统执行的权限。
对于文件的rwx来说, 主要都是针对“文件的内容”而言,与文件文件名的存在与否没有关系。因为 文件记录的是实际的数据
权限对目录的重要性
(1)r :表示具有读取目录结构清单的权限,所以当你具有读取®一个目录的权限时,表示你可以查询该目录下的文件名数据。 可以利用 ls 这个指令将该目录的内容列表显示出来
w:表示具有异动该目录结构清单的权限,也就是:
创建新的文件与目录;
删除已经存在的文件与目录(不论该文件的权限为何)
将已存在的文件或目录进行更名;
搬移该目录内的文件、目录位置。
目录的w权限就与该目录下面的文件名异动有关
x :目录的x代表的 是使用者能否进入该目录成为工作目录。所谓的工作目录(work directory)就是你目前所在的目录
目录主要的内容在记录文件名清单,文件名与目录有强烈的
关连
例题1
有个目录的权限如下所示:
drwxr–r-- 3 root root 4096 Jun 25 08:35 .ssh
系统有个帐号名称为vbird,这个帐号并没有支持root群组,请问vbird对这个目录有何权限?是否可切换到此目录中?
答:
vbird对此目录仅具有r的权限,因此vbird可以查询此目录下的文件名列表。因为vbird不具有x的权限,因此vbird并不能切换到此目录内!(相当重要的概念!)如果你在某目录下不具有x的权限, 那么 你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的r或w的权限。
例题2
在架设网站的时候都会卡在一些权限的设置上,他们开放目录数据给网际网络的任何人来浏览, 却只开放r的权限,结果就是导致网站服务器软件无法到该目录下读取文件(最多只能看到文件名), 最终用户总是无法正确的查阅到文件的内容(显示权限不足)。要注意:要开放目录给任何人浏览时,应该至少也要给予r及x的权限,但w权限不可随便给! 为什么w不能随便给,我们来看下一个例子:
文件种类:
linux文件拓展名
一个Linux文件能不能被执行,与他的第一栏的十个属性有关, 与文件名没有关系。跟Windows不同,在Windows下面, 能被执行的文件扩展名通常是 .com .exe .bat等等,而在Linux下面,只要你的权限当中具有x的话,例如[ -rwxr-xr-x ] 即代表这个文件具有可以被执行的能力
**注:**可以被执行跟可以执行成功是不一样的。一个纯文本文件,内容根本就没有可以执行的数据。所以 说,这个x代表这个文件具有可执行的能力, 但是能不能执行成功,要看该文件的内容
FHS标准文件:要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下,FHS的重点在于规范每个特定的目录下应该要放置什么样子的数据
FHS针对目录树架构仅定义出三层目录下面应该放置什么数据
(1)/ (root, 根目录):与开机系统有关;
(2)/usr (unix software resource):与软件安装/执行有关;
(3)/var (variable):与系统运行过程有关。
根目录 (/) 的意义与内容
根目录是整个系统最重要的一个目录,
(1)所有的目录都是由根目录衍生出来的
(2)根目录也与开机/还原/系统修 复等动作有关。 系统开机时需要特定的开机软件、核心文件、开机所需程序、函数库等等文件数据,若系统出现错误时,根目 录也必须要包含有能够修复文件系统的程序才行。
FHS要求:希望根目录不要放在非常大的分区内( 因为分区越大,数据越多,发生错误的机会越大。)建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 (性能较佳,不容易发生问题)
FHS定义出根目录(/)下面应该要有以下次目录存在,即使没有实体目录,至少有链接文件
其他并非FHS针对根目录要求的重要目录
/usr 的意义与内容
/usr是Unix Software Resource的缩写, 也就是“Unix操作系统软件资源”所放置的 目录,而不是使用者的数据啦。
FHS建议所有软件开发者,应该将他们的数据合理的分别放置到这个目录下的次目录,而不要自行创建该软件自己独立的目录。
因为是所有系统默认的软件(distribution发布者提供的软件)都会放置到/usr下面,因此这个目录有点类似Windows 系统 的“C:\Windows\ (当中的一部份) + C:\Program files\”这两个目录的综合体,系统刚安装完毕时,这个目录会占用最多的硬盘容 量。一般来说,/usr的次目录建议有下面这些:
注1;
由于FHS仅是定义出最上层(/)及次层(/usr, /var)的目录内容应该要放置的文件或目录数据, 因此,在其他次目录层级 内,就可以随开发者自行来配置了。
注2:
此外,CentOS 7 在目录的编排上与过去的版本不同,比较大的差异在于
将许多原本应该要在根目录 (/) 里面的目录,将他内部数据全部挪到 /usr 里面去,然后进行链接设置:
根据FHS的 定义,需要将/var独立出来, 这样对于系统的数据还有一些安全性的保护,当/var死掉时,你的根目录还会活着,能够进入救援模式
据文件名写法的不同,也可将所谓的路 径(path)定义为绝对路径(absolute)与相对路径(relative)
注:
例题1
如何先进入/var/spool/mail/目录,再进入到/var/spool/cron/目录内?
答:
由于/var/spool/mail与/var/spool/cron是同样在/var/spool/目录中,因此最简单的指令下达方法为: