(Linux学习笔记二)linux的文件权限与目录配置

      本文为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/

 

      

向比你更强的人学习!!你将会变得更强!!!
原文地址:https://www.cnblogs.com/tanzuai1/p/2013-09-21_1.html