1:網卡檔案/etc/sysconfig/network-scripts/ifcfg-eth0
[root@Gin scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 ## 實體裝置名,eth0為第一塊網卡;eth1為第二塊網卡
HWADDR=00:0C:29:84:0C:21 ## 網卡的MAC位址,48位
TYPE=Ethernet ## 以太網
UUID=09ae6890-2925-4ca0-9cbc-e937593624f8 ## 唯一的一個使用者辨別,相當于身份證号碼!如檢視磁盤裝置的UUID使用blkid指令
ONBOOT=yes ## 控制網卡是否開機啟動
NM_CONTROLLED=yes ##是否通過networkmanager管理網卡裝置
BOOTPROTO=dhcp ## proto取下列值之一:none,引導時不使用協定;static,靜态配置設定位址;bootp,使用BOOTP協定;dhcp,使用DHCP協定
IIPADDR=192.168.17.128 ## IP位址
NETMASK=255.255.255.0 ## 子網路遮罩,劃分網絡位和主機位
DNS2=202.106.0.20 ## DNS是把baidu.com變成了baidu伺服器IP。DNS就是域名和IP的解析工具
DNS1=8.8.8.8
GATEWAY=192.168.0.1 ## 網關位址,路由器的位址
USERCTL=no
PEERDNS=yes
IPV6INIT=no
2:/etc/fstab
fstab - static information about the filesystems
作用:設定檔案系統挂載資訊的檔案,使得開機能夠自動挂載磁盤分區
[root@Gin scripts]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Jan 24 02:46:13 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=91a2efd1-8bf1-42d2-a387-e22e4b665a36 / ext4 defaults 1 1
UUID=3f124651-9d7a-42b4-8cfa-11053a5a8ffc /boot ext4 defaults 1 2
UUID=8cb814f4-f2f4-4bb0-a127-c97092845fcf swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
字段定義
/etc/fstab
檔案包含了如下字段,通過空格或 Tab 分隔:
<file system> <dir> <type> <options> <dump> <pass>
#第一列:要被挂載的磁盤裝置
#第二列:前面目錄的挂載點(前面的目錄挂載到哪個目錄下)
#第三列:挂載的檔案系統類型!支援許多種不同的檔案系統:
ext2
,
ext3
ext4
reiserfs
xfs
jfs
smbfs
iso9660
vfat
ntfs
swap
及
auto
。 設定成
auto
類型,mount 指令會猜測使用的檔案系統類型,對 CDROM 和 DVD 等移動裝置是非常有用的。
#第四列:挂載的選項!注意有些mount 參數是特定檔案系統才有的。一些比較常用的參數有
-
- 在啟動時或鍵入了auto
指令時自動挂載。mount -a
-
- 隻在你的指令下被挂載。noauto
-
- 允許執行此分區的二進制檔案。exec
-
- 不允許執行此檔案系統上的二進制檔案。noexec
-
- 以隻讀模式挂載檔案系統。ro
-
- 以讀寫模式挂載檔案系統。rw
-
- 允許任意使用者挂載此檔案系統,若無顯示定義,隐含啟用user
noexec
nosuid
參數。nodev
-
- 允許所有 users 組中的使用者挂載檔案系統.users
-
- 隻能被 root 挂載。nouser
-
- 允許裝置所有者挂載.owner
-
- I/O 同步進行。sync
-
- I/O 異步進行。async
-
- 解析檔案系統上的塊特殊裝置。dev
-
- 不解析檔案系統上的塊特殊裝置。nodev
-
- 允許 suid 操作和設定 sgid 位。這一參數通常用于一些特殊任務,使一般使用者運作程式時臨時提升權限。suid
-
- 禁止 suid 操作和設定 sgid 位。nosuid
-
- 不更新檔案系統上 inode 通路記錄,可以提升性能(參見 atime 參數)。noatime
-
- 不更新檔案系統上的目錄 inode 通路記錄,可以提升性能(參見 atime 參數)。nodiratime
-
- 實時更新 inode access 記錄。隻有在記錄中的通路時間早于目前通路才會被更新。(與 noatime 相似,但不會打斷如 mutt 或其它程式探測檔案在上次通路後是否被修改的程序。),可以提升性能(參見 atime 參數)。relatime
-
-flush
的選項,更頻繁的重新整理資料,複制對話框或進度條在全部資料都寫入後才消失。vfat
-
- 使用檔案系統的預設挂載參數,例如defaults
的預設參數為:ext4
rw
suid
dev
exec
auto
nouser
.async
#第五列:是否需要備份磁盤,1表示需要備份,0表示不需要備份
#第六列:開機是否自檢
檔案系統辨別
在
/etc/fstab
配置檔案中你可以以三種不同的方法表示檔案系統:核心名稱、UUID 或者 label。使用 UUID 或是 label 的好處在于它們與磁盤順序無關。如果你在 BIOS 中改變了你的儲存設備順序,或是重新拔插了儲存設備,或是因為一些 BIOS 可能會随機地改變儲存設備的順序,那麼用 UUID 或是 label 來表示将更有效。
要顯示分區的基本資訊請運作:
[root@Gin scripts]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0 iso9660 CentOS_6.6_Final
sda
├─sda1 ext4 3f124651-9d7a-42b4-8cfa-11053a5a8ffc /boot
├─sda2 swap 8cb814f4-f2f4-4bb0-a127-c97092845fcf [SWAP]
└─sda3 ext4 91a2efd1-8bf1-42d2-a387-e22e4b665a36 /
UUID
所有分區和裝置都有唯一的 UUID。它們由檔案系統生成工具 (
mkfs.*
) 在建立檔案系統時生成。
lsblk -f
指令将顯示所有裝置的 UUID 值。
/etc/fstab
中使用
UUID=
字首:
手動挂載測試
1:建立一個虛拟的塊裝置
[root@Gin scripts]# dd if=/dev/zero of=/dev/sdb1 bs=4096 count=10
2:格式化
[root@Gin scripts]# mkfs.ext4 /dev/sdb1
3:挂載
[root@Gin scripts]# mount -t ext4 -o loop,noatime,noexec /dev/sdb1 /mnt
4:檢視挂載設定
[root@Gin scripts]# df -hT
5:寫入/etc/fstab配置檔案,開機自動挂載!也可以寫入到/etc/rc.local檔案
[root@Gin scripts]# cat /etc/fstab
UUID=435a2a45-0f41-49b0-b3f2-5d4a00615339 / ext4 defaults 1 1
UUID=851d3618-fb61-40cb-ba6d-e0879a7d06a3 /boot ext4 defaults 1 2
UUID=91f17110-1462-4327-82ce-474f728f2e62 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb1 /mnt ext4 loop,noatime,noexec 0 0
#上面的/dev/sdb1需要挂載的目錄,可以使用UUID來替代,檢視UUID指令如下:blkid 或 ls -l /dev/disk/by-uuid
fstab出問題的修複方案:
1)開機提示,輸入密碼 修改
2)救援模式,rescue
修複/etc/fstab隻讀狀态:mount -o rw,remount /
3:/etc/passwd
[root@Gin scripts]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
............................................
從上面的例子我們可以看到,/etc/passwd中一行記錄對應着一個使用者,每行記錄又被冒号(:)分隔為7個字段,其格式和具體含義如下:
root | :x | :0 | :root | :/bin/bash | ||
賬号名稱 | 賬号密碼 | 賬号UID | 賬号GID | 使用者說明 | 使用者家目錄 | shell解釋器 |
賬号名稱(login_name):是代表使用者賬号的字元串。通常長度不超過8個字元,并且由大小寫字母和/或數字組成。登入名中不能有冒号(:),因為冒号在這裡是分隔符。為了相容起見,登入名中最好不要包含點字元(.),并且不使用連字元(-)和加号(+)打頭。
賬号密碼(passwd):一些系統中,存放着加密後的使用者密碼字。雖然這個字段存放的隻是使用者密碼的加密串,不是明文,但是由于/etc/passwd檔案對所有使用者都可讀,是以這仍是一個安全隐患。是以,現在許多Linux系統(如SVR4)都使用了shadow技術,把真正的加密後的使用者密碼字存放到/etc/shadow檔案中,而在/etc/passwd檔案的密碼字段中隻存放一個特殊的字元,例如“x”或者“*”。
賬号UID(UID):是一個整數,系統内部用它來辨別使用者。一般情況下它與使用者名是一一對應的。如果幾個使用者名對應的使用者辨別号是一樣的,系統内部将把它們視為同一個使用者,但是它們可以有不同的密碼、不同的主目錄以及不同的登入Shell等。取值範圍是0-65535。0是超級使用者root的辨別号,1-99由系統保留,作為管理賬号,普通使用者的辨別号從100開始。在Linux系統中,這個界限是500。
賬号GID(GID):字段記錄的是使用者所屬的使用者組。它對應着/etc/group檔案中的一條記錄。
使用者說明(users):字段記錄着使用者的一些個人情況,例如使用者的真實姓名、電話、位址等,這個字段并沒有什麼實際的用途。在不同的Linux系統中,這個字段的格式并沒有統一。在許多Linux系統中,這個字段存放的是一段任意的注釋性描述文字,用做finger指令的輸出。
使用者家目錄(home_directory):也就是使用者的起始工作目錄,它是使用者在登入到系統之後所處的目錄。在大多數系統中,各使用者的主目錄都被組織在同一個特定的目錄下,而使用者主目錄的名稱就是該使用者的登入名。各使用者對自己的主目錄有讀、寫、執行(搜尋)權限,其他使用者對此目錄的通路權限則根據具體情況設定。
Shell解釋器(Shell):使用者登入後,要啟動一個程序,負責将使用者的操作傳給核心,這個程序是使用者登入到系統後運作的指令解釋器或某個特定的程式,即Shell。Shell是使用者與Linux系統之間的接口。Linux的Shell有許多種,每種都有不同的特點。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系統管理者可以根據系統情況和使用者習慣為使用者指定某個Shell。如果不指定Shell,那麼系統使用sh為預設的登入Shell,即這個字段的值為/bin/sh。
使用者的登入Shell可以指定為某個特定的程式(此程式不是一個指令解釋器)。利用這一特點,我們可以限制使用者隻能運作指定的應用程式,在該應用程式運作結束後,使用者就自動退出了系統。有些Linux系統要求隻有那些在系統中登記了的程式才能出現在這個字段中。
4:/etc/shadow
檔案屬性:
[root@Gin scripts]# ll /etc/shadow
---------- 1 root root 964 Jan 26 14:30 /etc/shadow
檔案内容:
[root@Gin scripts]# ll /etc/shadow
poe:$6$c3hp3bcj$f2i1namN9feDDhgda3mdtVEb5PyWFyw2MCeshWHajq7OJ0.0Bo0Lh0FY2W3BaVOztszOip/D4h5LF9pRLJfe11:12784:0:99999:7:::
以‘:’作為分隔符号,如果數一數,會發現共有九個位啊, 這九個位的用途是這樣的:
1. 帳号名稱:由于密碼也需要與帳号對應啊~是以, 這個檔案的第一欄就是帳号,必須要與 /etc/passwd 相同才行!
2. 密碼:這個才是真正的密碼,而且是經過編碼過的密碼! 你隻會看到有一些特殊符号的字母就是了!需要特别留意的是, 雖然這些加密過的密碼很難被解出來,但是‘很難’不等于‘不會’,是以, 這個檔案隻有 root 才可以讀寫!你得随時注意,不要不小心更動了這個檔案的屬性呢!另外, 如果是在密碼欄的第一個字元為‘ * ’或者是‘ ! ’,表示這個帳号并不會被用來登入的意思。 是以萬一哪一天你的某個使用者不乖時,可以先在這個檔案中,将他的密碼欄位的最前面多加一個 * !他就無法使用該帳号!
3. 最近更動密碼的日期:這個欄位記錄了‘更動密碼的那一天’的日期, 不過,很奇怪呀!在我的例子中怎麼會是 12784呢?呵呵,這個是因為計算 Linux 日期的時間是以 1970 年 1 月 1 日作為 1 ,而 1971 年 1 月 1 日則為 366 ! 是以這個日期是累加的!得注意一下這個資料呦!那麼最近的 2005 年 1 月 1 日就是 12784 啦,瞭解了嗎?
4. 密碼不可被更動的天數: 第四個欄位記錄了這個帳号的密碼需要經過幾天才可以被變更!如果是 0 的話, 表示密碼随時可以更動的意思。這樣的限制是為了怕密碼被某些人一改再改而設計的!如果設定為 20 天的話,那麼當你設定了密碼之後, 20 天之内都無法改變這個密碼!
5. 密碼需要重新變更的天數: 由于害怕密碼被某些‘有心人士’竊取而危害到整個系統的安全,是以有了這個欄位的設計。 你必須要在這個時間之内重新設定你的密碼,否則這個帳号将會暫時失效。 而如果像上面的 99999 的話,那就表示,密碼不需要重新輸入! 不過,如果是為了安全性,最好可以設定一段時間之後,嚴格要求使用者變更密碼!
6. 密碼需要變更期限前的警告期限:當帳号的密碼失效期限快要到的時候, 就是上面那個‘必須變更密碼’的那個時間時, 系統會依據這個欄位的設定,發出‘警告’言論給這個帳号,提醒他‘再過 n 天你的密碼就要失效了,請盡快重新設定你的密碼!如上面的例子,則是密碼到期之前的 7 天之内,系統會警告該使用者。
7. 密碼過期的受限時間:如果使用者過了警告期限沒有重新輸入密碼, 使得密碼失效了,也就是說,你在‘必須變更密碼的期限前,并沒有變更你的密碼!’ 那麼該組密碼就稱為‘失效的密碼’~怎麼辦?沒關系,還有這個欄位的天數設計啊~ 意思就是說,當密碼失效後,你還可以用這個密碼在 n 天内進行登入的意思。 而如果在這個天數後還是沒有變更密碼,那麼您的帳号就失效了!無法登入!
8. 帳号失效日期:這個日期跟第三個欄位一樣,都是使用 1970 年以來的總日數設定。這個欄位表示: 這個帳号在此欄位規定的日期之後,将無法再使用。 這個欄位會被使用通常應該是在‘收費服務’的系統中, 你可以規定一個日期讓該帳号不能再使用!
9. 保留:最後一個欄位是保留的
舉例:假如系統有一個dmtsai 使用者,它的/etc/passwd檔案資訊如下所示
dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:
這表示什麼呢?要注意的是, 13025 是 2005/08/30 ,是以, dmtsai 這個使用者他的密碼相關意義是:
* 最近一次更動密碼的日期是 2005/08/30 (13025);
* 能夠修改密碼的時間是 5 天以後,也就是 2005/09/04 以前 dmtsai 不能修改自己的密碼; 如果使用者還是嘗試要更動自己的密碼,系統就會出現這樣的訊息:
You must wait longer to change your password
passwd: Authentication token manipulation error
* 使用者必須要在 2005/09/04 到 2005/10/29 之間的 60 天限制内去修改自己的密碼,若 2005/10/29 之後還是沒有變更密碼時,該帳号就會宣告失效;
* 如果使用者一直沒有更改密碼,那麼在 2005/10/29 之前的 7 天内,系統會警告 dmtsai 應該修改密碼的相關資訊;例如當 dmtsai 登入時,系統會主動提示如下的資訊:
Warning: your password will expire in 5 days
* 如果該帳号一直到 2005/10/29 都沒有更改密碼,由于還有兩天的恕限時間,是以, dmtsai 還是可以在 2005/10/31 以前繼續登入;
* 如果使用者在 2005/10/29 以前變更過密碼,那麼那個 13025 的日期就會跟著改變,是以, 所有的限制日期也會跟著相對變動
* 無論使用者如何動作,到了 13125 ,大約是 2005/12/8 左右,該帳号就失效了~
生産場景應用案例
root密碼忘記或者被更動了?怎麼辦?
有的時候會發生這樣的情況,就是說,你的 root 密碼忘記了!要怎麼辦?重新安裝嗎?另外, 有的時候是被入侵了, root 的密碼被更動過,該如何是好?
這個時候就必須要使用到 /etc/shadow 這個檔案,我們剛剛知道密碼是存在這個檔案中的, 是以隻要你能夠以各種可行的方法開機進入 Linux ,例如單人維護模式,或者是以 live CD (KNOPPIX) 來進入 Linux 系統。之後,将硬碟順利挂載,然後進入 /etc/shadow 這個檔案中,将 root 的密碼這一欄全部清空!然後再登入 Linux 一次,這個時候 root 将不需要密碼 (有的時候需要輸入空白字元) 就可以登入了!這個時候請趕快以 passwd 設定 root 密碼即可。