Linux系统安装与简单配置过程实验报告

西安邮电大学

Linux系统安装与简单配置过程实验报告

一、实验目的

1 . 学会操作系统安装之前,根据硬件配置情况,制定安装计划。

2 . 掌握多操作系统安装前,利用硬盘分区工具(如PQMagic)为Linux准备分区。

3 . 掌握Linux操作系统的安装步骤。

4 . 掌握Linux系统的简单配制方法。

5 . 掌握Linux系统地启动、关闭步骤。

二、实验内容

1 . 安装并使用硬盘分区工具,如PQMagic)为Linux准备好分区。

2 . 安装Linux系统(如红旗Linux桌面版)

3 . 配置Linux系统运行环境。

4 . 正确地启动、关闭系统。

三、主要实验步骤

这里我用的VMware Workstation 9.0 装rhel-server-6.0-x86_64(红帽的6.0服务器版64位,这里说明下要装64位的系统首先要看自己的CPU支持不),下面是我的操作步骤,

1 . 先打开VMware Workstation 9.0 文件------新建虚拟机---到欢迎向导界面选择 *标准 * ,选择我以后再安装操作系统,截图如下

2 . 现在开启电源安装,安装如下

四、实验总结

安装Linux操作系统非常简单,因为学了段RHEC红帽的课程,已经轻车熟路了,这里没其他的镜像所以正好拿红帽的服务器6.0版的安装,安装要注意要根据自己电脑的配置情况而指定不同安装方案,分区可以自定义分区,选择LVM逻辑卷组有助于磁盘管理扩容、压缩,安装双系统在选择时区的时候不要选择UTC,不然双系统时间混乱的。

 

第二篇:Linux系统安装配置

目 录 1. 系统安装配置 1. 配置文件 1. 主机 2. 引导和登录注销 3. 文件系统 4. 系统管理 5. 网络 6. 系统命令 7. 守护进程 8. 用户程序 9. rc和点文件 2. 文件系统 1. inode 2. 安装和拆卸文件系统 3. 恢复被删除文件 4. undelete简单方法 5. ncheck命令 3. X系统 1. XServer 2. XF86Config 4. 网卡 1. 多个网卡 2. 网卡驱动 5. hosts.equiv和.rhosts文件 6. 目录结构 7. 设置系统 8. 多系统安装 1. 分配磁盘空间 2. 安装Linux 3. 进一步:NTloader引导双系统 9. IDE RAID卡 10. Gtk+/Win32中文显示方案 11. 汉化 1. 前言 2. 用蓝点rpm包进行汉化 3. 炎黄中文输入和Chinput的安装方法 4. GNOME和KDE的汉化 5. 打印 6. Mozilla和glibc 12. 路由功能 1. ADSL 2. IPChains 系统安装配置 [目录] 配置文件 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。 除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。 更改配置文件 在更改配置文件时,如果程序不是由系统管理员或内核控制的,就要确保重新启动过使用该配置的程序。普通用户通常没有启动或停止系统程序和/或守护进程的权限。 内核 更改内核中的配置文件会立即影响到系统。例如,更改 passwd 文件以增加用

