《鸟哥Linux私房菜》学习笔记_chap9_档案属性 目录配置

来源:互联网 发布:兼职美工一张图多少钱 编辑:程序博客网 时间:2024/05/16 09:35

◆1.任何一个档案都具有『User, Group 及 Others』三个权限
 ☞ User
 ☞ Group
 ☞ Others

◆2.Linux 账户、群组档案位置:
  - /etc/passwd 所有用户(包括root)的账号相关信息
  - /etc/shadow 密码
  - /etc/group 所有的群组名称

◆3.Linux 档案权限,以及相关的概念
[root@linux ~]# ls -al
total 248
drwxr-x---   9      root    root    4096     Jul 11 14:58   .
drwxr-xr-x  24     root    root    4096     Jul 9 17:25     ..
-rw-------    1      root    root    1491     Jun 25 08:53  anaconda-ks.cfg
-rw-------    1      root    root   13823    Jul 10 23:12   .bash_history
-rw-r--r--    1      root    root      24      Dec 4 2004    .bash_logout
-rw-r--r--    1      root    root     191     Dec 4 2004    .bash_profile
-rw-r--r--    1      root    root     395     Jul 4 11:45     .bashrc
-rw-r--r--    1      root    root     100     Dec 4 2004    .cshrc
drwx------   3      root    root    4096    Jun 25 08:35   .ssh
-rw-r--r--    1      root    root   68495   Jun 25 08:53   install.log
-rw-r--r--    1      root    root    5976    Jun 25 08:53   install.log.syslog
[      1    ][   2    ][   3    ][  4   ][     5     ][     6          ][       7       ]
[  属性    ][连结数][拥有者][群组][档案容量][ 修改日期   ][      档名     ]

 ☞ 属性,如“drwxr-x---”这种
    o 第1位,代表这个档案是『目录、档案或连结文件等等』
      - d:目录,例如上表的第 11 行;
      - -:档案,例如上表的第 5 行;
      - l:则表示为连结档(link file);
      - b:则表示为装置文件(device)里面的可供储存的接口(block)设备;
      - c:则表示为装置文件(device)里面的串行端口(character)设备,例如键盘、鼠标。
      - s:资料接口文件(socket)
      - p:数据输送文件,一种特殊的档案类型,主要的目的在解决多个程序同时存取一个档案所造成的错误问题(FIFO,pipe)。
    o 第2-4位  『拥有人的权限』           ┐┌  w 读
    o 第5-7位  『同群组的权限』           ┼┼  r 写
    o 第8-10位 『其它非本群组的权限』 ┘└  x 执行

    ps:wrx对于目录的意义:
      - r(read contents in directory),具有读取目录结构清单的权限(可以ls,但若只有r,则看到一堆?)
      - w(modify contents of directory),具有:
        • 新建文件、目录
        • 删除文件、目录
        • 改文件、目录的名字
        • 搬移该目录内的档案、目录位置

      - x意为“能进入”,如
        drwxr-xr-- 1 test1 testgroup 5238 Jun 19 10:25 groups/
        - 档案拥有者test1可以在本目录中进行任何工作
        - testgroup这个群组里的账号,可进入(drwxr-[x]r--),不能写入(drwxr[-]xr--)
        - 其他使用者,不能进入此目录(drwxr-xr-[-])

 ☞ 连接数
    表示为连结占用的节点(i-node):这个跟连结档(link file)比较有关系,如果是目录的话,就与该目录下还有多少目录有关

 ☞ 拥有人

 ☞ 拥有组群

 ☞ 容量大小

 ☞ 修改日期
    可能有乱码,解决方式:/etc/sysconfig/i18n,里面的『 LC_TIME 』修改为:『 LC_TIME=en 』

 ☞ 档案名
    如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』

