文件系統
內核提供了一個接口,用來顯示一些它的數據結構,這些數據結構對於決定諸如使用的中斷、初始化的設備和內存統計信息之類的系統參數可能很有用。這個接口是作為一個獨立但虛擬的文件系統提供的,稱為 /proc 文件系統。很多系統實用程序都使用這個文件系統中存在的值來顯示系統統計信息。例如,/proc/modules 文件列舉系統中當前加載的模塊。lsmod 命令讀取此信息,然后將其以人們可以看懂的格式顯示出來。下面表格中指定的 mtab 文件以同樣的方式讀取包含當前安裝的文件系統的 /proc/mount 文件。
/etc/mtab |
這將隨着 /proc/mount 文件的改變而不斷改變。換句話說,文件系統被安裝和卸載時,改變會立即反映到此文件中。 1.文件格式 /etc/mtab的格式和/etc/fstab是一樣的.但這個文件不能算是用戶配置文件,他是由系統維護的.和/etc/fstab的區別在於, fstab是系統啟動時需掛載的文件系統列表,而mtab是系統當前已掛載的文件系統列表,它由系統維護,在用戶執行了mount或者umount命令后自動更新.用戶不應該對此文件作任何修改. 2.安全性 /etc/mtab的默認權限仍然是644 3.相關命令 mount umount smbmount |
/etc/fstab |
1.文件格式 /etc/fstab記載了系統啟動時自動掛載的文件系統。一行為一條記錄。每條記錄有6個字段,字段間用空格或者tab鍵分開。這六個字段分別是:設備名稱,掛載點(除交換分區為swap外,都必須是一個存在的目錄名),文件系統類型,mount選項,是否需要dump(1表示需要,0表示不需要),在 reboot期間fsck檢查的順序(激活文件系統設定為1,其余文件系統設定為2,若設定為0表示該文件系統不需要被檢查)。 在linux和windows共存時,也許想開機自動掛載windows分區,那么就可以在這個文件里加上相應的記錄。 某些時候對硬盤分區作了調整以后,這里也需要做一些相應的修改。否則會出現一些問題。 可用的mount選項: async 對該文件系統的所有I/O操作都異步執行 ro 該文件系統是只讀的 rw 該文件系統是可讀可寫的 atime 更新每次存取inode的存取時間 auto 可以使用 -a 選項mount defaults 使用預設的選項:rw,suid,dev,exec,auto,nouser,async dev 解釋在文件系統上的字符或區塊設備 exec 允許執行二進制文件 noatime 不要在這個文件系統上更新存取時間 noauto 這個文件系統不能使用 -a 選項來mount nodev 不要解釋在文件系統上的字符或區塊設備 noexec 不允許在mounted文件系統上執行任何的二進制文件。這個選項對於具有包含非它自己的二進制結構的文件系統服務器而言非常有用 nosuid 不允許setuid和setgid位發生作用。(這似乎很安全,但是在安裝suidperl后,同樣不安全)。 nouser 限制一般非root用戶mount文件系統 remount 嘗試重新mount已經mounted的文件系統。這通常是用來改變文件系統的mount標志,特別是讓只讀的文件系統變成可擦寫的 suid 允許setuid和setgid位發生作用 sync 文件系統的所有I/O同步執行 user 允許一般非root用戶mount文件系統。這個選項會應用noexec,nosuid,nodev這三個選項(除非在命令行上有指定覆蓋這些設定的選項)。 3.安全性 /etc/fstab的默認權限是644,所有者和所有組均為root 2.相關命令 mount df 列舉計算機當前“可以安裝”的文件系統。這非常重要,因為計算機引導時將運行 mount -a 命令,該命令負責安裝 fstab 的倒數第二列中帶有“1”標記的每一個文件系統。 |
/etc/mtools.conf |
DOS 類型的文件系統上所有操作(創建目錄、復制、格式化等等)的配置。 |
系統管理
/etc/group |
1.文件格式 /etc/group存儲了系統中所有用戶的基本信息.它的格式和/etc/passwd的格式基本類似,這里就說簡單一點, /etc/group也是由一條條的記錄組成.每條記錄分4個字段.分別是組名,組口令,組ID和該組包含用戶列表.其中組口令不再使用(現在只是保留為 x).最后一個域是一個用逗號分隔的用戶名列表,這個組的成員就是在這里列出的所有用戶. 2.安全性 /etc/group的默認權限是644,所有者和所有組均為root.注意經常檢察. 3.相關命令 groupadd groupdel groupmod groups 包含有效的組名稱和指定組中包括的用戶。單一用戶如果執行多個任務,可以存在於多個組中。例如,如果一個“用戶”是“project 1”工程組的成員,同時也是管理員,那么在 group 文件中他的條目看起來就會是這樣的: user: * : group-id : project1 |
/etc/nologin |
這是一個普通的文本文件.你可以在里面寫上你喜歡的任何東西./etc/nologin的作用在於,如果它存在,那么系統將拒絕任何非root用戶的登錄請求,並對其它登錄用戶顯示此文件的內容 此文件常由系統在停機前自動生成.有時系統管理員也會手工生成它,用以禁止其它用戶登錄,方便進行一些管理工作. |
etc/passwd |
1.文件格式 /etc/passwd存儲了系統中所有用戶的基本信息.可以說這是系統中最重要的一個配置文件.對它作任何修改一定要小心謹慎.同時要經常檢察這個文件,包括它的內容和權限設置. 使用vi編輯程序打開此文件,可以看到這個文件由許多行記錄組成.每一行記錄對應着一個用戶.我們以第一行為例.第一行一般是root用戶的記錄,盡管這不是必需的.實際上用戶記錄出現的順序並沒有任何的意義. 在我的系統中,/etc/passwd的第一行看起來是這樣的: root:x:0:0:root:/root:/bin/bash 每一條記錄都由7個字段組成,每個字段之間用冒號隔開.第一個字段是用戶名,示例中是root.第二個字段是用戶口令,示例中是一個字符x,但這並不表示 root的口令是單個字符x,而是說用戶口令被加密了,並且加密口令也沒有放在本文件中,而是放到了/etc/shadow(參考 /etc/shadow).假如刪除這個x,那么root的口令就清空了.第三個字段是用戶的用戶ID,即uid.第四個字段是用戶的組ID,即gid. 這里要注意,系統分辨兩個用戶是看他們的uid是否相同而不是看他們的用戶名是否相同.用戶名不同但uid相同的兩個用戶實際上是同一個用戶.對組來說也有類似的規則.所以這兩個字段大家一定要注意.第五個字段是用戶全稱,沒有什么實際用途,相當於注釋,這里是root.第六個字段是用戶的主目錄 (home),即登錄系統后默認所處目錄,這里是/root.最后一個字段是用戶的登錄shell,可以是系統擁有的任何一個shell的完整路徑,這里是/bin/bash.注意,這個字段可以有一個特殊的值,即/sbin/nologin.如果把一個用戶的登錄shell設置為 /sbin/nologin的話,系統將禁止此用戶的本地登錄. 請參閱“man passwd”。它包含一些用戶帳號信息,包括密碼(如果未被 shadow 程序加密過)。 2.安全性 /etc/passwd的默認權限為644,所有者和所有組均為root.切記,在任何情況下都不要更改它. 3.相關命令 passwd useradd userdel adduser usermod users |
/etc/rpmrc |
rpm 命令配置。所有的 rpm 命令行選項都可以在這個文件中一起設置,這樣,當任何 rpm 命令在該系統中運行時,所有的選項都會全局適用。 |
/etc/securetty |
包含設備名稱,由 tty 行組成(每行一個名稱,不包括前面的 /dev/),root 用戶在這里被允許登錄。 1.文件格式 這是一個設備文件的列表.文件名取相對於/dev的相對路徑.如,/dev/tty1記為tty1 root只有從這個列表中列出的設備上才可以登錄系統. 例如: 代碼: $cat /etc/securretty tty1 tty2 tty3 這里root被限定只能從/dev/tty1, /dev/tty2, /dev/tty3這三個設備上登錄系統 如果/etc/securretty不存在的話,那么root將可以從任何設備登錄系統. 2.安全性 /etc/securetty的默認權限是600,所有者和所有組都是root |
/etc/shadow |
包含加密后的用戶帳號密碼信息,還可以包括密碼時效信息。包括的字段有:
1.文件格式 /etc/shadow文件保存的是用戶名,密碼,用戶賬號設置相關信息。 例: root:$1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1:12264:3:4:5:6:12267: 第一段: root----- 用戶注冊名 第二段: $1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1 ----加密口令 第三段: 12264-----上次更動密碼的日期,以1970年1月1日為1,1天加1 第四段: 3---------密碼將被允許修改之前的天數(0 表示“可在任何時間修改”) 第五段: 4---------系統將強制用戶修改為新密碼之前的天數(1 表示“永遠都不能修改”) 第六段: 5---------密碼過期之前,用戶將被警告過期的天數(-1 表示“沒有警告”) 第七段: 6---------密碼過期之后,系統自動禁用帳戶的天數(-1 表示“永遠不會禁用”) 第八段: 12267-----該帳戶被禁用的天數(-1 表示“該帳戶被啟用”).以1970年1月1日為1,1月2日為2 第九段 ------ 保留供將來使用 注:第2段中為*表示帳號不可登錄,如密碼前為 !! 或只有 !! 表示帳號被鎖 2.安全性 /etc/shadow的默認所有者和所有組均為root. 建議運行# chattr +i /etc/shadow來保護文件使其不被意外地刪除或重寫 3.相關命令 passwd useradd userdel usermod |
/ect/gshadow |
1.文件格式 /ect/gshadow文件保存的是用戶和組群設置的信息 例: root:!!::root,wa1 第一段:組名 第四段:該組包含用戶列表 2.安全性 /etc/gshadow的默認所有者和所有組均為root. 建議運行# chattr +i /etc/shadow來保護文件使其不被意外地刪除或重寫 3.相關命令 groupadd groupdel groupmod groups |
/etc/sysctl.conf |
1.文件格式 /etc/sysctl.conf是sysctl程序的配置文件.sysctl可以在系統運行時更改內核參數./etc/sysctl.conf中的配置將在系統起動時執行. 以 # 和 ; 開始的行是注釋,將和空白行一起被忽略. 配置項的格式為: token = value token是一個鍵名,value是對應的鍵值.token和value前后的空格將被忽略 token不能是隨意的字符串.他和/proc/sys下的文件有一一對應的關系: 假設foo是/proc/sys下的一個文件.刪除foo的絕對路徑前的 "/proc/sys" 這一部分,然后把剩下部分中的 "/" 替換成 ".",得到的字符串就是foo所對應的鍵名.例如: /proc/sys/net/ipv4/ip_forward對應的鍵名為net.ipv4.ip_forward 應用舉例: Redhat Linux 9默認是禁止ip轉發的,而我們在做ip偽裝時需要起用ip轉發.通常的做法是在iptables的規則之前加上一句: echo 1>/proc/sys/net/ipv4/ip_forward 實際上我們也可以在/etc/sysctl.conf中寫上: net.ipv4.ip_forward = 1 這樣系統就默認起用ip轉發了.當然他不會立即生效.因為/etc/sysctl.conf是在系統起動時讀入的.想要立即生效的話,請使用sysctl命令. 2.安全性 /etc/sysctl.conf的默認權限是644,所有者和所有組均為root 3.See also sysctl(8) sysctl.conf(5) proc(5) procinfo(8)
|
/etc/shells |
包含系統可用的可能的“shell”的列表。 |
/etc/motd |
每日消息;在管理員希望向 Linux 服務器的所有用戶傳達某個消息時使用。 |