zoukankan      html  css  js  c++  java
  • (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/

     

          

    向比你更强的人学习!!你将会变得更强!!!
  • 相关阅读:
    用JS获取地址栏参数的方法(超级简单)
    返回前一页并刷新页面方法
    js 弹出确认 取消对话框
    微信“无法回答问题设置”失效
    百度地图api学习平台
    JQuery 定时器 (Jquery Timer 插件)
    select 框option添加属性 js计算价格 保持两位小数
    修改织梦分页标签样式
    一键导航
    关于memset赋值无穷大无穷小
  • 原文地址:https://www.cnblogs.com/tanzuai1/p/2013-09-21_1.html
Copyright © 2011-2022 走看看