◆4.改变档案权限
 ☞ chgrp:改变档案所属群组,群组名必须在/etc/group里面存在
  - #chgrp test_grp testrep.log
  - copy后常用

 ☞ chown:改变档案所属人,账户名必须在/etc/passwd里面存在
  - #chown test1:test_grp testrep.log
  - copy后常用


 ☞ chmod:改变档案的属性、SUID、等等
    o chmod [-R] /[1-7]{3}/ 档案或目录
    o chmod u + rwx 档案或目录
            g -
            o =
            a
      - chmod u=rwx,go=rx .bashrc
      - chmod a+x filename

◆5.FHS(Filesystem Hierarchy Standard) - Linux目录配置的依据
 ☞ /
    根目录(/),一般建议在根目录底下只接目录,不要直接有档案在 / 底下。 根目录是开机的时候系统第一个挂载的 partition ,所以,所有开机过程会用到的档案, 应该都要放置在这个 partition 当中。举例来说,/etc, /bin, /dev, /lib, /sbin 这五个次目录都应该要与根目录连在一起,不可独立成为某个 partition!

 ☞ /bin, /usr/bin, /usr/local/bin
    放置『使用者可执行的 binary file 的目录』。举例来说,ls, mv, rm, mkdir, rmdir, gzip, tar, cat, cp, mount 等等重要指令都放在这个目录当中。

 ☞ /boot
    这个目录主要的目的是放置 Linux 系统开机会用到的档案。
    - vmlinuz:Linux 的 Kernel 啦!粉重要的东西
    - /boot/grub:开机管理程序grub相关文件(如果是用这个开机的话)
 ☞ /dev
    放置代表计算机装置与接口设备的档案文件。 只要透过存取这个目录底下的某个档案,就等于存取某个装置。
    - 两类文件:接口设备(character device,键盘、鼠标);储存设备 (block device,硬盘、光盘)
    - 在此目录下的档案会多出两个属性,分别是 major device number , 与 minor device number 。系统核心透过这两个 number 来判断装置
    - 比要重要的档案有 /dev/null, /dev/tty[1-6], /dev/ttyS*, /dev/lp*, /dev/hd*, /dev/sd* 等等

 ☞ /etc
    放置设定文件,例如人员的账号密码文件、 各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的, 但是只有 root 有权力修改。并且在此目录下的档案几乎都是 ASCII 的纯文本文件。FHS 建议不要放置可执行文件在这个目录中。
    - 比较重要的档案有: /etc/inittab, /etc/init.d/, /etc/modprobe.conf, /etc/X11, /etc/fstab, /etc/sysconfig/
    - 其下重要的目录有:
      • /etc/init.d/:所有服务的预设启动 script 都是放在这里的,例如要启动或者关闭 iptables 的话: /etc/init.d/iptables start /etc/init.d/iptables stop
      • /etc/xinetd.d/:这就是所谓的 super daemon 管理的各项服务的设定文件目录。
      • /etc/X11:与 X Window 有关的各种设定档都在这里,尤其是 xorg.conf 或 XF86Config 这两个 X Server 的设定档。

 ☞ /home
    这是系统预设的使用者家目录 (home directory)。在你新增一个一般使用者账号时, 预设的使用者家目录都会规范到这里来。
    - 两种代号:
       • ~:代表目前这个使用者的家目录
       • ~dmtsai :则代表 dmtsai 的家目录

 ☞ /lib, /usr/lib, /usr/local/lib
    系统会使用到的函式库放置的目录。 程序在运作的过程中,可能会呼叫一些额外的功能参数,那需要函式库的协助! 这些函式库就放在此处。
    - /lib/modules 这个目录内会摆放 kernel 的相关模块

 ☞ /lost+found
    系统不正常产生错误时,会将一些遗失的片段放置于此目录下, 通常这个目录会自动出现在某个partition最顶层的目录下。例如你加装一棵硬盘于 /disk 中, 那在这个目录下就会自动产生一个这样的目录 /disk/lost+found

 ☞ /mnt /media
    这是软盘与光盘预设挂载点的地方;通常
    - 软盘挂在 /mnt/floppy 下
    - 光盘挂在 /mnt/cdrom 下

 ☞ /opt
    这是给主机额外安装软件所摆放的目录。举例来说, FC4 使用的是 Fedora 社群开发的软件, 如果您今天想要自行安装新的 KDE 桌面软件的话,可以将该软件安装在这个目录下的意思。 不过,以前的 Linux 系统中,我们还是习惯放置在 /usr/local 目录下

 ☞ /proc
    这个目录本身是一个『虚拟档案系统』,他放置的数据都是在内存当中, 例如系统核心、形成信息、接口设备的状态及网络状态等等。因为这个目录下的数据都是在内存当中, 所以本身不占任何硬盘空间        - 比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。

 ☞ /root
    系统管理员 (root) 的家目录。
    - /root 要与 / 放在同一块 partition 上

 ☞ /sbin, /usr/sbin, /usr/local/sbin
    放置一些系统管理员才会动用到的执行指令,例如: fdisk, mke2fs, fsck, mkswap, mount 等等。与 /bin 不太一样的地方,这几个目录是给 root 等系统管理用的

 ☞ /srv
    一些服务启动之后,这些服务所需要取用的数据目录。举例来说,WWW 服务器需要的网页资料就可以放置在 /srv/www 里面。

 ☞ /tmp
    这是让一般使用者或者是正在执行的程序暂时放置档案的地方。 这个目录是任何人都能够存取的,需要定期的清理。重要数据不可放置在此目录

 ☞ /usr
    FHS 规范的第二层内容,在 /usr 此目录下,包含系统的主要程序、 图形接口所需要的档案、额外的函式库、本机端所自行安装的软件,以及共享的目录与文件等等, 可以看做 Windows 操作系统当中的『Program files』与 『WinNT』这两个目录的结合!在此目录下的重要次目录有:
  o /usr/bin, /usr/sbin:一般身份使用者与系统管理员可执行的档案放置目录;
  o /usr/include:c/c++等程序语言的档头 (header) 与包含档(include)放置处, 当我们以 tarball 方式 (*.tar.gz 的方式安装软件) 安装某些数据时,会使用到里头的许多包含档喔!;
  o /usr/lib:各应用软件的函式库档案放置目录;
  o /usr/local:本机端自行安装的软件预设放置的目录。目前也适用于 /opt 目录。 在你安装完了 Linux 之后,基本上所有的配备你都有了,但是软件总是可以升级的, 例如你要升级你的 proxy 服务,则通常软件预设的安装地方就是在 /usr/local (local 是『当地』的意思),同时,安装完毕之后所得到的执行文件,为了与系统原先的执行文件有分别, 因此升级后的执行档通常摆在 /usr/local/bin 这个地方。
  o /usr/share:共享文件放置的目录,例如底下两个目录:
    - /usr/share/doc:放置一些系统说明文件的地方,例如你安装了 grub 了,那么在该目录底下找一找,就可以查到 lilo 的说明文件了!很是便利!
    - /usr/share/man:manpage 的文件档案目录;那是什么?呵呵! 就是你使用 man 的时候,会去查询的路径呀!例如你使用 man ls 这个指令时,就会查出 /usr/share/man/man1/ls.1.gz 这个说明档的内容啰!
  o /usr/src:Linux 系统相关的程序代码放置目录,例如/usr/src/linux 为核心原始码!
  o /usr/X11R6:系统内的 X Window System 所需的执行档几乎都放在这!

 ☞ /var
    FHS 规范的第二层目录内容。他主要放置的是针对系统执行过程中, 常态性变动的档案放置的目录。举例来说,例如快取档案 (cache) 或者是随时变更的登录档 (log file) 都是放在这个目录中的。此外,某些软件执行过程中会写入的数据库档案, 例如 MySQL 数据库,很重要吧!他底下的重要目录有:
  o /var/cache:程序档案在运作过程当中的一些暂存盘;
  o /var/lib:程序本身执行的过程中,需要使用到的数据文件放置的目录, 举例来说, locate 这个数据库与 MySQL 及 rpm 等数据库系统,都写在这个目录内。
  o /var/log:登录文件放置的目录。很重要!例如 /var/log/messages 就是总管所有登录档的一个档案
  o /var/lock:某些装置具有一次性写入的特性,例如 tab (磁带机), 此时,为了担心被其它人干扰而破坏正在运作的动作,因此,会将该装置 lock (锁住)起来, 以确定该装置只能被单一个程序所使用!
  o /var/run:某些程序或者是服务启动后,会将他们的 PID 放置在这个目录下喔!
  o /var/spool:是一些队列数据存放的地方。举例来说,主机收到电子邮件后, 就会放置到 /var/spool/mail 当中,若信件暂时发不出去,就会放置到 /var/spool/mqueue 目录下, 使用者工作排程 (cron) 则是放置在 /var/spool/cron 当中!

