<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-86  評論-33  文章-0  trackbacks-0
    本 文說明了 Linux 系統的配置文件,在多用戶、多任務環境中,配置文件控制用戶權限、系統應用程序、守護進程、服務和其它管理任務。這些任務包括管理用戶帳號、分配磁盤配 額、管理電子郵件和新聞組,以及配置內核參數。本文還根據配置文件的使用和其所影響的服務的情況對目前 Red Hat Linux 系統中的配置文件進行了分類。

    介紹

    每個 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 目錄中。配置文件可以大致分為下面幾類:




    訪問文件

    /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/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 中將它們注釋掉了,這樣即使這些服務在運行也將不可用。 格式為:
    /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.in.ibm.com:80/
    ftp_proxy:http://proxy3.in.ibm.com:80/
    #http_proxy:http://penguin.in.ibm.com:8080
    #ftp_proxy:http://penguin.in.ibm.com: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.in.ibm.com, demiurge
    posted on 2006-12-07 13:21 Derek.Guo 閱讀(449) 評論(0)  編輯  收藏 所屬分類: Linux/Unix
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 亚洲综合av一区二区三区不卡| 4480yy私人影院亚洲| 亚洲а∨精品天堂在线| 免费观看AV片在线播放| 亚洲黄网在线观看| 美女被免费喷白浆视频| 亚洲午夜电影在线观看| 老司机在线免费视频| 亚洲最大av资源站无码av网址| 亚洲第一成年免费网站| 亚洲精品又粗又大又爽A片| 免费看的黄色大片| 国产精品亚洲天堂| 亚洲日本韩国在线| 免费无码又爽又刺激一高潮| 亚洲s色大片在线观看| 8x8×在线永久免费视频| 亚洲一级毛片免观看| 日韩一级视频免费观看| 曰批免费视频播放在线看片二| 国产偷窥女洗浴在线观看亚洲| 免费无码一区二区三区蜜桃| 久久亚洲AV成人出白浆无码国产| 亚洲成人免费在线观看| 亚洲专区中文字幕| 全亚洲最新黄色特级网站| 国产一级一毛免费黄片| 亚洲高清中文字幕| 在线免费视频一区二区| 一级成人毛片免费观看| 久久青青草原亚洲AV无码麻豆| 2020久久精品国产免费| 日本系列1页亚洲系列| 亚洲人成人无码网www电影首页 | 成人黄色免费网站| 国产精品久久亚洲一区二区| 亚洲色婷婷六月亚洲婷婷6月| 国产成人免费在线| 又黄又大的激情视频在线观看免费视频社区在线 | 一区二区视频在线免费观看| 久久精品蜜芽亚洲国产AV|