Linux系統(tǒng)管理
Linux屬于多用戶多任務(wù)的操作系統(tǒng),可讓不同的用戶從本地登陸。在網(wǎng)絡(luò)上則允許用戶利用telnet、ssh等方式從遠(yuǎn)程登陸。無(wú)論是從本機(jī)或遠(yuǎn)程登陸,用戶都必須在該臺(tái)主機(jī)上擁有賬號(hào)。 cassia:x:502:502::/home/cassia:/bin/bash
本章會(huì)介紹管理員與一般用戶帳號(hào)以及用戶組對(duì)系統(tǒng)的管理和操作。
第一部分 賬號(hào)管理
一、系統(tǒng)管理員賬號(hào)與一般用戶賬號(hào)的差別
Linux中的賬號(hào)主要分成兩類:系統(tǒng)管理員賬號(hào)與一般用戶賬號(hào)。系統(tǒng)管理員賬號(hào)名稱為root,具有對(duì)系統(tǒng)完全的控制權(quán),可以對(duì)系統(tǒng)做任何設(shè)置及修改,當(dāng)然也可以決定哪些用戶可以進(jìn)入系統(tǒng),并設(shè)置所有賬號(hào)的權(quán)限。這兩類賬號(hào)的主要差別如下表:
二、創(chuàng)建用戶賬號(hào)
創(chuàng)建用戶賬號(hào)有許多種方法,可以一次創(chuàng)建一個(gè)賬號(hào),也可以一次建多個(gè)賬號(hào)。
使用useradd命令創(chuàng)建賬號(hào)
在Red HatLinux中執(zhí)行useradd命令,可創(chuàng)建新的用戶帳號(hào):
[root@free root]# useradd benny ←創(chuàng)建benny賬號(hào)
[root@free root]# passwd benny ←設(shè)置口令
Changing password for user benny
New password: ←輸入口令
Retype new password ←再輸入一次
Passwd:all authentication ←設(shè)置成功
在一個(gè)系統(tǒng)中,用戶的賬號(hào)名稱必須是唯一的,假若要?jiǎng)?chuàng)建的賬號(hào)先被他人占用,這會(huì)出現(xiàn)用戶已存在的信息:
[root@free root]# useradd benny
Useradd: user benny exists
[root@free root]# useradd lambert
Useradd: user lambert exists
要解決用戶賬號(hào)的管理問(wèn)題,需要依靠系統(tǒng)管理員本身。一般說(shuō)來(lái)有3種方法:
管理員自己根據(jù)用戶的賬號(hào)來(lái)創(chuàng)建一份數(shù)據(jù)庫(kù),以后在新增用戶之前,都可以利用數(shù)據(jù)庫(kù)先查詢賬號(hào)存在與否。
檢查/etc目錄下的passwd文件,該文件內(nèi)含本系統(tǒng)所有用戶的賬號(hào),管理員可確認(rèn)賬號(hào)是否已經(jīng)存在。
執(zhí)行finger“賬號(hào)”命令,查看該賬號(hào)是否存在。
三、管理員賬號(hào)
安裝完Linux之后,系統(tǒng)默認(rèn)即創(chuàng)建了root賬號(hào)。此賬號(hào)為系統(tǒng)管理員,對(duì)系統(tǒng)擁有完全的控制權(quán),可對(duì)系統(tǒng)做任何設(shè)置和修改,所以維護(hù)root賬號(hào)的安全格外重要。
1.設(shè)置root賬號(hào)的口令
在安裝Linux過(guò)程中,即要求安裝者為root賬號(hào)設(shè)置口令。管理員可在日后更改甚至取消口令。不過(guò),除非整個(gè)Linux系統(tǒng)只有自己使用,否則強(qiáng)烈建議替root賬號(hào)設(shè)置一個(gè)不易被破譯的口令。
在x window下面單擊主菜單,執(zhí)行“系統(tǒng)設(shè)置/根命令”命令,在圖形界面下比較直觀與Windows大致雷同。
圖為:在圖形界面下設(shè)置一般用戶賬號(hào)
擁有root賬號(hào)的系統(tǒng)管理員除了設(shè)置口令之外,建議先替自己創(chuàng)建一個(gè)一般的用戶的賬號(hào),供日常操作使用,如此可避免因操作失誤而影響整個(gè)系統(tǒng)。最好等到系統(tǒng)需要維護(hù)時(shí),再使用root賬號(hào)登陸。
四,只允許root登陸的維護(hù)模式
如果希望這臺(tái)計(jì)算機(jī)除了root賬號(hào)之外,其他賬號(hào)都不得登陸時(shí),可在/ect目錄中執(zhí)行touch nologin命令,產(chǎn)生一個(gè)文件名為nologin的文件,當(dāng)其他用戶要登陸時(shí),系統(tǒng)只要發(fā)現(xiàn)此文件存在,就會(huì)禁止他們登陸:
Red HatLinuxrelease 9 (Shrike)
Kernel 2.4.20-8 on an 686
free login benny ← 用benny賬號(hào)登陸
Password: ← 輸入正確的口令
Login incorrect ← 即使輸入正確也會(huì)登陸失敗
login ← 重新返回到登陸界面
這種狀態(tài)通常用于管理員要維護(hù)系統(tǒng)時(shí)。若要再度恢復(fù)用戶登陸,則只要將nologin文件刪除即可。
五,停用與刪除用戶賬號(hào)
當(dāng)用戶畢業(yè)、離職、或逾期不繳費(fèi)時(shí),可以考慮停用或刪除用戶賬號(hào),以避免這些用戶繼續(xù)登陸系統(tǒng)。
1,停用賬號(hào)
將賬號(hào)停用的意思是暫時(shí)不允許用戶登陸系統(tǒng),但仍然保留其數(shù)據(jù)??删庉?ect/passwd文件,要把停止使用的賬號(hào)標(biāo)注起來(lái):
#silent:x:600:100::/home/silent/bin/bash ←在賬號(hào)最前面加上“#”
2,刪除賬號(hào)
當(dāng)確定用戶已不再需要使用本系統(tǒng),或列為拒絕來(lái)往用戶時(shí),可以考慮將該賬號(hào)完全刪除。
1,使用userdel命令或編輯passwd與shadow文件
使用userdel命令可以很方便地將用戶刪除,范例如下:
[root@free root]# userdel –r silent
加上參數(shù)“-r”表示刪除賬號(hào)時(shí),一并將該賬號(hào)的用戶的用戶目錄及郵件文件都刪除。若不加“-r”參數(shù),則只會(huì)刪除而保留該賬號(hào)的相關(guān)目錄。
當(dāng)然也可編輯passwd和shadow文件,直接將賬號(hào)刪除,隨后刪除賬號(hào)該賬號(hào)的主目錄與郵件目錄。
刪除后臺(tái)執(zhí)行程序
為避免用戶還有程序遺留在系統(tǒng)中,請(qǐng)執(zhí)行下列命令檢查后臺(tái)執(zhí)行的程序,并把在后臺(tái)中執(zhí)行的程序刪除:
[root@free root]# ps aux grep “silent”
刪除計(jì)時(shí)器
此外還有一點(diǎn)相當(dāng)重要,就是要將用戶所設(shè)置的計(jì)時(shí)器去掉。在Linux系統(tǒng)中,用戶可以自行設(shè)置計(jì)時(shí)器,時(shí)間一到就自動(dòng)執(zhí)行某些命令。這些計(jì)時(shí)器所執(zhí)行的命令,有的可能會(huì)影響系統(tǒng)的安全與保密,因此必須特別注意用戶所留下來(lái)的計(jì)時(shí)器。執(zhí)行下列命令檢查計(jì)時(shí)器:
[root@free root]# crontab –u silent -1
當(dāng)發(fā)現(xiàn)用戶自行設(shè)置的計(jì)時(shí)器還在系統(tǒng)中時(shí),直接執(zhí)行crontab –u silent –r 命令,便能刪除該用戶的計(jì)時(shí)器文件。
六,創(chuàng)建組
創(chuàng)建組的方法和創(chuàng)建賬號(hào)幾乎相同,且過(guò)程更簡(jiǎn)單??蓤?zhí)行g(shù)roupadd命令來(lái)創(chuàng)建組。例如要?jiǎng)?chuàng)建GID編號(hào)700、名稱為staff的組:
[root@free root]# groupadd –g 700 staff ← 執(zhí)行命令
[root@free root]# more/etc/group ← 查看結(jié)果
…
Lambert:x:501
Cassia:x:502
Staff:x:700 ← 加進(jìn)來(lái)了
參數(shù)-g用來(lái)指定組標(biāo)識(shí)符,0~499則留給系統(tǒng)使用。若省略此參數(shù),系統(tǒng)會(huì)自動(dòng)指定GID,使用從編號(hào)500開始尚未用掉的號(hào)碼。
七,刪除組
當(dāng)不在需要某一個(gè)組時(shí),可執(zhí)行g(shù)roupdel命令刪除組(再刪除某個(gè)組前,要執(zhí)行find/-group組名稱命令,檢查系統(tǒng)中隸屬于該組的目錄及文件,并利用chown命令改變其所屬組):
[root@free root]#groupdel staff