第五章、Linux的文件权限与目录配置

  • 使用者与群组

    • 文件拥有者的概念

      • owner
      • group
      • others
    • Linux用户身份与群组记录的文件

      • /etc/passwd:账号的相关信息
      • /etc/shadow:密码的相关信息
      • /etc/group:群组的相关信息

  • Linux文件权限概念

    • Linux文件属性

      • 上图分解如下:


      • 【1 】代表文件的类型和权限
        • 第一个字符代表这个文件是目录、文件or链接文件
          1. d:目录
          2. -:文件
          3. l:连接档(link file)
          4. b:可供储存的接口设备
          5. c:表示串行端口设备,鼠标、键盘等
          
        • 接下来的字符三个一组,r代表可读(read),w代表可写(write),x代表可执行(execute)
          1. 第一组:文件拥有者可具备的权限
          2. 第二组:加入此群组的账号的权限
          3. 第三组:其他账号的权限
      • 【2】代表有多少档名连结到此节点(i-node)
        • 每个文件都会将他的权限记录到文件系统的i-node中,我们的目录树是使用文件名来记录的,因此每个文件名都会连结到一个i-node,这个数字代表有多少不同的文件名连结到一个i-node号码
      • 【3】代表这个文件or目录的拥有者账号
      • 【4】代表这个文件的所属群组
      • 【5】代表这个文件的容量大小,默认单位bytes
      • 【6】代表这个文件的创建日期or最近的修改日期[使用ls -l --full-time可以显示处完整的时间格式]
      • 【7】这个文件的文件名
    • 改变文件属性与权限

      • chgrp:改变所属群组[要被改变的组名在/etc/group已经存在]
        1. 语法 chgrp group_name [-R] dirname/filename
        
      • chown:改变文件拥有者[用户在/etc/passwd中已经存在]
        1. 语法 chown [-R] 账号名称 文件or目录
        2. 语法 chown [-R] 账号名称:组名 文件or目录,把":"替换成"."也行,但是有的文件名以"."开始,所以还是用":"吧
        
      • cp:复制
        1. 语法 cp 源文件 目标文件[注:cp会复制执行者的属性和权限]
        
      • chmod:改变权限
        • 数字类型改变文件权限
          r:4,w:2,x:1
          1. 语法:chmod [-R] xyz 文件or目录
          2. eg:chmod 777 file_name
          
        • 符号类型改变文件权限
          1. 语法:chmod [ukga][=+-][rwx] 文件or目录
          2. eg:chmod u=rwx,go=rx file_name
          
    • 目录与文件的权限意义

      • 权限对文件的重要性
        • r:可读取文件实际内容
        • w:可编辑、新增or修改文件内容(不包括删除)
        • x:有系统执行权限
      • 权限对目录的重要性
        • r:有读取目录结构列表的权限,也就是可以查询目录下的文件名数据,也就可用ls列出目录内容
        • w:有异动该目录结构列表的权限
          • 建立新的文件or目录
          • 删除已经存在的文件or目录(忽视文件权限)
          • 重命名文件or目录
          • 移动该目录内文件or目录
        • x:可否进入该目录成为工作目录
        • 注:要开放目录给别人浏览,至少也要r及x权限,但w权限要慎重
      • 用户操作功能与权限
        • 假设有两个档名,/dir1/file1,/dir2,现使用一般账号,那么这个账号对于/dir1,/dir1/file1,/dir2的最小权限


    • Linux文件种类与扩展名

      • 文件种类(regular file):
        • 正规文件
          • 纯文本文档(ASCII)
          • 二进制文件(binary)
          • 数据格式文件(data):某些程序运行时需要读取的特定格式的文件,eg:登入时会将数据记录在/var/log/wtmp文件中,这是个data file,可以被last指令读出,但如果你使用cat会读出乱码
        • 目录(directory):第一个属性为[d]
        • 连接档(link):类似Windows快捷方式,第一个属性为[l]
        • 设备和装置文件(device)
          • 区块(block)设备档:一些存储数据,以提供系统随机存取的接口设备,eg:硬盘,第一个属性为[b]
          • 字符[character]设备文件:一些串行端口的接口设备,eg:键盘、鼠标,第一个属性属性为[c]
        • 资料接口文件(socket):常用于在网络上的数据承接,常在/run或/tmp目录中看见,第一个属性为[s]
        • 数据输送文件(FIFO,pipe):FIFO(first-in-first-out)是一种特殊的文件类型,主要目的是解决多个程序同时存取一个文件所造成的错误问题,第一个属性为[p]
      • Linux文件扩展名:只是为了区分,毕竟Linux执行只看权限
        • *.sh:脚本
        • .tar,Z,.tar.gz,.zip,*.tgz:经过打包的压缩文件
        • .html,.php:网页相关文件
      • Linux文件长度限制
        • 单一文件or目录最大允许文件名为255bytes,所以大概英文255个字符or中文128个字符[不知道谁的文件名会这么长]
      • Linux文件名的限制
        -:没啥,别瞎加特殊字符

  • Linux目录配置

    • Linux目录配置

      *Linux目录配置的依据-FHS
      • FHS(filesystem hierarchy standard),主要目的是希望使用者知道已安装的软件通常放置在哪个目录下
      • FHS将目录定义为四种交互作用的形态,如下图:


        • 可分享的:可分享给其他系统挂在使用的目录
        • 不可分享的:自己机器上运作的装置文件or与程序相关的socket文件等
        • 不变的:不经常变动的,eg:函数库,文件说明文件,系统管理员的主机服务配置文件等等
        • 可变的:经常改变的数据
      • FHS针对目录架构仅定义出三层目录:
        • /(root,根目录):与开机系统有关
        • /usr(unix software resource):与软件安装/执行有关
        • /var(variable):与系统运行过程有关
      • 根目录/的意义与内容
        • FHS标准建议:根目录所在分区槽越小越好,且程序安装的软件最好不要与根目录放在一个分区槽内,保持根目录越小越好,这样既保证效能也较不易发生问题


        • 上面是FHS针对根目录定义的标准,仅有这些,但下面的目录也非常重要


      • /usr的意义和内容
        • usr(unix software resource),FHS建议所有的软件开发者将他们的数据合理的分别放置在该目录的此目录,不能自行建立该软件自己的独立目录,所有的系统默认的软件(发行版发布者提供的软件)都会放置在/usr下(类似于windows[c:\windows(部分)+C:\Program files]两个目录的综合体),所以刚安装完这个目录会占用最多的硬盘空间,一般建议目录有底下这些:


      • /var 的意义与内容
        • 不同于/usr 是安装时会占用较大硬盘容量的目录,/var是在系统运作后渐渐占用硬盘容量的目录。
        • /var 目录主要针对常态性变动的文件,包括快取(cache)、登录档(log file)以及某些软件运作所产生的文件, 包括程序文件(lock file, run file),或者例如 MySQL 数据库的文件等等。常见的次目录有:


      • 针对FHS各家distributions的异同及CentOS的变化
        • FHS仅仅定义出最上层(/)及次层(/usr, /var)的目录内容应该要放置的文件或目录数据,而其他次级目录可随开发者自行配置,但差异性有限
        • CentOS 7较过去版本的不同之处
          • /bin --> /usr/bin
          • /sbin --> /usr/sbin
          • /lib --> /usr/lib
          • /lib64 --> /usr/lib64
          • /var/lock --> /run/lock
          • /var/run --> /run
    • 目录树

      • 目录树特性
        • 目录树起始点为根目录(/,root)
        • 目录不仅可以使用本地分区的文件系统,也可以使用网络上的文件系统,eg:NFS
        • 各文件路径独一无二
      • 大致目录架构(重要的是绿色的)


    • CentOS的观察

      • 除FHS外,还有一个LSB(Linux standard Base)可依循
      • 通过uname检查Linux核心与操作系统位版本
        - uname -r:查看核心版本
        - uname -m:查看操作系统的位版本
        - lsb_release -a:比较细致,需安装
        

  • 重点回顾

    • Linux 的每个文件中,可分别给予使用者、群组与其他人三种身份个别的 rwx 权限;
    • 每个账号都可以有多个群组的支持;
    • 利用 ls -l 显示的文件属性中,第一个字段是文件的权限,共有十个位,第一个位是文件类型, 接下来三个为一组共三组,为使用者、群组、其他人的权限,权限有 r,w,x 三种;
    • 如果档名之前多一个『. 』,则代表这个文件为『隐藏档』;
    • 若需要 root 的权限时,可以使用 su - 这个指令来切换身份。处理完毕则使用 exit 离开 su 的指令环境。
    • 更改文件的群组支持可用 chgrp,修改文件的拥有者可用 chown,修改文件的权限可用 chmod
    • chmod 修改权限的方法有两种,分别是符号法与数字法,数字法中 r,w,x 分数为 4,2,1;
    • 对文件来讲,权限的效能为:
      1. r:可读取此一文件的实际内容,如读取文本文件的文字内容等;
      2. w:可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
      3. x:该文件具有可以被系统执行的权限。
    • 对目录来说,权限的效能为:
      1. r (read contents in directory)
      2. w (modify contents of directory)
      3. x (access directory)
    • 要开放目录给任何人浏览时,应该至少也要给予 r 及 x 的权限,但 w 权限不可随便给;
    • 能否读取到某个文件内容,跟该文件所在的目录权限也有关系 (目录至少需要有 x 的权限)。
    • Linux 档名的限制为:单一文件或目录的最大容许文件名为 255 个英文字符或 128 个汉字字符;
    • 根据 FHS 的官方文件指出, 他们的主要目的是希望让使用者可以了解到已安装软件通常放置于那个目录下
    • FHS 订定出来的四种目录特色为: shareable, unshareable, static, variable 等四类;
    • FHS 所定义的三层主目录为: /, /var, /usr 三层而已;
    • 绝对路径文件名为从根目录 / 开始写起,否则都是相对路径的文件名。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容