户将立即使该用户变为可用。而且任何 Linux 系统的 /proc/sys 目录中都有一些内核可调参数。只有超级用户可以得到对所有这些文件的写访问权力;其它用户只有只读访问权力。此目录中文件的分类的方式和 Linux 内核源代码的分类方式一样。此目录中的每个文件都代表一个内核数据结构,这些数据结构可以被动态地修改,从而改变系统性能。 注意:在更改其中任何文件的任何值之前,您应该确保自己全面了解该文件,以避免对系统造成不可修复的损害。 /proc/sys/kernel/ 目录中的文件 文件名 描述 threads-max 内核可运行的最大任务数。 ctrl-alt-del 如果值为 1,那么顺序按下这几个键将“彻底地”重新引导系统。 sysrq 如果值为 1,Alt-SysRq 则为激活状态。 osrelease 显示操作系统的发行版版本号 ostype 显示操作系统的类型。 hostname 系统的主机名。 domainname 网络域,系统是该网络域的一部分。 modprobe 指定 modprobe 是否应该在启动时自动运行并加载必需的模块。 守护进程和系统程序 守护进程是永远运行在后台的程序,它默默地执行自己的任务。常见的守护进程有 in.ftpd(ftp 服务器守护进程)、in.telnetd(telnet 服务器守护进程)和 syslogd(系统日志记录守护进程)。有些守护进程在运行时会严密监视配置文件,在配置文件改变时就会自动重新加载它。但是大多数守护进程并不会自动重新加载配置文件。我们需要以某种方式“告诉”这些守护进程配置文件已经被发生了改变并应该重新加载。可以通过使用服务命令重新启动服务来达到这个目的(在 Red Hat Linux 系统上)。 例如,如果我们更改了网络配置,就需要发出: service network restart。 注意:这些服务最常见的是 /etc/rc.d/init.d/* 目录中存在的脚本,在系统被引导时由 init 启动。所以,您也可以执行如下操作来重新启动服务: /etc/rc.d/init.d/<script-for-the-service> start | stop | status start、stop 和 status 是这些脚本接受的输入值,用来执行操作。 [目录] 主机 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 [目录] 引导和登录注销

/etc/issue & /etc/issue.net 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(issue.net)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。 /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。 /etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令:init 5。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 /etc/rc.d/rc/rcX.d 从 rc 运行的脚本(X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,系统启动时通常会在引导消息之后显示“entering run-level 3”的消息;这意味着 /etc/rc.d/rc3.d/ 目录中的所有初始化脚本都将被调用。 [目录] 文件系统 /proc 内核提供了一个接口,用来显示一些它的数据结构,这些数据结构对于决定诸如使用的中断、初始化的设备和内存统计信息之类的系统参数可能很有用。这个接口是作为一个独立但虚拟的文件系统提供的,称为 /proc 文件系统。很多系统实用程序都使用这个文件系统中存在的值来显示系统统计信息。 例如,/proc/modules 文件列举系统中当前加载的模块。lsmod 命令读取此信息,然后将其以人们可以看懂的格式显示出来。下面表格中指定的 mtab 文件以同样的方式读取包含当前安装的文件系统的 /proc/mount 文件。 /etc/mtab 这将随着 /proc/mount 文件的改变而不断改变。换句话说,文件系统被安装和卸载时,改变会立即反映到此文件中。 /etc/fstab 列举计算机当前“可以安装”的文件系统。这非常重要,因为计算机引导时将运行 mount -a 命令,该命令负责安装 fstab 的倒数第二列中带有“1”标记的每一个文件系统。 /etc/mtools.conf DOS 类型的文件系统上所有操作(创建目录、复制、格式化等等)的配置。 [目录] 系统管理 /etc/group 包含有效的组名称和指定组中包括的用户。单一用户如果执行多个任务,可以存在于多个组中。例如,如果一个“用户”是“project 1”工程组的成员,同时也是管理员,那么在 group 文件中他的条目看起来就会是这样的:user: * : group-id : project1 /etc/nologin 如果有 /etc/nologin 文件存在,login(1) 将只允许 root 用户

进行访问。它将对其它用户显示此文件的内容并拒绝其登录。 /etc/passwd 请参阅“man passwd”。它包含一些用户帐号信息,包括密码(如果未被 shadow 程序加密过)。 /etc/rpmrc rpm 命令配置。所有的 rpm 命令行选项都可以在这个文件中一起设置,这样,当任何 rpm 命令在该系统中运行时,所有的选项都会全局适用。 /etc/securetty 包含设备名称,由 tty 行组成(每行一个名称,不包括前面的 /dev/),root 用户在这里被允许登录。 /etc/usertty /etc/shadow 包含加密后的用户帐号密码信息,还可以包括密码时效信息。包括的字段有: ·登录名 ·加密后的密码 ·从 1970 年 1 月 1 日到密码最后一次被更改的天数 ·距密码可以更改之前的天数 ·距密码必须更改之前的天数 ·密码到期前用户被警告的天数 ·密码到期后帐户被禁用的天数 ·从 1970 年 1 月 1 日到帐号被禁用的天数 /etc/shells 包含系统可用的可能的“shell”的列表。 /etc/motd 每日消息;在管理员希望向 Linux 服务器的所有用户传达某个消息时使用。 [目录] 网络 /etc/gated.conf gated 的配置。 只能被 gated 守护进程所使用。 /etc/gated.version 包含 gated 守护进程的版本号。 /etc/gateway 由 routed 守护进程可选地使用。 /etc/networks 列举从机器所连接的网络可以访问的网络名和网络地址。通过路由命令使用。允许使用网络名称。 /etc/protocols 列举当前可用的协议。请参阅 NAG(网络管理员指南,Network Administrators Guide)和联机帮助页。C 接口是 getprotoent。绝不能更改。 /etc/resolv.conf 在程序请求“解析”一个 IP 地址时告诉内核应该查询哪个名称服务器。 /etc/rpc 包含 RPC 指令/规则,这些指令/规则可以在 NFS 调用、远程文件系统安装等中使用。 /etc/exports 要导出的文件系统(NFS)和对它的权限。 /etc/services 将网络服务名转换为端口号/协议。由 inetd、telnet、tcpdump 和一些其它程序读取。有一些 C 访问例程。 /etc/inetd.conf inetd 的配置文件。请参阅 inetd 联机帮助页。包含每个网络服务的条目,inetd 必须为这些网络服务控制守护进程或其它服务。注意,服务将会运行,但在 /etc/services 中将它们注释掉了,这样即使这些服务在运行也将不可用。格式为:<service_name> <sock_type> <proto> <flags> <user> <server_path> <args> /etc/sendmail.cf 邮件程序 sendmail 的配置文件。比较隐晦,很难理解。 /etc/sysconfig/network 指出 NETWORKING=yes 或 no。至少由 rc.sysinit 读取。 /etc/sysconfig/network-scripts/if* Red Hat 网络配置脚本。 [目录] 系统命令 系统命令要独占地控制系统

,并让一切正常工作。所有如 login(完成控制台用户身份验证阶段)或 bash(提供用户和计算机之间交互)之类的程序都是系统命令。因此,和它们有关的文件也特别重要。这一类别中有下列令用户和管理员感兴趣的文件。 /etc/lilo.conf 包含系统的缺省引导命令行参数,还有启动时使用的不同映象。您在 LILO 引导提示的时候按 Tab 键就可以看到这个列表。 /etc/logrotate.conf 维护 /var/log 目录中的日志文件。 /etc/identd.conf identd 是一个服务器,它按照 RFC 1413 文档中指定的方式实现 TCP/IP 提议的标准 IDENT 用户身份识别协议。identd 的操作原理是查找特定 TCP/IP 连接并返回拥有此连接的进程的用户名。作为选择,它也可以返回其它信息,而不是用户名。请参阅 identd 联机帮助页。 /etc/ld.so.conf “动态链接程序”(Dynamic Linker)的配置。 /etc/inittab 按年代来讲,这是 UNIX 中第一个配置文件。在一台 UNIX 机器打开之后启动的第一个程序是 init,它知道该启动什么,这是由于 inittab 的存在。在运行级别改变时,init 读取 inittab,然后控制主进程的启动。 /etc/termcap 一个数据库,包含所有可能的终端类型以及这些终端的性能。 [目录] 守护进程 守护进程是一种运行在非交互模式下的程序。一般来说,守护进程任务是和联网区域有关的:它们等待连接,以便通过连接提供服务。Linux 可以使用从 Web 服务器到 ftp 服务器的很多守护进程。 /etc/syslogd.conf syslogd 守护进程的配置文件。syslogd 是一种守护进程,它负责记录(写到磁盘)从其它程序发送到系统的消息。这个服务尤其常被某些守护进程所使用,这些守护进程不会有另外的方法来发出可能有问题存在的信号或向用户发送消息。 /etc/httpd.conf Web 服务器 Apache 的配置文件。这个文件一般不在 /etc 中。它可能在 /usr/local/httpd/conf/ 或 /etc/httpd/conf/ 中,但是要确定它的位置,您还需要检查特定的 Apache 安装信息。 /etc/conf.modules or /etc/modules.conf kerneld 的配置文件。有意思的是,kerneld 并不是“作为守护进程的”内核。它其实是一种在需要时负责“快速”加载附加内核模块的守护进程。 [目录] 用户程序 在 Linux(和一般的 UNIX)中,有无数的“用户”程序。最常见的一种用户程序配置文件是 /etc/lynx.cfg。这是著名的文本浏览器 lynx 的配置文件。通过这个文件,您可以定义代理服务器、要使用的字符集等等。下面的代码样本展示了 lynx.cfg 文件的一部分,修改这部分代码可以改变 Linux 系统的代理服务器设置。缺省情况下,这些设置适用于在各自的 shell 中运行 lynx 的所有用户,

除非某个用户通过指定 --cfg = "mylynx.cfg" 重设了缺省的配置文件。 /etc/lynx.cfg 中的代理服务器设置 .h1 proxy .h2 HTTP_PROXY .h2 HTTPS_PROXY .h2 FTP_PROXY .h2 GOPHER_PROXY .h2 NEWS_PROXY .h2 NNTP_PROXY # Lynx version 2.2 and beyond supports the use of proxy servers that can act as # firewall gateways and caching servers. They are preferable to the older # gateway servers. Each protocol used by Lynx can be mapped separately using # PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have # not set them externally, you can set them at run time via this configuration file. # They will not override external settings. The no_proxy variable can be used # to inhibit proxying to selected regions of the Web (see below). Note that on # VMS these proxy variables are set as process logicals rather than symbols, to # preserve lowercasing, and will outlive the Lynx image. # .ex 15 http_proxy:http://proxy3.:80/ ftp_proxy:http://proxy3.:80/ #http_proxy:http://penguin.:8080 #ftp_proxy:http://penguin.:8080/ .h2 NO_PROXY # The no_proxy variable can be a comma-separated list of strings defining # no-proxy zones in the DNS domain name space. If a tail substring of the # domain-path for a host matches one of these strings, transactions with that # node will not be proxied. .ex no_proxy:demiurge., demiurge 用户或系统程序在每次启动时都会读取其配置文件。尽管如此,请记住,有些系统程序在计算机打开时情况不一样,它们的行为依赖于在 /etc/ 中的配置文件中读到的内容。所以,用户程序第一次启动时将从 /etc/ 目录中存在的文件读取缺省配置。然后,用户可以通过使用 rc 和 .(点)文件来定制程序,正如下面一节所示。 用户配置文件:.(点)文件和 rc 文件 我们已经看到怎样容易地配置程序。但是如果有的人不喜欢在 /etc/ 中配置程序的方式该怎么办呢?“普通”用户不能简单地进入 /etc 然后更改配置文件;从文件系统的角度来看,配置文件的所有者是 root 用户!这就是大多数用户程序都定义两个配置文件的原因:第一个是“系统”级别的,位于 /etc/;另一个属于用户“专用”,可以在他或她的主目录中找到。 例如,我在我的系统中安装了非常有用的 wget 实用程序。/etc/ 中有一个 /etc/wgetrc 文件。在我的主目录中,有一个名为 .wgetrc 的文件,它描述了我定制的配置(只有在我,也就是用户运行 wget 命令时,才会加载这个配置文件)。其它用户在他们自己的主目录(/home/other)中也可以有 .wgetrc 文件;当然,只有这些用户运行 wget 命令时,才会读取这个文件。换句话说,/etc/wgetrc 文件为 wget 提供了“缺省”值,而 /home/xxx/.wgetrc 文件列举

了某个用户的“定制项”。重要的是这只是“一般规则”,并非所有情况都如此。例如,一个象 pine 一样的程序,在 /etc/ 中并没有任何文件,它只在用户主目录中有一个定制配置文件,名为 .pinerc。其它程序可能只有 /etc/ 中的缺省配置文件,而且可能不允许用户“定制”这些配置文件(/etc 目录中只有少数 config. 文件是这种情况)。 [目录] rc和点文件 通常使用的 rc 和 .(点)文件 ~/.bash_login 请参考“man bash”。如果 ~/.bash_profile 不存在,bash 则将 ~/.bash_login 作为 ~/.bash_profile 处理。 ~/.bash_logout 请参考“man bash”。在退出时由 bash 登录 shell 引用。 ~/.bash_profile 由 bash 登录 shell 引用 /etc/profile 之后引用。 ~/.bash_history 先前执行的命令的列表。 ~/.bashrc 请参考“man bash”。由 bash 非登录交互式 shell 引用(没有其它文件)。除非设置了 BASH_ENV 或 ENV,非交互式 shell 不引用任何文件。 ~/.emacs 启动时由 emac 读取。 ~/.forward 如果这里包含一个电子邮件地址,那么所有发往 ~ 的所有者的邮件都会被转发到这个电子邮件地址。 ~/.fvwmrc ~/.fvwm2rc fvwm 和 fvwm2(基本的 X Window 管理器)的配置文件。 ~/.hushlogin 请参考“man login”。引起“无提示”登录(没有邮件通知、上次登录信息或者 MOD 信息)。 ~/.mail.rc 邮件程序的用户初始化文件。 ~/.ncftp/ ncftp 程序的目录;包含书签、日志、宏、首选项和跟踪信息。请参阅 man ncftp。ncftp 的目的是为因特网标准文件传输协议(Internet standard File Transfer Protocol)提供一个强大而灵活的接口。它旨在替换系统所使用的标准的 ftp 程序。 ~/.profile 请参考“man bash”。如果 ~/.bash_profile 和 ~/.bash_login 文件不存在,bash 则将 ~/.profile 作为 ~/.bash_profile 处理,并被其它继承 Bourn 的 shell 使用。 ~/.pinerc Pine 配置 ~/.muttrc Mutt 配置 ~/.exrc 这个文件可以控制 vi 的配置。 示例:set ai sm ruler 在此文件中写入上面一行会让 vi 设置自动缩进、匹配括号、显示行号和行-列这几个选项。 ~/.vimrc 缺省的“Vim”配置文件。和 .exrc 一样。 ~/.gtkrc GNOME 工具包(GNOME Toolkit)。 ~/.kderc KDE 配置。 ~/.netrc ftp 缺省登录名和密码。 ~/.rhosts 由 r- 工具(如 rsh、rlogin 等等)使用。因为冒充主机很容易,所以安全性非常低。 必须由用户(~/ 的所有者)或超级用户拥有。 列出一些主机,用户可以从这些主机访问该帐号。 如果是符号链接则被忽略。 ~/.rpmrc 请参阅“man rpm”。如果 /etc/rpmrc 不存在则由 rpm 读取。 ~/.signature 消息文本,将自动附加在从此帐号发出的邮件末尾。

~/.twmrc twm(The Window Manager)的配置文件。 ~/.xinitrc 启动时由 X 读取(而不是由 xinit 脚本读取)。通常会启动一些程序。 示例:exec /usr/sbin/startkde 如果该文件中存在上面这行内容,那么在从这个帐号发出 startx 命令时,这一行就会启动“KDE 视窗管理器”(KDE Window Manager)。 ~/.xmodmaprc 此文件被传送到 xmodmap 程序,而且可以被命名为任何文件(例如 ~/.Xmodmap 和 ~/.keymap.km)。 ~/.xserverrc 如果 xinit 可以找到要执行的 X,xinit 就会将该文件作为 X 服务器运行。 ~/News/Sent-Message-IDs gnus 的缺省邮件历史文件。 ~/.Xauthority 由 xdm 程序读和写,以处理权限。请参阅 X、xdm 和 xauth 联机帮助页。 ~/.Xdefaults,~/.Xdefaults-hostname 在主机 hostname 的启动过程中由 X 应用程序读取。如果找不到 -hostname 文件,则查找 .Xdefaults 文件。 ~/.Xmodmap 指向 .xmodmaprc;Red Hat 有使用这个名称的 .xinitrc 文件。 ~/.Xresources 通常是传送到 xrdb 以加载 X 资源数据库的文件的名称,旨在避免应用程序需要读取一个很长的 .Xdefaults 文件这样的情况。(有些情况曾经使用了 ~/.Xres。) ~/mbox 用户的旧邮件。 [目录] 文件系统 Linux文件系统是Linux系统的心脏部分,提供了层次结构的目录和文件。文件系统将磁盘空间划分为每1024个字节一组,称为块(也有用512字节为一块的,如:SCOXENIX)。编号从0到整个磁盘的最大块数。 全部块可划分为四个部分,块0称为引导块,文件系统不用该块;块1称为专用块,专用块含有许多信息,其中有磁盘大小和全部块的其他两部分的大小。从块2开始是i节点表,i节点表中含有i节点,表的块数是可变的,后面将做讨论。i节点表之后是空闲存储块(数据存储块),可用于存放文件内容。文件的逻辑结构和物理结构是十分不同的,逻辑结构是用户敲入cat命令后所看到的文件,用户可得到表示文件内容的字符流。物理结构是文件实际上如何存放在磁盘上的存储格式。用户认为自己的文件是边疆的字符流,但实际上文件可能并不是以边疆的方式存放在磁盘上的,长于一块的文件通常将分散地存放在盘上。然而当用户存取文件时,Linux文件系统将以正确的顺序取出各块,给用户提供文件的逻辑结构。 当然,在Linux系统的某处一定会有一个表,告诉文件系统如何将物理结构转换为逻辑结构。这就涉及到i节点了。i节点是一个64字节长的表,含有有关一个文件的信息,其中有文件大小、文件所有者、文件存取许可方式,以及文件为普通文件、目录文件还是特别文件等。在i节点中最重要的一项是磁盘地址表。 该表中有13个块号。前10

个块号是文件前10块的存放地址。这10个块号能给出一个至多10块长的文件的逻辑结构,文件将以块号在磁盘地址表中出现的顺序依次取得相应的块。当文件长于10块时又怎样呢?磁盘地址表中的第11项给出一个块号,这个块号指出的块中含有256个块号,至此,这种方法满足了至多长于266块的文件(272384字节)。如果文件大于266块,磁盘地址表的第12项给出一个块号,这个块号指出的块中含有256个块号,这256个块号的每一个块号又指出一块,块中含256个块号,这些块号才用于取文件的内容。磁盘地址中和第13项索引寻址方式与第12项类似,只是多一级间接索引。 这样,在Linux系统中,文件的最大长度是16842762块,即172xxxxxxxx字节,有幸是Linux系统对文件的最大长度(一般为1到2M字节)加了更实际的限制,使用户不会无意中建立一个用完整个磁盘区所有块的文件。 文件系统将文件名转换为i节点的方法实际上相当简单。一个目录实际上是一个含有目录表的文件:对于目录中的每个文件,在目录表中有一个入口项,入口项中含有文件名和与文件相应的i节点号。当用户敲入catxxx时,文件系统就在当前目录表中查找名为xxx的入口项,得到与文件xxx相应的i节点号,然后开始取含有文件xxx的内容的块。 [目录] inode 一个inode有128 byte。在新建文件系统时, 通常会有一个参数, 用来描述要分配多少比例的空间给inode table。举例来说newfs -i 2048是指文件系统中, 每分配2048 byte给data area, 就分配一个inode。但一个inode并不一定用掉2048 byte, 也不是说 files allocation的最小单位是2048 byte, 它仅仅只是代表文件系统中inode table/data area分配空间的比例是 128/2048 也就是 1/16。如果 inode table 太小, 那么在每个文件都很小的时候, 就会发生inode用光而存储空间多余的情况。file allocation的最小单位和inode多少没有关系 [目录] 安装和拆卸文件系统 Linux文件系统是可安装的,这意味着每个文件系统可以连接到整个目录树的任意节点上(根目录总是被安装上的)。安装文件系统的目录称为安装点。 /etc/mount命令用于安装文件系统,用这条命令可将文件系统安装在现有目录结构的任意处。 安装文件系统时,安装点的文件和目录都是不可存取的,因此未安装文件系统时,不要将文件存入安装点目录。文件系统安装后,安装点的存取许可方式和所有者将改变为所安装的文件根目录的许可方式和所有者。 安装文件系统时要小心:安装点的属性会改变!还要注意新建的文件,除非新文件系统是由标准文件建立的,系统标准文件会设置适当的存取许可方式,否则新文件系统的

存取许可将是777! 可用-r选项将文件系统安装成只读文件系统。需要写保护的带驱动器和磁盘,应当以这种方式来安装。 不带任何参数的/etc/mount可获得系统中所安装的文件系统的有关信息。包括:文件系统被安装的安装点目录,对应/dev中的设备,只读或可读写,安装时间和日期等。从安全的观点来讲,可安装系统的危险来自用户可能请求系统管理员为其安装用户自己的文件系统。如果安装了用户的文件系统,则应在允许用户存取文件系统前,先扫描用户的文件系统,搜索SUID/SGID程序和设备文件。在除了系统管理员外任何人不能执行的目录中安装文件系统,用find命令或secure列出可疑文件,删除不属用户所有的文件的SUID/SGID许可。 用户的文件系统用完后,可用umount命令卸下文件系统。并将安装点目录的所有者改回系统管理员,存取许可改为755。 [目录] 恢复被删除文件 前些天被我误删掉的 home directory 下的几千个文件,经过本人数天的连续奋战,现绝大部分已恢复,算是奇迹也不是奇迹。 删掉文件其实只是将指向数据块的索引点 (information nodes) 释放,只要不被覆盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出,再保存到另外的分区。 我先在网上查有关 linux undelete 的信息,找到一个 ext2fs-undeletion 的mini-Howto,后发觉在RH6.2的 /usr/doc/HOWTO 内也有,按它的方法,先将被删掉数据的盘区 umount 掉(防止写盘覆盖被删除的数据,显然这一步在误删数据后做得越快越好,尤其是对多人使用的计算机),然后查文件系统中哪些索引点最近被释放: #debugfs /dev/hda6 (my 'home' partition) debugfs: lsdel 即给出相应信息,包括索引点,文件属主,大小,删除日期等。也可将结果输出到一个文件中 debugfs: quit # echo lsdel | debugfs /dev/hda6 > lsdel.out 还可用 debugfs 中 stat 查看某一索引点的详细信息: debugfs: stat <148003> 尤其注意其数据块是否连续! 然后将该索引点所指数据块内的数据抓出并存到另一盘区: debugfs: dump <148003> /dosd/tmp/recovered.001 按该 mini-Howto 的说法,以上方法只使用于大小不超过 12 个 block 的文件,对于超过 12 个 block 的文件,由于 unix 是将数据分段保存的,需要将各段数据分别取出再拼接,所以比较麻烦。但我用 stat 检查的结果,大文件的数据块也都是紧挨着的,并没有被分段, 于是我试着用同样的方法将文件 dump 出来,发觉结果完全正确,对六百多兆的大文件也适用!不知道 linux 就是连续保存文件的,还是因为我的计算机只有我一个用户而使然,反正我用上述简单方法

将我误删的绝大部分文件都恢复了。 需要说明的一点是,恢复的文件是没有保留文件名的,需要你查看文件内容后,再重新命名。 靠人不如靠己,当初没有轻易放弃看来是正确的,尽管我有少量备份。不过经过这场"灾难",本人的指法倒是又熟练了不少:几千个文件得一个一个恢复! [目录] undelete简单方法 发信人: DA (穷开心), 信区: LINUX 标 题: linux环境下如何undelete 发信站: 武汉白云黄鹤站 (Sun Feb 4 16:35:32 2001), 转信 在bashrc加入以下指令,但是先要在/目录下创建一个名为.trash的子目录 alias rm 'mv -f !* ~/.trash' alias undel 'mv ~/.trash/!* ./!*' alias cleantrash '/bin/rm -rf ~/.trash; mkdir ~/.trash; sync' alias lrm 'ls ~/.trash' 若文档是直接用rm命令删除的,理论上 ext2 内 rm 掉的档案还是可以用debugfs , ext2ed 救回来的.当然... 被 overwrite 掉就没救了. [目录] ncheck命令 用于检查文件系统,只用一个磁盘分区名作为参数,将列出i节点号及相应的文件名。i节点相同的文件为建链文件。注意所列出的清单文件名与mount命令的第一个域相同的文件名前部分将不会列出来。因为是做文件系统内部的检查,ncheck并不知道文件系统安装点以上部分的目录。 也可用此命令来搜索文件系统中所有的SUID和SGID程序和设备文件,使用-s选项来完成此项功能。 [目录] X系统 [目录] XServer Linux下的X Server配置快速攻略 老看到有人在BBS上问关于X Server配置的问题, 这也许是安装Linux的一个难点 问题吧, 稍微总结了一下, 写了这个"攻略", 希望X Server没配好的网友都能看一下, 希望不会再有最新显卡只能用320x200之类的问题 都是很初步的介绍 首先明确一下X Server的概念, 由于X这个Server/Client关系与通常的有点不一样, 老有网友搞不清楚. 简单地说, 所谓X Server, 指的就是负责接收键盘鼠标输入和负责屏幕输出的程序, 它的作用是屏蔽硬件差别, 提供一个设备无关的接口, 而与Server对应的就是client了. 在MS Windows中是没有这个概念的, X采用了这种结构后也许效率上受点影响, 但却带来了network-transparent的好处, 就是说X Server/Client互相独立, 可以在本地, 也可在网络上不同地方, 这就有了MS Win一直难以实现的远程GUI界面功能. 前面的文章已经介绍了, 现在Linux主要就有3种X Server, 下面针对其配置方法简单地说一下其特点和配置方法(我推荐用AccelerateX 4.1). 1. XFree86 假如你对你的显卡了解很清楚, 可以直接开始, 要不然最好先用SuperProbe测一下你的显卡的芯片, 把型号稍微记一下, 省得呆会儿麻烦. 假如你的显卡很新的话,最好用最新版本的(当前3.3.2

), 这个对新显卡支持得好一些. XFree86的好处是各种distribution一般都带, 还有好多不同OS的版本, 可以在安装时就装上配置 我想说一下X11和XFree86的关系, 现在的X Window System由The OpenGroup负责开发(X11R6.4), X11R6主要由X11的库和sample X11 clients组成, 而XFree86主要就是开发i386上的X Server(与硬件相关的). 但在它们distribute时都集成在一起了,如X11R6.4带了XFree86 3.3的Server, 而XFree86中也把X11R6的lib/clients集成在一起了 XFree86 Servers基本上就是分XF86_Mono(单色), XF86_VGA16(16色VGA), XF86_SVGA(256色或更多), XF86_Accel(加速卡, 如Mach*, S3*等)等几类. XFree86 Server的特点就是一个很大的ELF文件(2M左右), /usr/X11R6/bin下以XF86_打头的就是了, 然后一般是将X做个符号连接到你当前的X Server上. XFree86的配置有这几个(注意大小写): (1) 基于命令行的xf86config 这个东西是纯命令行的, 一般安装X时都会装上, 按其提示一步步走就可以了但由于没有Back功能, 选错了只好重来, 不太方便 (2) 图形界面的XF86Setup XF86Setup是个GUI的配置工具, 第一次开始时需要VGA16 Server(你总得有个default X Server才能有GUI吧?), 比xf86config稍微好用一些, 好歹是GUI的 (3) 基于dialog的Xconfigurator 假如你用RedHat的话, 还有一个文本方式下基于对话框的也不错, 就是Xconfigurator这个东西挺方便的, 安装RedHat时就是用它配的, 因此实际上你已经用过了 这些工具实际上的作用就是生成一个Server的配置文件XF86Config. 其实关键是要支持你的显卡硬件, 这个通了, XF86Config就好办了, 改改总能对的. 要注意这个文件存放的地方, RedHat是/etc/X11/XF86Config, Debian/Slackware是/etc/XF86Config. 它的结构也是很清楚的, 就是搞得有点太复杂了, 你也可以手工编辑它来修改. 如你想改Virtual Screen, 那就查Virtual(vi下/Virtual), 然后找到与你的Server对应的Virtual改了就行了, 还有分辨率什么的, 都可手动改 另外提一下X Server的几个hot key: Ctrl_Alt_+/- 可以动态改变分辨率, 但颜色位数好象没法改, 用X -bpp 15/16/24 等参数来指定X Server的颜色数若你用startx的话就这样 startx -- -bpp 16/24 (startx调用的是xinit, --后面的是传给Server的参数) Ctrl_Alt_BackSpace可以立即退出X. 2. Accelerated X 4.1 假如你的显卡特新(如AGP), 那XFree86也许就不行了, 用Accelerated X 4.1吧, 这是个很不错的commercial X Server, 但已经有crack了. 它的最大好处在于其网页上不断地会有最新显卡的updates, 而且都是可以免费download的! 我把一些download下来了,需要的网友可拿去试试. 它的安装就比XFree86简单多了, 解开tgz, 看一下README,运行安装程序, 输入serial就OK了, 十分方便. AX的程序装在/usr/X11R6/lib/X11/AccleratedX 下面, 它很模

块化的, 显卡, 显示器,键盘, 鼠标几部分, 不象XFree86那样搞成一个大的ELF文件. 另外它的两个可执行文件/usr/X11R6/bin/下面: Xaccel(Server) Xsetup(配置程序) 它的config文件放在/etc/Xaccel.ini中, 只有很短的几行, 比XF86Config清晰简单多了运行Xsetup时可加参数-text/graphics来分别进文本/GUI配置环境, 不加参数它检测是否有/etc/Xaccel.ini来进不同环境. 3. MetroLink X Server MetroX Server在Official的RedHat和InfoMagic的CD中是带的, 安装时可以选择安装它或XFree86 Server. 程序都装在/usr/X11R6/lib/X11/Metro下面, 也是模块化的.但这个Metro X Server感觉没有AX 4.1支持的显卡新, 但也有它的用处(如我的老S3 868在AX 4.1上只有256色, 而用MetroX就有16bit色了 *_*) 可执行文件 /usr/X11R6/bin/下面: Xmetro(Server) configX(配置程序)那个configX是个Motif界面的GUI配置程序, 会自动启动VGA方式的Xmetro Server来运行 [目录] XF86Config 配置Xwindow可以用工具来配置,也可以用手工配置。工具有图形界面的Xconfigure和文本界面的xf86config。手工配置为修改配置文件/etc/X11/XF86Config。在这个文件中,#表示注释,也就是这项不起作用。 这个文件的结构为: Section "Section Name" Subsection "Subsection Name" EndSubsection EndSection 下面简单介绍一下每个Section的配置方法。 Section "Files" 指定一些文件的路径,一般用的有: RgbPath 指定RGB数据库文件的路径.一般为/usr/X11R6/lib/X11/rgb FontPath 指定字体文件的路径及相应选项(常见的有是否允许放缩),同时也可以直接从字体服务器来获取字体,如RH现在的做法 Section "ServerFlags" 其中一般有三项: NoTrapSignals 跟调试有关,我们一般不用他。 DontZap 是否允许ctrl+alt+backspace键退出xwindows,加上#后表允许。 DontZoom 是否允许ctrl+alt+数字键盘上的+或-改变屏幕的分辨率。 Section "Keyboard" 定义键盘类型,一般不需要修改。 Section "Pointer" 定义鼠标类型。 Protocol 为鼠标类型,一般有Microsoft,PS/2,MouseSystem等,根据你自己的鼠标类型而定。Device为鼠标的设备,为/dev/mouse,这是一个符号 链接,一般指向/dev/ttyS0(即DOS的COM1),或者为/dev/ttyS1(COM2)等。 Emulate3Buttons 是否模拟3键鼠标,如果是的话,则两键鼠标可以用左右键同时按下的方法来模拟中键。两键鼠标可以用左右键同时按下的方法来模拟中键。 Emulate3Timeout timeout 是指在多长的间隔内按下两键则模拟中键。 Section "Monitor" 指你的显示器的类型。 Identifier 在后头Screen节中要用到,Section节中根据这个Identifier来识别显示器。 VendorName 显示器的制造商。 ModelName 显示器的型号。

HorizSync 水平扫描频率范围(单位:kHZ)。 VertRefresh 垂直扫描频率范围(单位:HZ)。 以上两项要根据你的显示器手册而定,设置不正确的话,有可能烧掉显示器。如果不知道的话,可以用从小到大试 验的方法找到正确的范围,但一定要小心,发现不正常,立刻用ctrl+alt+backspace退出。一般HorizSync的范围为31.5-31.75左右,VertRefresh为50-70左右,也有能达到100的。 Modeline 显示的模式 其中有很多行,即很多种模式,会自动选择一种最好的模式进入,因此,不必把其它不需要的模式,比如640x480删掉。 格式为:Modeline "类型名称" 类型描述其中类型描述分为4个部分,前3个部分是必须有的。第一个部分为1个数字,是你的显示器的时钟频率,第2个部分包括4个数字,第一个为水平的象素个数,其它3个数为水平扫描的起始和结束范围。第3个部分同第2个部分,只是确定的是垂直的内容。第4个部分为Interlace, DoubleScan,±HSync,±VSync,±CSync,Composite和HSkew。DoubleScan说明每行都要扫描两遍。这些一般都用的不多。 Section "Device" 显卡的类型。 Section "Screen" 对于每个X的服务器,如XF86_VGA16,XF86_SVGA,XF86_FBDev等,指定它们的配置。 在启动X时,运行的是哪个X服务器,由文件/etc/X11/X决定。这个文件是一个符号链接。如果你想用XF86_SVGA来启动你的Xwindow的话,就把这个文件指向/usr/X11R6/bin/XF86_SVGA。在这个Section中,Driver指的是这个Section是针对哪个服务器的。Device和Monitor为使用哪个显示器和显卡。里头一般有SubSetion "Display",设置显示时的一些参数。Depth指颜色深度,8,15,16等。Modes指使用哪种显示模式。"640x480", "800x600"等。ViewPort指进入后,真实屏幕在虚屏上的位置。 要了解更详细的关于XF86Config的配置信息,可以在提示符下输入如下命令: #man XF86Config [目录] 网卡 [目录] 多个网卡 当你有两块网卡时,在lilo.conf里加上 append = "ether=0,0,eth1" 当你插了三块, 则为: append = "ether=0,0,eth1 ether=0,0,eth2" 举例如下: boot = /dev/hda #compact # faster, but won't work on all systems. delay = 50 vga = normal # force sane state append= "ether=0,0,eth1" # ramdisk = 0 # paranoia setting # End LILO global section # Linux bootable partition config begins image = /zImage root = /dev/hda1 label = linux read-only # Non-UMSDOS filesystems should be mounted read-only for checking # Linux bootable partition config ends 这是不知道网卡irq和iobase时的做法(尤其是PCI网卡时,象3c590...)当知道网卡irq和iobase时,还是指定的好:例如:两块3c590: append="ether=9,0xfce0,eth0 ether=5,0xfcc0,eth1" 注:如果已经编译成模块的话,应该在/etc/rc.d/r

c.modules(在Redhat里是/etc/conf.modules)加上类似的一行: /sbin/modprobe ne io=io1,io2 先试试上面的方法吧. [目录] 网卡驱动 在第n次看到"如何在Linux下配置我的XXX网卡"这样的问题之后我觉得有必要把一些最基本的Linux网卡安装的知识总结一下, 省省大家的时间.以后有空再写声卡的和显卡的. 本文主要面对新新手,不对任何高难度问题进行讨论,包括双网卡,正常编译了driver也不能用的古怪网卡等.本文的主要目的是告诉 新新手,Linux下网卡是怎样被驱动的.本文不讨论安装Linux的问题,假设用户已经成功安装了Linux,就等驱动网卡. 第一步--不要再问"Linux下能够装XXX卡么?"这样的问题,Linux是个开放的系统,借助于网络上无数的高手,几乎所有的硬件都能找到 支持. 首先需要指出,Linux下对网卡的支持往往是只对芯片的,所以对某些不是很著名的网卡,往往需要知道它的芯片型号以配置Linux. 比如我的Accton 网卡,就不存在Linux的driver,但是因为它是NE2000兼容,所以把它当NE2000就可以在Linux下用了.所以当你有一块 网卡不能用,在找Linux的driver之前一定搞清楚这个网卡用的什么芯片,跟谁兼容,比如3c509,ne2000,etherexpress等等.这样的型号一般都在网卡上最大的一快芯片上印着,抄下来就是了. 最普遍使用也许是最好配的网卡也许就是Ne2000兼容卡了,我用它来作例子.注意实际上很多廉价卡都是NE2000兼容的. 对于NE2000卡,先要作的一件事情,是将网卡设定为Jumpless模式.很多现在的网卡缺省都是PnP模式,这在95下的确能减少很多麻烦, 但是Linux不支持,所以Linux下必须是Jumpless模式.一般所有网卡都有带的驱动盘和DOS下可执行的一个设定程序,用该程序将网卡设为 Jumpless.当然如果是老卡,本来就不是PnP,不用管这个.注意,这里主要是ISA的NE2000,关于PCI的NE2000,需要另外设置. 下来就是得弄清楚网卡的IO地址和IRQ.这是两个非常重要的网卡驱动参数.这个最简单就是还用那个网卡的设定程序,设定完 Jumpless之后肯定有地方可以软设定IO和IRQ.老一些的卡得跳线,道理一样.另外一个方法是如果网卡能在95或NT下工作,去95下的control panel里看这个卡的properities,查IO和IRQ. OK,到现在,你知道了你的卡是NE2000兼容,知道了它是在Jumpless模式下,知道了IO地址和IRQ,就可以安装了. Linux系统与95这些系统不同的一点是它是运行在"内核"上的,所谓内核,就是把系统最核心的部分孤立出来编程,将各种驱动程序,内存控制等部分编在一起.于95不同,Linux得内核是公开的,经常更新的,这样不需要更新整个系统,用户只需要把最新的内核原程序download下来编译,就可以得到一个支持更多硬件,更多文件系统,更安全的系统了

.所以需要指出,Linux的Driver很少有象95下那样是"安装"的.Linux下的driver 大多数都是以C程序形式发布,或者在内核里,或者需要用户自己修改内核代码.总之要让Driver运行,得重新配置编译内核.如何操作Linux内核是学习Linux中非常重要的一节.Linux的新手最好在这里多下点功夫搞清楚.有关核心的问题建议看Linux How To文档中的kernel How to. Anyway, Linux已经装好了,那么用的是什么内核呢?一般缺省的Linux内核是从安装盘上来的.那个内核一般包括大多数硬件的驱动 程序,比如Ne2000卡.所以未一定要重新编译内核,也许现有的内核就可以驱动.所以下一步就是把网卡插入计算机,看看Linux能否发现它.这可以从Linux的启动画面中看出来,如果你发现如下的一行: eth0:NE2000 card found at 0x300 using IRQ 05 那就说明Linux发现了NE2000卡,在IO 300, IRQ 05的地方. 如果Linux没有发现你的网卡,但是你确认你网卡得型号和参数,比如我的网卡是NE2000兼容,IO 0x300, IRQ 05.那么可以修改 Linux启动文件专门搜索这个设备.这个文件在/etc/rc.d/rc.modules里对于NE2000,是这样的: #/sbin/modprobe ne io=0x300 # NE2000 at 0x300 将最前面的#号去掉,再启动机器试试. 另外该文件里还可以发现对其它系列网卡比如3C系列的autoprobe. OK,到现在启动屏幕上也没有出现 eth0:NE2000 card found at 0x300 using IRQ 05 这样的好消息,那么你就得编译内核了. 编译内核之前一定要搞清楚的是网卡的芯片号.比如我有一块SMC的网卡,但是我是无法在Linux的内核配置菜单里找到SMC这样的字样的,Linux不是win95,有那么长一串厂商牌号等.我在这个SMC的卡上找到了digital 21140-AE的字眼,于是我知道这个卡用的是DEC 21140-AE芯片,于是按照这个寻找,就找到了驱动. 知道了芯片类型,或者兼容类型(比如ne2000)就可以开始编译内核了.具体的针对不同系统的内核编译推荐先看看有关内核编译的文章,这里不多作介绍. 进入/usr/src/linux 运行make menuconfig进入菜单配置内核.找到Network Device Support.选则EtherNet,再选则相应的芯片号.如果是ISA系线的NE2000,就选则other ISA cards,选则NE2000/NE1000 ISA support.如果是PCI的网卡,就选则PCI ethernet adapters.注意,PCI卡未必都能这样驱动,很多都不行,得另外找driver.比如Intel PCI EtherExpress Pro 100等. 有关其它选项希望能多自己摸索.多看看help和how-to. 配置完内核后,运行make dep;make;make zlilo就可以了.如果内核选项过多会出现过大的情况而无法安装.那么需要把一些不必要的驱动去掉. 一般这样之后再启动就可以发现网卡了.驱动了网卡,下一步就是设定TCP/IP这些东西.这就不是这里的内容了. 我的经验,Linux下NE2000兼容卡都比较好设.3c系列的卡

也都有支持.至于其它卡比如我的DEC 21140就麻烦很多.另外有些卡即使用某种芯片也未必就能用这个芯片的驱动,这种情况就是有驱动程序也不能用,就需要上网查了. 有关Intel Etherexpress系列卡的配置.Linux内核中有Etherexpress 16的支持,但没有其它卡的driver.在http: //cesdis.gsfc.nasa.gov/linux/drivers/eepro100.html里有关于EtherExpress 100B pro的讨论.在那里可以download到一个c源码的 驱动程序,编译进内核就可以了. 那么,如果以上都试过了,而你的网卡的确还是不能认,那么你需要上网查driver了.在网上查东西是一门看起来简单实际上极体现经验的学问.建议寻找 Linux网卡的driver从http://cesdis.gsfc.nasa.gov/linux/drivers/开始.在那里可以发现的针对网卡得驱动有: DEC DC21*4* Tulip chip based cards 3Com PCI Etherlink PCI and EISA cards Intel EtherExpress Pro100B, Pro100+ and Pro10+ PCI 3c515 ISA Fast Etherlink card SMC EtherPower II (EPIC/100 83c170 chip) driver. RealTek RTL8129/8139 driver. Lite-On lc82c168 PNIC driver (now merged with the Tulip driver). Macronix MX98713 and ASIX experimental drivers are now merged with the Tulip driiver). VIA Rhine (VT86C100A and 3043) driver (now released). Winbond w89c840 driver (beta test). Note: this driver was written without officiial documentation. TI ThunderLAN driver (external link -- Caldera/James Banks). Hewlett Packard 100VG driver updates (external link -- Yaroslav). Intel EtherExpress Pro/10 PCI driver (remote link). 3c509/3c529/3c579 ISA/MCA/EISA EtherLink III driver update. The driver now deteccts multiple cards when loaded as a module. AMD LANCE/PCnet driver update. The driver is now usable as a loadable module. Cirrus/Crystal/IBM CS8900 series driver (remote link). PCI NE2000 driver (local page) PCI NE2000 updates (remote link) Intel Etherexpress Pro 100, DEC 21X4* based board, 3Com EtherLink III PCI/EISA (3c590 3c592,3c595,3c597,3c900 3c905) Intel EtherExpress Pro/10 PCI9 With i82596 Chip) TI ThunderLan PCI NE2000 Packet Engines "Yellowfin" G-NIC SMC EtherPower II (EPIC/100 83c170 chip) RealTek RTL8129/8139 同时还有一个Ecom EtherLink III family 的setup程序,没有用过,也许不错. 如果这里你还是没有找到相应的网卡驱动,那么就去search了.我推荐的方法是上Internet Newsgroup查.因为你绝对不是第一个在Linux 下用这个网卡的人,你的问题绝对有人在网络上问过.而且有人回答过.那么问题就是如何找到他. 最简单的方法是打开netscape 到去.这里的关键是关键字的选则,比如我有个卡的芯片是DEC的21140,那么我考虑到21140已经是个长数字,于是输入21140 linux来搜索,这里Linux是必须的,否则看到上千篇关于21140 win95的驱动问题,是不是很烦?结果21140 linux很快就找到了有关文章. 如果这样也找不到驱动程

序,或者有了驱动程序不知道怎么用,用了出问题,再来版上问.记得把具体的网卡型号,芯片型号,你作过什么努力,什么问题等都写清楚,以便于他人帮助. Remember: God helps those who help themselves. [目录] hosts.equiv和.rhosts文件 发信人: cloudsky (晓舟·轩辕明月), 信区: Linux 标 题: hosts.equiv和.rhosts文件 发信站: 武汉白云黄鹤站 (Thu Feb 4 23:04:45 1999) , 转信 标题:hosts.equiv和.rhosts 文件 远程用户启动rlogin访问你的本地主机,此时做如下安全性检查: 1. 本地rlogind在本地/etc/passwd文件中寻找远程用户名,没有则拒绝访问 2. /etc/passwd中存在远程用户名,rlogind在/etc/hosts.equiv寻找远程主机名,找到则允许访问。 3. /etc/hosts.equiv无远程主机名,rlogind在$HOME/.rhosts寻找远程主机名,找到且该项后无用户名则允许访问,找到且该项后有用户名,若远程用户名位于其中,则允许访问。注意这里的$HOME是与远程用户同名的本机用户的主目录。 4. 若通过了/etc/passwd的检查,但没有通过/etc/hosts.equiv或者$HOME/.rhosts的检查,远程用户给出口令可以登录本机,但无法使用rcp、rsh等。反之则可以使用rcp或者rsh。 5. /etc/hosts.equiv中的+意味着任意主机,此时与/etc/hosts无关。netterm下rlogin除root外的所有用户可以成功,solaris下简单的rlogin hostname同netterm,但是rlogin -l username hostname不成功。这个事实说明netterm下rlogin的时候,指定的参数实际上是远程主机的当前用户名。还说明hosts.equiv文件不支持rlogin -l username hostname,不支持root的rlogin。 值得注意的是两个+号出现在$HOME/.rhosts中是非常危险的,意味着任意主机任意用户都可以不用口令登录到你的用户上来。.rhosts中的第一个+意味着所有主机,与/etc/hosts文件无关。.rhosts中的第二个+意味着所有用户,与/etc/passwd文件无关。若只有一个+, netterm中的rlogin可以成功,但来自sco root下的rlogin -l jhli hostname不成功,来自sco jhli的rlogin -l jhli hostname和rlogin hostname都成功。说明当.rhosts文件中只有主机名时,不支持rlogin -l username hostname,这点和/etc/hosts.equiv一样。若+ root,则netterm因无法实现rlogin -l username hostname而失败(只能实现rlogin hostname),来自sco root下的rlogin -l jhli hostname成功。+ +则都成功。注意,$HOME/.rhosts支持root的rlogin。 当这两个文件中没有使用+号代表所有主机时,与/etc/hosts文件有关。这两个文件中指定的hostname必须是/etc/hosts文件中出现的,而且必须是主机名,IP地址和别名无效。在/etc/hosts文件中别名位于第三列。做主机判断时与在远程主机上hostname命令所显示的东西无关,与远程主机上的/etc/hosts定义无关。如果出现与这里讲

述不符合的,是因为缓冲没有得到刷新的缘故,可以通过ping相关名字得到检验。此外,若没有使用+号,rlogin localhost、rlogin 127.0.0.1的效果和rlogin 134.*.*.*、rlogin zhuzhou的效果不一样,前者的检查不会通过。当hosts.equiv中定义为localhost时,效果则反过来。 6. rlogin -l username hostname和rlogin hostname的检查有点细微的差别,首先在/etc/passwd的检查中是以-l的参数为准的,没有-l参数才使用远程主机的当前用户名,所谓当前用户名是考虑了su出来的用户。其次,$HOME也是先以-l参数为准。第三,$HOME/.rhosts文件中的用户名不是针对-l参数来的,而是针对远程主机的当前用户名来的,但是对于这个远程主机的当前用户名,并不要求出现在/etc/passwd文件中。这第6条尤其重要,许多不成功的$ HOME/.rhost就是因为对第6条的不了解。 7. $HOME/.rhosts文件的权限问题,chmod 0都没有影响,不过当时是处理root用户。对于一般用户,一定要保证.rhosts文件对于$HOME的属主是可读的。一般来说,这个文件最好 chmod 400。对于root,如果不希望某个用户建立自己的.rhosts或者想替该用户建立.rhosts后不允许该用户自己修改,可以通过chown root .rhosts然后chmod 444 .rhosts实现。除了root,如果$HOME/.rhosts文件的属主和$HOME的属主不一致,检查将失败。 8. $HOME/.rhosts文件中每行只跟一个用户名,若想多个指定,只好分多行指定用户名。 9. sco unix下$HOME/.rhosts中若用+代表主机,与其他Unix系统不同,这里的+没有任何特殊的意义,所以检查将失败。但是用户名仍然可以用+代表。并且sco unix下若root的.rhosts文件go+w,则检查失败。 10. 建议man rhosts看看,各个系统有许多细微的差别。 [目录] 目录结构 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 # W

hatsThis? 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/deb

ug 下,警告信息在/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 */ }; 了解这个档案,进而去修改,可以做出许多有趣的事...... /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 这个目录一般都是空的.但当文件系统发生故障(如系统掉电)后,在机器启动的时候有 些文件!

相关推荐