◆6.需要特别注意的目录

 ☞ 建议不可与 root partition 分开的目录
    /etc/, /sbin/, /bin/, /dev/ 以及 /lib/
    Linux 系统在开机的时候,一开始进行核心加载时, 只会挂载一个 partition ,那就是 / 。但是开机的时候会用到很多的指令与函式库,举例来说,要挂载, 就得需要 mount 这支程序,而且我们也需要 init 这支程序,还需要用到很多的设定档,例如 /etc/inittab 等等。而我们核心的模块则是放置在 /lib 里面。当然, /dev 是所有装置放置的目录, 也需要在开机的时候使用到的。因此,这些目录都需要跟 / 绑在一起

 ☞ 建议最好独立成为单一 partition 的目录
    /home, /usr, /var, /tmp
  o /home,
    - 系统上的使用者个人家目录在 /home 里面,这个目录也是可能被使用的最频繁的目录之一。
    - 此外,为了资源分配较为平均, 我们可能会希望针对每个人限制他可以使用的最大硬盘总量 (quota),在这个前提之下, 您就必须要将 /home 独立出来,而且最好这个 partition 能够大一点,尤其是您的 Linux 是作为档案服务器 (file server) 时,就更形重要了

  o /usr 则是一些程序安装的目录,也可以独立出来

  o /var 这个目录由于记录了相当多的常用数据,读取真的是很频繁,所以是『很容易挂点的partition 一!』 如果能够将他独立出来,那么当 /var/ 真的、万一、不小心挂点时,就不会影响到其它的 partition

 ☞ “VID” very important directory
  o /etc 系统设定文件放置的地方,大小不会超过 50MB多备份
    - /etc/passwd 账号
    - /etc/shadow 密码
    - /etc/sysconfig/* 开机时所要用到的各项设定值
    - 各主要的网络服务的设定文件

  o /usr/local  /opt
    安装的软件应该统一放置在 /usr/local 或者是 /opt 底下


  o /var 系统运作过程中的重要中间暂存数据。
    - /var/lib 与 /var/run
    - 最终的数据例如邮件 /var/spool/mail 也是放置在这个目录中
    - 几乎所有服务的登录文件 (可以记录谁、什么时候、由哪里登入主机、做了什么事等等信息!) 都放在 /var/log 这个目录下

◆7.Linux 支持的档案系统
  - 主要使用ext2、ext3、ext4系统
  - 同时也支持 MS-DOS, VFAT, FAT, BSD 等等的档案系统
  - 不是每个distribution都支持NTFS,Linux 能够支持的档案系统与核心是否有编译进去有关。可以在/lib/modules/`uname -r`/kernel/fs下看到

  - ext3比2多了日志式数据的纪录,最大的好处就是更加保证了数据的完整性与『恢复力』

◆8.Linux 的 VFS
  - 整个 Linux 认识的 filesystem 其实都是 VFS 在进行管理,向用户屏蔽了fs的异构性

◆9.
  - /etc/:几乎系统的所有设定档案均在此,尤其 passwd,shadow
  - /etc/init.d:系统开机的时候加载服务的 scripts 的摆放地点
  - /boot:开机设定档,也是预设摆放核心 vmlinuz 的地方
  - /usr/bin, /bin:一般执行档摆放的地方
  - /usr/sbin, /sbin:系统管理员常用指令集
  - /dev:摆放所有系统装置档案的目录
  - /var/log:摆放系统登录档案的地方

原创粉丝点击