LINUX目录结构

来源:互联网 发布:阿里云os车载智能下载 编辑:程序博客网 时间:2024/03/28 22:15

A

出处不详,到处转载不加出处的后果 -_-

摘要
  Linux安装完以后,会创建大量的目录,而对于初学者而言经常容易被吓坏,本文就对一个主要目录的作用进行一些介绍,帮助初学者认清它们。(2002-07-22 11:53:08)
By 风过留枫



  闲着没事,就在LINUX的根目录下,运行ls -l(列目录命令),哇,一大串,这许多目录都放些什么呢?要想玩转LINUX,总不能连LINUX的目录树规格都不知道吧!只好硬着头皮往里钻,功夫不负有心人,终于将这迷宫的秘密.....:-),找出来了。在此就公布天下:

  /bin:bin是binary的缩写。这个目录是对UNIX系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。

  /boot:这里存放的是启动LINUX时使用的一些核心文件。

  /dev:dev是device(设备)的缩写。这个目录下是所有LINUX的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在LINUX中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。

  /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  /home:用户的主目录,比如说有个用户叫wang,那他的主目录就是/home/wang也可以用~wang表示,说到这里,打个岔,你现应该明白在我们访问一些个人网页(如http://www.netease.net/~zhangjia)的时候,~zhangjia就是表示访问www.netease.net站点中的用户zhangjia的用户主目录。

  如果这个网站的操作系统是LINUX,那就是表示/home/zhangjia。

  /lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。

  /lost+found:这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。 

  /mnt:这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。

  /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊!?

  /root:系统管理员,也叫作超级权限者的用户主目录。当然系统的拥有者,总要有些特权啊!

  /sbin:s就是Super User的意思,也就是说这里存放的是一些系统管理员使用的系统管理程序。

  /tmp:这个目录不用说,一定是用来存放一些临时文件的地方了。

  /usr:这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。具体来说:


       /usr/X11R6   存放X-Windows的目录;
       /usr/bin     存放着许多应用程序;
       /usr/sbin    给超级用户使用的一些管理程序就放在这;
       /usr/doc     这就是LINUX文档的大本营;
       /usr/include LINUX下开发和编译应用程序需要的头文件,在这找;
       /usr/lib     存放一些常用的动态链接共享库和静态档案库;
       /usr/local   这是提供给一般用户的/usr目录,在这安装软件最适合;
       /usr/man     man是什么,对了是帮助。这里就是帮助文档目录啊!
       /usr/src     LINUX开放的源代码,就存在这个目录,爱好者们别放过哦!

  /var:这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。

  这里列出了最常见的目录,根据LINUX发行套件的不同,目录结构也是有一定差别的。还有你自己建立的目录,我当然不知是存什么的。希望上面的文字能使你在大脑里留下了LINUX的全景图,以便大家深入掌握LINUX的其它方方面面。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

B

转自:http://blog.csdn.net/wawuta/archive/2007/01/23/1491401.aspx

Linux的目录结构比DOS复杂多了,让我们来看看它的目录里有些什么东西吧.

/bin (binary)
    这个目录包含着所有的标准命令和应用程序.

/boot

    这里存放给lilo使用的一些文件.

/dev (device)
    这个目录包含着与终端和外设的文件接口,在Linux下,文件和设备是用同种方法访问  的.系统上的每个设        备都应该在这里有一个对应的设备文件.考察一下这个宏:
            #define putchar(ch) fputc(ch,stdout)
    其中fputs就是把ch输出到stdout去了,这里的stdout就是被当成了文件.

/etc (etcetera)
    这个目录包含着系统设置文件和其他的系统文件,它在Linux下极为重要,让我们看看  它的子目录装些什么:

/etc/DIR_COLORS
    设定在用 ls 时,各种不同档案型态所用的颜色,但是不能用pipe 再导向输出,否则就没有各种颜色了.  由档案的内容可以很轻易的了解,如 default 的directory 是蓝色,具有可执行档权限的是绿色,而压缩档是红色......  这些都可依个人喜好来加以更改. 这个档案内容写得很清楚,想必大家一眼也就可以看得出来,在颜色的组成方面,  我们常用  RGB 三原色的成份值来组合出各种不同的颜色. 由R,G,B 这个bit 是 0 或是 1 三个值组合出颜色这个道理虽浅显,但假如我们更了解R,G,B  的加权值分别是 1,2,4 的话,那就再也不用翻书查颜色了......  选择自己的调色盘来取代预设的调色盘,是经常会做的事. 

/etc/HOSTNAME
    设定用户的节点名.记录完整的hostname与domain name,这个档案在须要hostname的场合会用得到,如 /etc/rc.d/rc.M 等......

/etc/NETWORKING
    里面只有一行YES,表明网络是存在的,没有任何作用.

/etc/X11
link 到 /var/X11/lib/X11

/etc/aliases
      这个文件是给sendmail的使用设置别名.

/etc/at.deny
      在这个档案中可记载那些人不能使用at这个命令来做一些later job,假如at.deny
    是空的,而且 at.allow 也不存在的话. 那就是每个人都可以用 at 这个命令.
    (at命令是让系统在特定的时间执行某个作业,会了这个指令,可以在工作的执行上会
    更有弹性)

/etc/at.allow
      相对於at.deny,这个档案记载那些人可以使用at.而关於at.deny与at.allow,at会
    先去找at.allow,假如存在而且有记录一些人的话,那就只有这些人能使用at这个
    指令,但假如at.allow并不存在的话,那at就会去找at.deny,没有在at.deny中的人
    都可以使用at这个指令了! 特别要说明的是,at的执行时间也许会不如你所预期的,比
    如说明明一个档你叫它在 7:02 执行,但它却会等到 7:05 才执行,这是因为 crond
    是每五分钟才去看看 at 的 queue 中是否有要执行的 job.  当然,你也可以改成每
    分钟都去 check,但这样似乎没有很大的意义,除非你对时间的准确度要求的很严格
    ,否则应该没有必要去动才是. 大家可去看看 /var/spool/cron/crontabs/root 中
    就有详细记载,每五分钟 run 一次 atrun,所以 at 命令的执行可看成以每五分钟
    为一单位.

/var/spool/atjobs
    当你使用 at 来安排一件工作时,系统会把你目前的环境变
    数及所要用 at 执行的工作抄一份到这个目录下的档案中.

/var/spool/atspool
使用 at 命令之後所得到的一些讯息,会被记录在这里.可
    能是 at 所要执行的命令传回的错误讯息,或传回执行成功的讯息.

/etc/bootptab
      这是用来设置无盘工作站的远端守护进程/user/net/in.bootpd的.用户不用设置.


/etc/csh.cshrc

/etc/csh.login
      这两个档案应该很熟悉罗!它就是大家常见到的.cshrc及.login,不过大家通常只注
    意到自己的home directory有这两个档,但/etc下也有这两个档,不过/etc下的这两个
    档绝大部份的情况下都是由 system administrator 在 maintain(维护),一般user不
    应该有权力去改. 顺便一提的是,系统会先去找 /etc 下这两个档,接着才加上自己
    home directory中那两个档的设定.当然,有了.login也有.logout,.logout中可以写
    一些 message,或执行一些命令,当你下达 logout 之後,.logout 就会被执行.

/etc/devinfo
      用来给makedev这个程序设定各种不同的设备驱动文件的格式.用户不用设置.
    makedev是在/dev目录下创建设备文件的程序.

/etc/diphosts
      用来设置拨号服务器的用户名和密码.

/etc/disktab(disk parameter table)
      假如你在刚开机有 pass 磁碟机的一些参数给 kernel 的话(通常是你的硬碟比较奇
    怪,需要 pass cylinders,heads,sectors 给 kernel 才抓的到,或者是 SCSI 的硬
    碟有时有时也要用到一些参数 ) 那这些参数就会被记录在这里.

/etc/exports
      这个档案记录着你要给别人mount的档案系统,这就是典型NFS系统所存在的档案
    ,TCP/IP for OS/2 若要使用 network file system 而要把自己的 filesystem 让
    别人 mount 的话,这个档案也是不可或缺的.

/etc/fastboot
      这个档案是使用 shutdown -f 所产生的,-f means "fastboot".在重新 reboot
    之後,系统会去检查这个档是否存在,以决定是否要 run fsck.

/etc/fdprm(floppy disk parameter table)
      设定格式化软盘的参数,一般情况下是不须要更动的,除非你有很奇怪格式的软碟,
    或者你想做出不符合一 般格式的磁碟片.

/etc/fstab(file system table)
      记录开机要  mount 上来的 filesystem,这个档案相当重要! 大家可以在

/etc/rc.d/rc.S  中找到 /sbin/mount -avt nonfs 这一列,当执行到这一列时,
    mount 就依据 /etc/fstab  中的记载,自动的将档案系统mount上来.假如你一开机
    就想自动mount一些 filesystems,而不要等到开机後再以手动 mount 的话那把这些
    filesystems 及相关资讯写在这个档.在档案格式方面,每一列有六个栏位,不过後
    面两个栏位常被省略所以我们只看到有四个栏位.其它的两栏分别为dump-freq及
    pass-number.dump-freq 预设值为 0;而pass-number是 fsck 所会参考到的地方,数
    字可为 0,1,2...... 1 表示这个 filesystem 将首先被 fsck check,2 表其次,
    馀类推......
      如我们的服务器:
      # Device        Mountpoint      FStype  Options         Dump    Pass#
      /dev/wd0s1b     none            swap    sw              0       0
      /dev/wd0s1a     /               ufs     rw              1       1
      /dev/wd0s1h     /home           ufs     rw,async                2      2
      /dev/wd0s1g     /tmp            ufs     rw,async                2      2
      /dev/wd0s1f     /usr            ufs     rw,async                2      2
      /dev/wd0s1e     /var            ufs     rw,async                2      2
      proc            /proc           procfs  rw              0       0
      /dev/wcd0c      /cdrom          cd9660  ro,noauto       0       0

/etc/ftpacces
      设定ftp服务器的一些配置,包括匿名服务器的设置.

/etc/ftpconversions
      设定在ftp时使用的过滤器的位置.例如"get dirname.tar"就可以将ftp服务器上
    的目录先tar再传回来,这个文件就是设定这些打包或压缩程序的目录和参数的.

/etc/ftpusers
      这个档案记录那些人不可以 ftp 签入系统,预设值有 root,uucp,news.这些都是为
    了security方面的考虑,你可以在这里加入不可 ftp 进来的 user id.

/etc/gateways
      顾名思义,这个档案记录一些 gateways 的 information.
      这个档案的格式如下:
    <net|host> name1 gateway name2 metric value <passive|active|external>
    当 routed 启动时,它会去读 /etc/gateways 这个档. 若一个 gateway并不做
    routing information 交换的话,那它就会被标示成  passive,假如有做routing
    information 的交换 ( 这台机器上有 run routed ),那就会标示成 active net 或
    host 这个关键字是指出 route 是到网路或是到一台特定的机器上.  name1  就是目
    地网路或目地机器的名字.这个名字可用  /etc/hosts 或是 /etc/networks  中的
    symbolic host name. name2 就是讯息将被送往之gateway的name或IP address.

/etc/gettydefs
      getty_ps的定义文件.

/etc/group
      如同 /etc/passwd 列出了系统中所有的使用者名字,/etc/group 定义系统中所
    有的 group name 与相关讯息. 格式为:
      group_name:passwd:GID:user_list
    如:wheel:*:0:root,hua,yzr,cyt
    上面的例子表示root,hua,yzr,cyt都是属於wheel这个 group.通常 passwd 那栏是空
    白的,表示不用密码.或放一个*号.
      这个档案只能为 superuser 所读写,一个 superuser 可使用 groupadd,
    groupdel,groupmod 来管理 /etc/group 这个档,要手动管理也是可以.下面是这三个
    指令的用法 :

      groupadd [ -g gid [ -o ] ] group_name

      groupdel group_name

      groupmod [ -g gid [ -o ] ] [ -n new_group_name  ] group_name

 

/etc/hostid
      系统独有的一个硬件id,许多商业程序利用这个来做license的管理,在其他工作站
    上这个参数是无法更改的,只有linux可以用hostid这个参数来更改.

/etc/hosts
      这个档案记录着 IP address 至hostname的mapping.如我们想把 202.38.248.1 取
    个别名叫:bbs.那我们就可以在这个档案里写如下的叙述 :
      202.38.248.1       bbs
    如此一来,以後我们 telnet bbs 就等於 telnet 202.38.248.1.在这个档案中,至
    少会有两列,一列为 loopback,这是为了侦错目的而设的,另一列为 local host,就是
    你自己的机器.

/etc/host.conf
      这个文件会说明用户的系统会如何查询节点名,它应该包括至少以下两行:
      order hosts,bind
      multi on
    这两行通知先检查/etc/hosts文件,然后去查DNS,而且可以使用多个DNS.

/etc/host.equiv
      在里面可以设定一些 remote machine,而从这些 remote machine 利用 rsh 或
    rlogin 连回 local machine 的话便不用输入密码..rhosts的作用也是类似的.不过
    这东西最好不要乱设,以信得过的hosts为主,才不会造成security上的困扰.

/etc/host.deny
      设定那些 remote hosts 不可以使用 inetd.

/etc/host.allow
      设定那些remote hosts可以使用inetd.如ALL:202.38.248.就是202.38.248.上
    的所有机器都可以用了.

/etc/host.lpd
      记录可 access printer 的 hosts.假如一台 printer可被网路上的许多台主机
    所共用,那 printcap  这个档案必须得描述完整的网路设定资讯. 在比较严密控制
    的情况下,有两个条件必须符合首先,local machine 必须在 remote machine 的
    /etc/hosts.eqiuv 中,或者,在 remote machine 的 /etc/hosts.lpd  中被记载第
    二,使用者必须有 remote machine 的帐号.

/etc/inetd.conf
      设定系统的网络守护进程inetd的配置,格式如下:
      service_name  sock_type  proto  flags  user  server_path   args
      服务名称      包类型     协议   参数   用户  服务器路径    参数
    例如:
    ftp     stream  tcp nowait root   /usr/local/libexec/ftpd ftpd -a
    telnet  stream  tcp nowait root   /usr/libexec/telnetd    telnetd
    #shell  stream  tcp nowait root   /usr/libexec/rshd       rshd
    #login  stream  tcp nowait root   /usr/libexec/rlogind    rlogind
    #finger stream  tcp nowait nobody /usr/libexec/fingerd    fingerd -s
    #exec   stream  tcp nowait root   /usr/libexec/rexecd     rexecd
    #uucpd  stream  tcp nowait root   /usr/libexec/uucpd      uucpd
    #nntp   stream  tcp nowait usenet /usr/libexec/nntpd      nntpd
    #comsat dgram   udp wait   root   /usr/libexec/comsat     comsat
    #ntalk  dgram   udp wait   root   /usr/libexec/ntalkd     ntalkd
    #tftp   dgram   udp wait   nobody /usr/libexec/tftpd      tftpd /tftpboot
    #bootps dgram   udp wait   root   /usr/libexec/bootpd     bootpd

/etc/inetd.pid(inetd process id)
      inetd这个进程的进程id.

/etc/inittab
      设定系统启动时init进程将把系统设置成什么样的runlevel,用户不需要设置.

/etc/issue
      这个档案被记录着 login prompt 前所要 echo 的 message,特别要注意的是
    /etc/rc.d/rc.S下面的四行若没有mark,则每次开机 issue 及 motd 都会被重建.

/etc/klogd.pid(klogd process id)

/etc/ld.so.cache
      查找系统动态链接共享库的缓存,如果损坏用ldconfig可以重新产生.

/etc/ld.so.conf
      系统动态链接共享库的路径,记录一些 library 所在的目录,应用程序从这个文件
    去查找相应的lib文件.例如:
      /usr/local/lib
      /usr/X11R6/lib
      /usr/i486-linuxaout/lib
      /usr/openwin/lib

/etc/lilo.conf
      配置多重启动程序lilo的配置文件,每次更改之后一定要重新运行lilo才有效.

/etc/login.defs
      这是所有用户登陆时的缺省配置文件,这个文件中有大量的定义,许多原先在profile
    和login文件中的定义都挪到这里了.如用户缺省路径,登陆时间限制,最多错误登陆次
    数等.是系统管理员应该经常修改的地方.

/etc/magic
      这个档案记载了许多档案格式的识别字串或方法.那这个档在那里会用的到呢?用在
    file 这个指令上.file 这个指令的命令格式为:
      file [ -c ] [ -z ] [ -L ] [ -f namefile ] [ -m magicfile ] file
    file 这个指令可以告诉你某一个档案的格式,如它是一个 text 档,或是一个
    shell script 或 DOS 可执行档等...... 而 file这个指令,就是去参考/etc/magic
    这个资料库.假如你知道某一档案的识别字,而原来 magic 这个资料库没有记录,那
    你可以把识别方法加到资料库中,或乾脆建立自己的资料库算了.

/etc/mail.rc;/etc/mailcap;/etc/sendmail.cf;/etc/sendmail.st
      这几个文件都是为了设置sendmail的.

/etc/makedev.cfg
      同devinfo一样是给makedev使用的设置文件.用户不必设置.

/etc/motd(message of the day)
      在这个档里面可以写一些 message ,而这些 message 会在 login shell 之前被显
    示出来.通常都是 system administrator 要告知 user 的一些讯息. 而关於每次都
    会改变的问题,在前面/etc/issue时已提出过,记得 mark 起来就是了.

/etc/mtab
      记录目前mount的filesystem.大家可以用mount指令来看这个档的变化的.每mount
    一个filesystem,在这个文件就可以立刻反映出来了.也就是说,这个文件是动态更新
    的,可以参见/proc/mounts这个文件.

/etc/mtools
      这里面记录的是给 /usr/bin/mtools 参考用的 parameter.mtools就是一群操作
    MSDOS档案的命令集合,可用的命令如下:
      mattrib - change MSDOS file attribute flags
      mcd - change MSDOS directory
      mcopy - copy MSDOS files to/from Unix
      mdel - delete an MSDOS file
      mdir - display an MSDOS directory
      mformat - add an MSDOS filesystem to a low-level formatted diskette
      mlabel - make an MSDOS volume label
      mmd - make an MSDOS subdirectory
      mrd - remove an MSDOS subdirectory
      mread - low level read (copy) an MSDOS file to Unix
      mren - rename an existing MSDOS file
      mtype - display contents of an MSDOS file
      mwrite - low level write (copy) a Unix file to MSDOS
    这些都被 link 到 mtools.

/etc/named.boot
      假如你要建立 name server 的话,那这个档就是你要修改的地方详细的情况可以
    去看 named 的 manual.

/etc/named.pid(named process id)
       本机上运行DNS的进程id.

/etc/networks
      这个档与 hosts 有点像,都是在 boot 的时候会用到的东西,在这里可以定义一
    个子网路与其 IP address 的资讯.

/etc/NNTP_INEWS_DOMAIN
      设置新闻服务器的配置文件.

/etc/nntpserver
      设置用户使用的新闻服务器的地址.
      这个档案记录着 news server,当我们使用 tin -r (read news remotely) 时,
    这个档案会被参考到,或者若这个档案不存在的话,那环境变数 NNTPSERVER 所指定
    的 server 就会被当成要去取得 news 的 server.  譬如说,你要将 202.38.248.1
    当成 news server,那 /etc/nntpserver 中就可写: 202.38.248.1

/etc/nologin
      你也许会感到奇怪,我的 /etc 这个 directory 下并没有这个档啊?没错,它平常是
    不存在的,通常会看到这个档的话,那表示系统大概要 shutdown 了,因为系统要
    shutdown 了,自然不希望有人又login 进来,所以在我们执行 shutdown时,nologin
    这个档会自动的被 create,里面放着 shutdown message.实际上,当我们在login 时,
    系统会去检查有没有这个档,假如有的话,那就会印出这个档案中的 message,然後不
    让你 login.nologin 也有可能是为了某种理由被制造的,比如说系统在 maintain
    暂时不希望有人 login.无论如何 nologin 若存在,就不能 login.

/etc/organization
      存放用户的名字和组织,没什么用.

/etc/passwd
      呵呵,这个档案可重要了.一个 system administrator 最初要学的常常就是这个
    档案的内容! 这个档案记录着系统可以认得的user,也包括一些非人的 login name,
    但这是有特殊用途的.  档案内容每列的格式如下:
      Login Name:Encrypted Password:UID:GID:GCOS:Home Directory:Login Shell

    (1)login name
       在 login name 方面,每个 login name 必须是唯一的,而且不能超过 8 个字符,
     一般说来,login name 虽然可以大小写混合,但平常的情况下都用小写.

    (2)Encrypted Password
       这栏是编码过的密码,在新增一个 new user 时,应该在这栏填上*,更改 password
     可用 passwd 这个指令. passwd 这是一个 setuid 的指令.

    (3)UID(user id)
       每个"人"都要不一样,习惯上,100 以前被保留做为特殊的 user id,而root总是0.

    (4)GID(group id)
       在比较早期的系统,一个user同时只能在一个group,不过现在就没有这种限制了.

    (5)GCOS
       这栏基本上没有特殊格式限制,在这里可以写上你的 full name家中电话,住址等.
     爱写什么就写什么.
       finger 这个指令会去读这地方的资讯.用chfn 可改变这栏.

    (6)Home Directory
       这栏没什么,就是记录 user 的 home directory 而已,利用 cd 或 cd~ 都可回到
     home directory.

    (7)Login Shell
       设定使用者所使用的 shell,预设值是 /bin/bash.当然,你也可以自己改成 csh
     或 tcsh,zsh 也是不错,假如有 free 版的 korn Shell 也可拿来用用.用 chsh可改
     变你的 login shell.
       为了 security 方面的考虑,可以安装 shadow,将 passwd 这个档完全的与一般
     user 隔绝开来,连读也没有办法读 passwd 这个档.

 

/etc/pnpdevices
      列出了支持的plug&play设备.

 

/etc/profile
      profile 这个档是 bash 这个 shell 所用的,profile 之于bash就好像 cshrc 之于
    csh. 同样的,/etc 下的 profile 也是 SA 在维护的,主要是放着全域的设定(Global
    Setting)而每个 user 在自己的 Home Directory 都可以有各人的.profile.

 

/etc/protocols

      假如你为了某些目地,而写了自己的 protocol,那你就必须把它列在这个档案中,这
    样 inetd 才会管理一些 daemons 去用它这个档案每列的格式如下,# 之後的是注解:
      Protolcol Name      Portocol Number       Aliases

      协议名              代码                  别名

    ip      0       IP      # internet protocol,pseudo protocol number
    icmp    1       ICMP    # internet control message protocol
    igmp    2       IGMP    # internet group multicast protocol
    ggp     3       GGP     # gateway-gateway protocol
    tcp     6       TCP     # transmission control protocol
    pup     12      PUP     # PARC universal packet protocol
    udp     17      UDP     # user datagram protocol
    idp     22      IDP     # WhatsThis?
    raw     255     RAW     # RAW IP interface

 

/etc/psdatabase
      这个档案是被 psupdate 所用到,psupdate 主要的功能就是更新
    /etc/psdatabase 这个档,以符合目前的 kernel image system map file.一般的预设
    档是 /usr/src/linux/tools/zSystem.

 

/etc/resolv.conf
      这里面记载着你机器的 domain name 及 name server 的 IP address,name server
    可以自己加入.name server 可不要随便就去掉,否则,就会地址没有办法被解译,故会
    有 Host name lookup failure 的信息.

 

/etc/rpc
      !!!!!!!!!

 

/etc/securetty
      假如你要以 root login 的话,实际上是有限制的,这个档案就列出了 root 可以
    login 的 ttys,假如你把每一列都 mark 起来那就没有任何一个 terminal 可供root
    login 了,就会出现以下的情况 :
                  login: root
                  root login refused on this terminal.
    仔细的在这个档案列出可用的 terminal,可使从 modem 连的使用者或经由网络来的
    其它的使用者比较不容易取得 superuser 的权力.

 

/etc/services
      设定系统的端口与协议类型和提供的服务.

 

/etc/shadow
      这个文件对一般用户是不可读的,加密后的密码就放在这个文件中.

 

/etc/shells
      这个档案里面就记录着可以用的 login shell.还有一点,那就是这个档的记录会在
    使用 chsh 时做为参考,唯有被列在这里的 shell,使用 chsh 时才会出现这些 shell
    可选.实际上如果强行直接修改passwd文件,也可以使用不在列表中的shell程序,但会
    造成在ftp的时候,无法登陆.

 

/etc/slip.hosts;/etc/slip.login
      这两个文件是设定SLIP的配置文件.

 

/etc/snooptab
      如果系统管理员用ttysnoops替换了login这个程序,就可以用snooptty这个程序来
    监控用户的屏幕,这个文件就是能监听的终端列表.

 

/etc/sudoers

      在一个不是很复杂的系统中,也许一个 System Administrator 就可以管理所有的
    事情.但一但系统提供的服务变多,系统管理的工作也随之变得沉重,这时候,sudo 就
    派上用场了,sudo 可以让一个普通的 user 变成 superuser,这样一来,一个系统的某
    些工作,就可以分配给这些 superusers 来做.以减轻负担.
      当然,并不是每个 user 都可以变成 superuser.所以/etc/sudoers 就是记录着那
    些人可以用 superuser 的身份来执行一些工作.
      这个档案有一个专属的 editor 叫 visudo 可来编辑 /etc/sudoer.而关於使用
    sudo.bin有一个记录档,在 /var/adm/sudo.log,里面记录着谁在什么时候利用sudo
    下了那些指令.顺便一提的是:利用下面这个命令可抓出那些人转换成 superuser 但
    却没有成功:grep "FAILED SU" /var/adm/messages

/etc/syslog.conf
      系统记录程序syslogd的配置文件,格式如下:
      *.=info;*.=notice    /usr/adm/messages
      *.=debug             /usr/adm/debug
      *.=warn              /usr/adm/syslog
    即所有的info和notice信息都存在/usr/adm/messages下,debug信息在/usr/adm/debug
    下,警告信息在/usr/adm/syslog下.


/etc/ttys
      设定系统的终端类型.

 

/etc/utmp
      从 utmp 中可以知道现在有谁正在用系统.当使用者logout之後,init就去把logout
    的使用者从 /etc/utmp 中去掉.实际上,utmp 每个 record 是像这样的一个结构:

             struct utmp {
                 short ut_type;              /* 登陆类型 */
                 pid_t ut_pid;               /* 进程id */
                 char ut_line[12];           /* 使用终端 */
                 char ut_id[2];              /* 初始化id */
                 time_t ut_time;             /* 登陆时间 */
                 char ut_user[8];            /* 用户名 */
                 char ut_host[16];           /* 远程登陆机器名 */
                 long ut_addr;               /* 远程登陆机器的ip */
               };
     了解这个档案,进而去修改,可以做出许多有趣的事......:P

/etc/wtmp
      简而言之,wtmp 是一个 login data base,有许多的指令会用到这个档,像 last,
    sessreg,who 等......这个档案格式与 utmp 大致相同,只是多了shutdown及reboot
    这个记录,指出系统的 shutdown 或 reboot,及一个空的 user name指出在相关
    terminal 的 logout.还有,不像 /etc/utmp,/etc/wtmp 的记录是慢慢的附加上去的,
    也就是说,这个档案会越变越大,虽然变大的速度并不会太快,但一但到了某种程度大小
    的话,System Administrator 可以隔一段时间就删除这个文件,再用touch来产生.下面
    是用 last 这个指令所得到的部份内容:

      bbs       tty1                          Tue Nov 29 19:09 - 19:09  (00:00)
      root      tty1                          Tue Nov 29 19:08 - 19:09  (00:00)
      root      tty1                          Tue Nov 29 19:07 - 19:07  (00:00)
      runlevel  ~                             Tue Nov 29 19:07
      reboot    ~                             Tue Nov 29 19:07

/etc/XF86Config
      X Window的配置文件.

/etc/yp.conf
      NIS的配置文件.

/etc/zprofile
      link 到 /etc/profile

/home
    存放用户主目录的地方,一般说"/home/username"就是用户的主目录.

/lib(library)
    存放系统最基本的动态连接库.这个目录如果被删除的话就不能动了.几乎所有的程序
  都要用到这个目录下的共享库.

/lost+found
    这个目录一般都是空的.但当文件系统发生故障(如系统掉电)后,在机器启动的时候有
  些文件找不到应该存放的地方,就放到这个目录底下了.这个目录是mkfs是自动产生的.

/mnt
    空目录,是让用户临时挂载文件系统的地方.

/proc
    是linux提供的一个虚拟系统,是由系统在系统启动的时候在内存中产生的,用户可以
  直接通过访问这些文件来获得系统信息,例如/proc/kcore就是系统运行的时候内存的
  映象文件.

/root
    超级用户主目录.

/sbin
    这个目录存放着super user使用的系统管理程序,如fsck,mount等.

/tmp(temporary)
    存放不同的程序执行时产生的临时文件.这是除了/usr/local目录以外一般用户可以
  使用的一个目录.这个目录在启动时系统并不自动删除,所以最好能经常删除这里的无用
  文件.

/usr(user)
    linux系统占地最大的一个目录,用户的很多应用程序和文件都几乎存放在这里.下面
  时一些比较重要的目录:

/usr/X11R6
      存放XFree86的目录,所有于X Window有关的程序都放在这里.

/usr/bin
      用户用到的大部分程序都放在这里.


/usr/sbin
      超级用户的管理程序和系统守护程序.

/usr/doc
      放着linux的文档.

/usr/include
      在linux下开发编译应用程序需要的头文件.

/usr/lib
      存放常用的动态链接共享库和静态档案库.

/usr/local
      让用户安装新软件使用的,目录结构和/usr类似.

/usr/man
      存放着linux online help.

/usr/src
      存放着系统的源代码,缺省的有一个/usr/src/linux目录,是用来存放系统内核的源
    代码.重新编译内核的时候就是在这个目录下进行的,有些应用程序也会用到这个目录
    下的一些头文件.

/var
    这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被
  修改的目录可以放在这个目录下.

/var/log
      系统的日志文件.

说明:在不同的linux版本,目录结构也有不少的区别.

  
原创粉丝点击