本文为linux文件权限与目录配置。关于了解文件最根本属性与权限文章!
下面我们开始用实例来说明文件的属性与权限,能跟清晰的明白来龙去脉,那我们开始吧! 在这之前我我们稍微了解下用户与用户组的概念。
用个例子来说明,如下:
我们用家庭的观念来说明。假设有一家人,家里有三个兄弟,分别为谭一哥,谭二哥,谭三哥,而这个家庭是登记谭一哥的名下,所以3个人都有自己的房间,并且拥有一个客厅。
用户的概念:由于谭家三人各拥有自己的房间,他们的房间都有各自的隐私,不能侵犯,所以,他们三人就是所谓的用户。
用户组的概念:由于共同拥有一个客厅,客厅里面的东西可以各自享用,所以,客厅就是三个人都可以拥有的!而这个家庭是登记在谭一哥的名下,所以,”谭一哥家”就是所谓的用户组。
好了,用户和用户组了解一下就行,以后我会在博客里一一讲解用户和用户组的更深处的东西!
下面我们切入我们本章的主题文件的权限与目录配置!
Linux文件的属性:
一 文件的所有的含义如同2.1.1。
第一列为文件的类型与权限。
第一列的第一个字符代表“目录,文件,或链接文件等”。
若是[d]是目录,若是[-]是文件,若是[l]是链接文件,若是[b]是接口设备,若是[c]是串行端口设备,如键盘,鼠标。
接下来,以3个为一组,均为”rwx”的3个参数组合。[r]代表(read),[w]代表(write),[x]代表(execute) 如图2.1.2:
第一组为‘文件所有者’。
第二组为‘同一用户组的权限’。
第三组为‘其他非本用户组的权限’。
第二列表示有多少文件名连接到此节点(i-node)。
就是说挂载一个信息到一个设备上有inode号和block号,且inode具有的权限让我们可以读取该block的内容(有r与w),其中inode就是所谓的连接数。
第三列表示这个文件或目录的‘所有者账号’。
第四列表示一个文件的所属用户组。
第五列表示文件容量的大小,默认单位为B。
第六列文件创建日期或最近修改时间。
第七列为该文件名。
二 如何改变文件属性与权限
改变文件属性与权限有三个命令:
chgrp:改变文件所属用户名。
chown:改变文件所有者。
chmod:改变文件的权限。
改变所属用户组:chgrp
改变文件所有者:chown
将用户与用户组修改回来
文件权限修改:chmod
文件权限的修改有两种,分别为数字和符号进行权限的修改。
1.数字类型改变文件权限
r:4,w:2,x:1
例如[-rwxrwx---]
所有者=rwx=4+2+1=7
用户组=rwx=4+2+1=7
其他=---=0+0+0=0
所以该文件的权限数字为770
看到没,第一列的权限改变了。
2.符号类型改变文件权限
如下图为改变文件的符号
现在我们把.bashrc的权限修改原来的模样
看到没,现在就把刚刚修改的文件权限改改过来了。
三.Linux的目录配置-FH
事实上,FHS是根据过去的经验一直再持续的改版的,FHS依据档案系统使用的频繁与否与是否允许使用者随意更动,
而将目录定义成为四种交互作用的形态,用表格来说有点像底下这样:
上表中的目录就是一些代表性的目录,该目录底下所放置的资料在底下会谈到,这里先略过不谈。 我们要了解的是,什么是那四个类型?
· 可分享的:可以分享给其他系统挂载使用的目录,所以包括执行档与使用者的邮件等资料, 是能够分享给网路上其他主机挂载用的目录;
· 不可分享的:自己机器上面运作的装置档案或者是与程序有关的socket档案等, 由于仅与自身机器有关,所以当然就不适合分享给其他主机了。
· 不变的:有些资料是不会经常变动的,跟随着distribution而不变动。 例如函式库、文件说明档、系统管理员所管理的主机服务设定档等等;
· 可变动的:经常改变的资料,例如登录档、一般用户可自行收受的新闻群组等。
因此FHS标准建议:根目录(/)所在分割槽应该越小越好, 且应用程式所安装的软体最好不要与根目录放在同一个分割槽内,保持根目录越小越好。 如此不但效能较佳,根目录所在的档案系统也较不容易发生问题。
有鉴于上述的说明,因此FHS定义出根目录(/)底下应该要有底下这些次目录的存在才好:
除了这些目录的内容之外,另外要注意的是,因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分割槽则是在开机完成之后才会持续的进行挂载的行为。就是因为如此,因此根目录下与开机过程有关的目录, 就不能够与根目录放到不同的分割槽去!那哪些目录不可与根目录分开呢?有底下这些:
-
- /etc:设定档
- /bin:重要执行档
- /dev:所需要的装置档案
- /lib:执行档所需的函式库与核心所需的模组
- /sbin:重要的系统执行档
目录树
这个目录树有什么特性呢?他主要的特性有:
-
- 目录树的启始点为根目录 (/, root);
- 每一个目录不止能使用本地端的 partition 的档案系统,也可以使用网路上的 filesystem 。举例来说, 可以利用 Network File System (NFS) 伺服器挂载某特定目录等。
- 每一个档案在此目录树中的档名(包含完整路径)都是独一无二的。
下图就是整个目录树的结构示意图:
绝对路径与相对路径
· 绝对路径:由根目录(/)开始写起的档名或目录名称, 例如 /home/dmtsai/.bashrc;
· 相对路径:相对于目前路径的档名写法。 例如 ./home/dmtsai 或 ../../home/dmtsai/ 等等。反正开头不是 / 就属于相对路径的写法
好了!上面为权限与目录配置全部内容,有待其他内容的讲解,还得下篇与大家分享!下篇见!
参考资料与延伸阅读
· FHS的标准官方文件:http://proton.pathname.com/fhs/,非常值得参考的文献!
· 关于 Journaling 日志式文章的相关说明 http://www.linuxplanet.com/linuxplanet/reports/3726/1/