umask
1.作用
umask設置用戶(hù)文件和目錄的文件創(chuàng )建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶(hù)后續所建文件的存取許可。它告訴系統在創(chuàng )建文件時(shí)不給誰(shuí)存取許可。使用權限是所有用戶(hù)。
2.格式
umask [-p] [-S] [mode]
3.參數
-S:確定當前的umask設置。
-p:修改umask 設置。
[mode]:修改數值。
4.說(shuō)明
傳統Unix的umask值是022,這樣就可以防止同屬于該組的其它用戶(hù)及別的組的用戶(hù)修改該用戶(hù)的文件。既然每
個(gè)用戶(hù)都擁有并屬于一個(gè)自己的私有組,那么這種“組保護模式”就不在需要了。嚴密的權限設定構成了Linux安全的基礎,在權限上犯錯誤是致命的。需要注
意的是,umask命令用來(lái)設置進(jìn)程所創(chuàng )建的文件的讀寫(xiě)權限,最保險的值是0077,即關(guān)閉創(chuàng )建文件的進(jìn)程以外的所有進(jìn)程的讀寫(xiě)權限,表示為-rw---
----。在~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動(dòng)Shell后, 進(jìn)程的
umask權限都可以被正確設定。
5.應用實(shí)例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先顯示當前狀態(tài),然后把umask值改為177,結果只有文件所有者具有讀寫(xiě)文件的權限,其它用戶(hù)不能訪(fǎng)問(wèn)該文件。這顯然是一種非常安全的設置。
Linux的系統安全命令
雖
然Linux和Windows NT/2000系統一樣是一個(gè)多用戶(hù)的系統,但是它們之間有不少重要的差別。對于很多習慣了Windows系統
的管理員來(lái)講,如何保證Linux操作系統安全、可靠將會(huì )面臨許多新的挑戰。本文將重點(diǎn)介紹Linux系統安全的命令。
passwd
1.作用
passwd命令原來(lái)修改賬戶(hù)的登陸密碼,使用權限是所有用戶(hù)。
2.格式
passwd [選項] 賬戶(hù)名稱(chēng)
3.主要參數
-l:鎖定已經(jīng)命名的賬戶(hù)名稱(chēng),只有具備超級用戶(hù)權限的使用者方可使用。
-u:解開(kāi)賬戶(hù)鎖定狀態(tài),只有具備超級用戶(hù)權限的使用者方可使用。
-x, --maximum=DAYS:最大密碼使用時(shí)間(天),只有具備超級用戶(hù)權限的使用者方可使用。
-n, --minimum=DAYS:最小密碼使用時(shí)間(天),只有具備超級用戶(hù)權限的使用者方可使用。
-d:刪除使用者的密碼, 只有具備超級用戶(hù)權限的使用者方可使用。
-S:檢查指定使用者的密碼認證種類(lèi), 只有具備超級用戶(hù)權限的使用者方可使用。
4.應用實(shí)例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
從上面可以看到,使用passwd命令需要輸入舊的密碼,然后再輸入兩次新密碼。
su
1.作用
su的作用是變更為其它使用者的身份,超級用戶(hù)除外,需要鍵入該使用者的密碼。
2.格式
su [選項]... [-] [USER [ARG]...]
3.主要參數
-f , --fast:不必讀啟動(dòng)文件(如 csh.cshrc 等),僅用于csh或tcsh兩種Shell。
-l , --login:加了這個(gè)參數之后,就好像是重新登陸為該使用者一樣,大部分環(huán)境變
量(例如HOME、SHELL和USER等)都是以該使用者(USER)為主,并且工作目錄也會(huì )改變。如果沒(méi)有指定USER,缺省情況是root。
-m, -p ,--preserve-environment:執行su時(shí)不改變環(huán)境變數。
-c command:變更賬號為USER的使用者,并執行指令(command)后再變回原來(lái)使用者。
USER:欲變更的使用者賬號,ARG傳入新的Shell參數。
4.應用實(shí)例
變更賬號為超級用戶(hù),并在執行df命令后還原使用者。 su -c df root
umask
1.作用
umask設置用戶(hù)文件和目錄的文件創(chuàng )建缺省屏蔽值,若將此命令放入profile文件,就可控制該用戶(hù)后續所建文件的存取許可。它告訴系統在創(chuàng )建文件時(shí)不給誰(shuí)存取許可。使用權限是所有用戶(hù)。
2.格式
umask [-p] [-S] [mode]
3.參數
-S:確定當前的umask設置。
-p:修改umask 設置。
[mode]:修改數值。
4.說(shuō)明
傳統Unix的umask值是022,這樣就可以防止同屬于該組的其它用戶(hù)及別的組的用戶(hù)修改該用戶(hù)的文件。既然每
個(gè)用戶(hù)都擁有并屬于一個(gè)自己的私有組,那么這種“組保護模式”就不在需要了。嚴密的權限設定構成了Linux安全的基礎,在權限上犯錯誤是致命的。需要注
意的是,umask命令用來(lái)設置進(jìn)程所創(chuàng )建的文件的讀寫(xiě)權限,最保險的值是0077,即關(guān)閉創(chuàng )建文件的進(jìn)程以外的所有進(jìn)程的讀寫(xiě)權限,表示為-rw---
----。在~/.bash_profile中,加上一行命令umask 0077可以保證每次啟動(dòng)Shell后, 進(jìn)程的
umask權限都可以被正確設定。
5.應用實(shí)例
umask -S
u=rwx,g=rx,o=rx
umask -p 177
umask -S
u=rw,g=,o=
上述5行命令,首先顯示當前狀態(tài),然后把umask值改為177,結果只有文件所有者具有讀寫(xiě)文件的權限,其它用戶(hù)不能訪(fǎng)問(wèn)該文件。這顯然是一種非常安全的設置。
chgrp
1.作用
chgrp表示修改一個(gè)或多個(gè)文件或目錄所屬的組。使用權限是超級用戶(hù)。
2.格式
chgrp [選項]... 組 文件...
或
chgrp [選項]... --reference=參考文件 文件...
將每個(gè)<文件>的所屬組設定為<組>。
3.參數
-c, --changes :像 --verbose,但只在有更改時(shí)才顯示結果。
--dereference:會(huì )影響符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會(huì )影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
-f, --silent, --quiet:去除大部分的錯誤信息。
--reference=參考文件:使用<參考文件>的所屬組,而非指定的<組>。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會(huì )顯示信息。
4.應用說(shuō)明
該命令改變指定指定文件所屬的用戶(hù)組。其中g(shù)roup可以是用戶(hù)組ID,也可以是/etc/group文件中用戶(hù)組
的組名。文件名是以空格分開(kāi)的要改變屬組的文件列表,支持通配符。如果用戶(hù)不是該文件的屬主或超級用戶(hù),則不能改變該文件的組。
5.應用實(shí)例
改變/opt/local /book/及其子目錄下的所有文件的屬組為book,命令如下:
$ chgrp - R book /opt/local /book
chmod
Chmod使用格式:
Chmod [參數][模式]<文件或目錄>
參數:-R:改變目錄及其所有子目錄的文件權限。
舉例:
#chmod u+x inittab
#chmod ug+wx,o-x inittab
#chmod 0644 inittab
#chmod 0755 inittab
#chmod –R 700 ~
目錄權限的補充說(shuō)明:
1、目錄的只讀訪(fǎng)問(wèn)不允許使用cd進(jìn)入目錄,必須要有執行的權限才能進(jìn)入。
2、只有執行權限只能進(jìn)入目錄,不能看到目錄下的內容,要想看到目錄下的文件名和目錄名,需要可讀權限。
3、一個(gè)文件能不能被刪除,主要看該文件所在的目錄對用戶(hù)是否具有寫(xiě)權限,如果目錄對用戶(hù)沒(méi)有寫(xiě)權限,則該目錄下的所有文件都不能被刪除,文件所有者除外
對
特殊位的舉例說(shuō)明: 操作這些特殊位與操作文件權限的命令是一樣的, 都是 chmod. 有兩種方法來(lái)操作, 1) chmod u+s temp
: 為temp文件加上setuid標志. (setuid 只對文件有效) chmod g+s tempdir
:為tempdir目錄加上setgid標志 (setgid 只對目錄有效) chmod o+t tempdir :
為temp文件加上sticky標志 (sticky只對目錄有效)
2) 采用八進(jìn)制方式. 對一般文件通過(guò)三組八進(jìn)制數字來(lái)置標志, 如 666, 777, 644等. 如果設置這些特殊標志, 則在這組數字之外外加一組八進(jìn)制數字. 如 4666, 2777等.
設
置完這些標志后, 可以用 ls -l 來(lái)查看. 如果有這些標志, 則會(huì )在原來(lái)的執行標志位置上顯示. 如 rwsrw-r--
表示有setuid標志 rwxrwsrw- 表示有setgid標志 rwxrw-rwt 表示有sticky標志
那么原來(lái)的執行標志x到哪里去了呢? 系統是這樣規定的, 如果本來(lái)在該位上有x, 則這些特殊標志顯示為小寫(xiě)字母 (s, s, t). 否則,
顯示為大寫(xiě)字母 (S, S, T)
1.作用
chmod命令是非常重要的,用于改變文件或目錄的訪(fǎng)問(wèn)權限,用戶(hù)可以用它控制文件或目錄的訪(fǎng)問(wèn)權限,使用權限是超級用戶(hù)。
2.格式
chmod命令有兩種用法。一種是包含字母和操作符表達式的字符設定法(相對權限設定);另一種是包含數字的數字設定法(絕對權限設定)。
(1)字符設定法
chmod [who] [+ | - | =] [mode] 文件名
◆操作對象who可以是下述字母中的任一個(gè)或它們的組合
u:表示用戶(hù),即文件或目錄的所有者。
g:表示同組用戶(hù),即與文件屬主有相同組ID的所有用戶(hù)。
o:表示其它用戶(hù)。
a:表示所有用戶(hù),它是系統默認值。
◆操作符號
+:添加某個(gè)權限。
-:取消某個(gè)權限。
=:賦予給定權限,并取消其它所有權限(如果有的話(huà))。
◆設置mode的權限可用下述字母的任意組合
r:可讀。
w:可寫(xiě)。
x:可執行。
X:只有目標文件對某些用戶(hù)是可執行的或該目標文件是目錄時(shí)才追加x屬性。
s:文件執行時(shí)把進(jìn)程的屬主或組ID置為該文件的文件屬主。方式“u+s”設置文件的用戶(hù)ID位,“g+s”設置組ID位。
t:保存程序的文本到交換設備上。
u:與文件屬主擁有一樣的權限。
g:與和文件屬主同組的用戶(hù)擁有一樣的權限。
o:與其它用戶(hù)擁有一樣的權限。
文件名:以空格分開(kāi)的要改變權限的文件列表,支持通配符。
一個(gè)命令行中可以給出多個(gè)權限方式,其間用逗號隔開(kāi)。
(2) 數字設定法
數字設定法的一般形式為: chmod [mode] 文件名
數字屬性的格式應為3個(gè)0到7的八進(jìn)制數,其順序是(u)(g)(o)文件名,以空格分開(kāi)的要改變權限的文件列表,支持通配符。
數字表示的權限的含義如下:0001為所有者的執行權限;0002為所有者的寫(xiě)權限;0004為所有者的讀權限;
0010為組的執行權限;0020為組的寫(xiě)權限;0040為組的讀權限;0100為其他人的執行權限;0200為其他人的寫(xiě)權限;0400為其他人的讀權
限;1000為粘貼位置位;2000表示假如這個(gè)文件是可執行文件,則為組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個(gè)文件是可執行文
件,則為用戶(hù)ID為位置位。
3.實(shí)例
如果一個(gè)系統管理員寫(xiě)了一個(gè)表格(tem)讓所有用戶(hù)填寫(xiě),那么必須授權用戶(hù)對這個(gè)文件有讀寫(xiě)權限,可以使用命令:#chmod 666 tem
上面代碼中,這個(gè)666數字是如何計算出來(lái)的呢?0002為所有者的寫(xiě)權限,0004為所有者的讀權限,0020為
組的寫(xiě)權限,0040為組的讀權限,0200為其他人的寫(xiě)權限,0400為其他人的讀權限,這6個(gè)數字相加就是666(注以上數字都是八進(jìn)制數),結果見(jiàn)
圖1所示。
圖1 用chmod數字方法設定文件權限
從圖1可以看出,tem文件的權限是-rw-rw-rw-,即用戶(hù)對這個(gè)文件有讀寫(xiě)權限。
如果用字符權限設定使用下面命令:
#chmod a =wx tem
chown
1.作用
更改一個(gè)或多個(gè)文件或目錄的屬主和屬組。使用權限是超級用戶(hù)。
2.格式
chown [選項] 用戶(hù)或組 文件
3.主要參數
--dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會(huì )影響符號鏈接本身,而非符號鏈接所指示的目的地(當系統支持更改符號鏈接的所有者,此選項才有效)。
--from=目前所有者:目前組只當每個(gè)文件的所有者和組符合選項所指定的,才會(huì )更改所有者和組。其中一個(gè)可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, --silent, --quiet:去除大部分的錯誤信息。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會(huì )顯示信息。
4.說(shuō)明
chown將指定文件的擁有者改為指定的用戶(hù)或組,用戶(hù)可以是用戶(hù)名或用戶(hù)ID;組可以是組名或組ID;文件是以空
格分開(kāi)的要改變權限的文件列表,支持通配符。系統管理員經(jīng)常使用chown命令,在將文件拷貝到另一個(gè)用戶(hù)的目錄下以后,讓用戶(hù)擁有使用該文件的權限。
5.應用實(shí)例
1.把文件shiyan.c的所有者改為wan
$ chown wan shiyan.c
2.把目錄/hi及其下的所有文件和子目錄的屬主改成wan,屬組改成users。
$ chown - R wan.users /hi
chattr
1.作用
修改ext2和ext3文件系統屬性(attribute),使用權限超級用戶(hù)。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目錄
3.主要參數
-R:遞歸處理所有的文件及子目錄。
-V:詳細顯示修改內容,并打印輸出。
-:失效屬性。
+:激活屬性。
= :指定屬性。
A:Atime,告訴系統不要修改對這個(gè)文件的最后訪(fǎng)問(wèn)時(shí)間。
S:Sync,一旦應用程序對這個(gè)文件執行了寫(xiě)操作,使系統立刻把修改的結果寫(xiě)到磁盤(pán)。
a:Append Only,系統只允許在這個(gè)文件之后追加數據,不允許任何進(jìn)程覆蓋或截斷這個(gè)文件。如果目錄具有這個(gè)屬性,系統將只允許在這個(gè)目錄下建立和修改文件,而不允許刪除任何文件。
i:Immutable,系統不允許對這個(gè)文件進(jìn)行任何的修改。如果目錄具有這個(gè)屬性,那么任何的進(jìn)程只能修改目錄之下的文件,不允許建立和刪除文件。
D:檢查壓縮文件中的錯誤。
d:No dump,在進(jìn)行文件系統備份時(shí),dump程序將忽略這個(gè)文件。
C:Compress,系統以透明的方式壓縮這個(gè)文件。從這個(gè)文件讀取時(shí),返回的是解壓之后的數據;而向這個(gè)文件中寫(xiě)入數據時(shí),數據首先被壓縮之后才寫(xiě)入磁盤(pán)。
s:Secure Delete,讓系統在刪除這個(gè)文件時(shí),使用0填充文件所在的區域。
u:Undelete,當一個(gè)應用程序請求刪除這個(gè)文件,系統會(huì )保留其數據塊以便以后能夠恢復刪除這個(gè)文件。
4.說(shuō)明
chattr命令的作用很大,其中一些功能是由Linux內核版本來(lái)支持的,如果Linux內核版本低于2.2,那
么許多功能不能實(shí)現。同樣-D檢查壓縮文件中的錯誤的功能,需要2.5.19以上內核才能支持。另外,通過(guò)chattr命令修改屬性能夠提高系統的安全
性,但是它并不適合所有的目錄。chattr命令不能保護/、/dev、/tmp、/var目錄。
5.應用實(shí)例
1.恢復/root目錄,即子目錄的所有文件
# chattr -R +u/root
2.用chattr命令防止系統中某個(gè)關(guān)鍵文件被修改
在Linux下,有些配置文件(passwd ,fatab)是不允許任何人修改的,為了防止被誤刪除或修改,可以設定該文件的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
sudo
1.作用
sudo是一種以限制配置文件中的命令為基礎,在有限時(shí)間內給用戶(hù)使用,并且記錄到日志中的命令,權限是所有用戶(hù)。
2.格式
sudo [-bhHpV] [-s <shell>] [-u <用戶(hù)>] [指令]
sudo [-klv]
3.主要參數
-b:在后臺執行命令。
-h:顯示幫助。
-H:將HOME環(huán)境變量設為新身份的HOME環(huán)境變量。
-k:結束密碼的有效期,即下次將需要輸入密碼。
-l:列出當前用戶(hù)可以使用的命令。
-p:改變詢(xún)問(wèn)密碼的提示符號。
-s <shell>:執行指定的Shell。
-u <用戶(hù)>:以指定的用戶(hù)為新身份,不使用時(shí)默認為root。
-v:延長(cháng)密碼有效期5分鐘。
4.說(shuō)明
sudo命令的配置在/etc/sudoers文件中。當用戶(hù)使用sudo時(shí),需要輸入口令以驗證使用者身份。隨后
的一段時(shí)間內可以使用定義好的命令,當使用配置文件中沒(méi)有的命令時(shí),將會(huì )有報警的記錄。sudo是系統管理員用來(lái)允許某些用戶(hù)以root身份運行部分/全
部系統命令的程序。一個(gè)明顯的用途是增強了站點(diǎn)的安全性,如果需要每天以超級用戶(hù)的身份做一些日常工作,經(jīng)常執行一些固定的幾個(gè)只有超級用戶(hù)身份才能執行
的命令,那么用sudo是非常適合的。
ps
1.作用
ps顯示瞬間進(jìn)程 (process) 的動(dòng)態(tài),使用權限是所有使用者。
2.格式
ps [options] [--help]
3.主要參數
ps的參數非常多, 此出僅列出幾個(gè)常用的參數。
-A:列出所有的進(jìn)程。
-l:顯示長(cháng)列表。
-m:顯示內存信息。
-w:顯示加寬可以顯示較多的信息。
-e:顯示所有進(jìn)程。
a:顯示終端上的所有進(jìn)程,包括其它用戶(hù)的進(jìn)程。
-au:顯示較詳細的信息。
-aux:顯示所有包含其它使用者的進(jìn)程。
4.說(shuō)明
要對進(jìn)程進(jìn)行監測和控制,首先要了解當前進(jìn)程的情況,也就是需要查看當前進(jìn)程。ps命令就是最基本、也是非常強大的
進(jìn)程查看命令。使用該命令可以確定有哪些進(jìn)程正在運行、運行的狀態(tài)、進(jìn)程是否結束、進(jìn)程有沒(méi)有僵尸、哪些進(jìn)程占用了過(guò)多的資源等。圖2給出了ps-aux
命令詳解。大部分信息都可以通過(guò)執行該命令得到。最常用的三個(gè)參數是u、a、x。下面就結合這三個(gè)參數詳細說(shuō)明ps命令的作用:ps
aux
圖2 ps-aux命令詳解
圖2第2行代碼中,USER表示進(jìn)程擁有者;PID表示進(jìn)程標示符;%CPU表示占用的CPU使用率;%MEM占用的物理內存使用率;VSZ
表示占用的虛擬內存大??;RSS為進(jìn)程占用的物理內存值;TTY為終端的次要裝置號碼。
STAT表示進(jìn)程的狀態(tài),其中D為不可中斷的靜止(I/O動(dòng)作);R正在執行中;S靜止狀態(tài);T暫停執行;Z不存在,但暫時(shí)無(wú)法消除;W沒(méi)有
足夠的內存分頁(yè)可分配;高優(yōu)先序的進(jìn)程;N低優(yōu)先序的進(jìn)程;L有內存分頁(yè)分配并鎖在內存體內 (實(shí)時(shí)系統或 I/O)。START為
進(jìn)程開(kāi)始時(shí)間。TIME為執行的時(shí)間。COMMAND是所執行的指令。
4.應用實(shí)例
在進(jìn)行系統維護時(shí),經(jīng)常會(huì )出現內存使用量驚人,而又不知道是哪一個(gè)進(jìn)程占用了大量進(jìn)程的情況。除了可以使用top命令查看內存使用情況之外,還可以使用下面的命令:
ps aux | sort +5n
who
1.作用
who顯示系統中有哪些用戶(hù)登陸系統,顯示的資料包含了使用者ID、使用的登陸終端、上線(xiàn)時(shí)間、呆滯時(shí)間、CPU占用,以及做了些什么。 使用權限為所有用戶(hù)。
2.格式
who - [husfV] [user]
3.主要參數
-h:不要顯示標題列。
-u:不要顯示使用者的動(dòng)作/工作。
-s:使用簡(jiǎn)短的格式來(lái)顯示。
-f:不要顯示使用者的上線(xiàn)位置。
-V:顯示程序版本。
4.說(shuō)明
該命令主要用于查看當前在線(xiàn)上的用戶(hù)情況。如果用戶(hù)想和其它用戶(hù)建立即時(shí)通信,比如使用talk命令,那么首先要確
定的就是該用戶(hù)確實(shí)在線(xiàn)上,不然talk進(jìn)程就無(wú)法建立起來(lái)。又如,系統管理員希望監視每個(gè)登錄的用戶(hù)此時(shí)此刻的所作所為,也要使用who命令。who命
令應用起來(lái)非常簡(jiǎn)單,可以比較準確地掌握用戶(hù)的情況,所以使用非常廣泛。
動(dòng)手練習
1.使用Linux命令檢測系統入侵者
安裝過(guò)Mandrake Linux和Red Hat Linux的用戶(hù)都會(huì )知道,
Linux系統會(huì )內置三種不同級別(標準、高、更高)的防火墻,當進(jìn)行了Linux服務(wù)器的安裝和一些基本的設置后,服務(wù)器應該說(shuō)是比較安全的,但是也會(huì )
有黑客通過(guò)各種方法利用系統管理員的疏忽侵入系統。如何快速查找黑客非常重要。一般來(lái)說(shuō),可以使用命令查詢(xún)黑客是否入侵,見(jiàn)表1。
表1 查詢(xún)黑客入侵現象的命令對應表
舉例說(shuō)明,如果黑客嗅探網(wǎng)絡(luò ),那么它必須使網(wǎng)卡接口處于混雜模式,使用下面命令進(jìn)行查詢(xún):
#ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:00:E8:A0:25:86
inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING PROMISCUOUS MTU:1500 Metric:1
......
從這個(gè)命令的輸出中,可以看到上面講到的這些概念。第一行的00:00:E8:A0:25:86是mac地址,第二
行的192.168.1.7是IP地址,第四行講的是接收數據狀態(tài),這時(shí)正在被黑客嗅探。一般而言,網(wǎng)卡有幾種接收數據幀的狀態(tài),如Broadcast、
Multicast、Promiscuous等。Broadcast是指接收所有類(lèi)型為廣播報文的數據幀;Multicast是指接收特定的組播報文;
Promiscuous則是通常說(shuō)的混雜模式,是指對報文中的目的硬件地址不加任何檢查、全部接收的工作模式。
2.限制su命令的濫用
我們知道,超級用戶(hù)在Linux中有最大的權利,幾乎所有黑客都想得到這個(gè)目標。Linux可以增加對切換到超級用
戶(hù)的限制。使用PAM(Pluggable Authentication Modules)可以禁止除在wheel組以外的任何人
su成root,修改/etc/pam.d/su文件,除去屏蔽標識#。使用/usr/sbin/usermod G10
bjecadm將bjecadm這個(gè)賬號加入gid為10的組,就是wheel組。命令如下:
/etc/pam.d/su # 使用密碼驗證#
auth sufficient /lib/security/pam_wheel.so debug
# 限制只有wheel組用戶(hù)才可以切換到root#
auth required /lib/security/pam_wheel.so use_uid
chmod -G10 bjecadm
另外,每當用戶(hù)試圖使用su命令進(jìn)入系統用戶(hù)時(shí),命令將在/usr/adm/sulog文件中寫(xiě)一條信息,若該文件記錄了大量試圖用su進(jìn)入root的無(wú)效操作信息,則表明了可能有人企圖破譯root口令。
Linux命令有著(zhù)強大的功能。對于Linux系統管理員來(lái)說(shuō),往往只需要通過(guò)各種安全命令技巧,組合構成安全防線(xiàn)。從計算機安全的角度看,世界上沒(méi)有絕對安全的計算機系統,Linux系統也不例外。
其他信息列述
1.1 Linux操作系統概述
開(kāi)放性的系統
多用戶(hù)多任務(wù)的系統
具有出色的穩定性和速度性能
具有可靠的系統安全性
提供了豐富的網(wǎng)絡(luò )功能
標準兼容性和可移植性
提供了良好的用戶(hù)界面
Linux系統的組成
Kernel(內核)和版本
Linux 發(fā)行套件
Linux Shell
Linux 文件系統
Linux 文件系統標準結構
1.2 紅旗Linux的安裝
1.2.1 安裝前的準備
1.2.2 使用安裝光盤(pán)從CD-ROM安裝
1.2.3 使用Linux啟動(dòng)盤(pán)從硬盤(pán)安裝
1.2.1 安裝前的準備
收集計算機硬件信息
規劃硬盤(pán)空間
選取工作站類(lèi)型:至少需要1.2G左右空間;最多需要1.5G左右空間。
選取服務(wù)器類(lèi)型:至少需要650M左右空間,最多需要1.2G左右空間。
選取便攜式類(lèi)型:與工作站類(lèi)型所需空間相當。
選取自定義類(lèi)型:至少需要350M左右空間,最多需要2.4G左右空間。
規劃網(wǎng)絡(luò )配置信息
1.2.2 使用安裝光盤(pán)從CD-ROM安裝
設置CMOS
安裝
安裝紅旗linux
Server和Workstation模式:自動(dòng)分割硬盤(pán)
Custom:手工分割 ? Mount Point
/ ? root根分區(建議:256MB)
SWAP ?交換分區(建議:略小于實(shí)際內存2倍)
/usr:? 安裝軟件存放位置(建議:2.5GB)
/home:? 視用戶(hù)多少而定
/var:? 存放臨時(shí)文件(建議:256MB)
/boot: ? 存放啟動(dòng)文件(建議:32MB)
1.2.3 Linux的其他安裝方式
本地安裝
遠程網(wǎng)絡(luò )安裝
使用Linux啟動(dòng)盤(pán)從硬盤(pán)安裝
制作啟動(dòng)軟盤(pán)
1、在DOS下創(chuàng )建:
進(jìn)入dosutils子目錄,運行rawrite程序 。
輸入../images/boothd.img 。
2、在linux下創(chuàng )建:
#dd if=/images/boothd.img of=/dev/fd0 bs=1440
修改CMOS設置中的引導順序
明確系統文件在硬盤(pán)中的存放位置
使用Linux安裝啟動(dòng)盤(pán)從遠程FTP服務(wù)器安裝
遠程網(wǎng)絡(luò )安裝Linux系統的方法和本地硬盤(pán)安裝類(lèi)似,也需要制作啟動(dòng)軟盤(pán)。制作啟動(dòng)軟盤(pán)的步驟和前面相同,唯一不同的是制作啟動(dòng)軟盤(pán)時(shí)使用的軟盤(pán)鏡像文件是bootnet.img。
1.3、linux安裝須具備的知識
磁盤(pán)的標識:
IDE硬盤(pán):/dev/hdxx:其中第一個(gè)X表示第幾塊硬盤(pán),采用a、b、c、d分別對應四塊硬盤(pán),第二個(gè)X表示分區,1-4表示主分區或擴展分區,邏輯分區從5開(kāi)始。
SCSI硬盤(pán):/dev/sdxx
光盤(pán):/dev/cdrom
軟盤(pán):/dev/fd0
1.4 Linux運行級別和系統的啟動(dòng)和關(guān)閉
21.4.1 Linux的運行級別和切換
21.4.2 Linux的啟動(dòng)過(guò)程
1.4.1 Linux的運行級別和切換
Linux的運行級別
Linux運行級別的切換
Linux的啟動(dòng)、關(guān)閉和重新啟動(dòng)
Linux的運行級別
Linux運行級別的切換
在inittab文件中,操作initdefault將在系統初始化之后啟動(dòng)預設的運行級別,用戶(hù)可以通過(guò)更改此項設置來(lái)改變系統的預設運行級別。
用戶(hù)也可以在系統運行過(guò)程當中來(lái)改變系統的運行級別,方法是用init命令,后面加上要切換到的運行級別。
Linux的啟動(dòng)、關(guān)閉和重新啟動(dòng)
linux啟動(dòng)
紅
旗linux在啟動(dòng)過(guò)程中首先加載Linux內核,在內存中執行內核操作,檢查硬件,掛載根文件系統,然后啟動(dòng)init進(jìn)程。init進(jìn)程就會(huì )根據
inittab文件中的設置來(lái)使系統進(jìn)入預設的運行級別,讀取相關(guān)的配置文件和腳本程序,最后啟用相關(guān)服務(wù),完成整個(gè)系統的啟動(dòng)。
Linux的重啟方法
Reboot
Init 6
Ctrl+alt+delete
Shutdown –r time [warning-message]
如:#shutdown –r +3 “system will be down in 3 minites,please save you work”
#shutdown –r now
#shutdown –r 03:15
Linux關(guān)機的方法
Halt
Init 0
Shutdown –h time [warning-message]
如:#shutdown –h now
1.5 Linux的初步使用
1.5.1 Linux的字符運行方式
1.5.2 linux的圖形界面
1.5.3 常見(jiàn)問(wèn)題
1.5.1 Linux的字符運行方式
登錄和注銷(xiāo) :
超級用戶(hù)登錄后的操作提示符是“#”;普通用戶(hù)登錄后的操作提示符是“$”
若要注銷(xiāo)登錄,用戶(hù)可以在當前的登錄終端上輸入logout命令或使用Ctrl+d熱鍵進(jìn)行。
終端之間的切換采用:alt+f1—f7
1.5.2 linux的圖形界面
圖形界面下運行終端命令:rxvt
圖形界面切換到字符界面:ctrl+alt +f1—f6
圖形界面下的注銷(xiāo):ctrl+alt+delete
圖形界面下的鎖定:ctrl+alt+L
1.5.3 常見(jiàn)問(wèn)題
最基本的安全問(wèn)題
root口令丟失的解決方法
刪除Linux操作系統
最基本的安全問(wèn)題
如果機箱有鎖,應該上鎖,并保證鑰匙與機箱分離放置;
若機箱沒(méi)有鎖,如果必要,當正常運行后斷開(kāi)電源按鈕和復位按鈕的連接線(xiàn);
禁止三鍵熱啟功能,修改/etc/inittab,將此行注釋掉;
禁止BIOS中的軟驅啟動(dòng)功能,并設置BIOS開(kāi)機密碼;
禁止公開(kāi)root密碼,若有多個(gè)系統管理員則應該避免root密碼的擴散;
必須準備引導軟盤(pán)以防硬盤(pán)無(wú)法啟動(dòng)時(shí)使用。
root口令丟失的解決方法
使用單用戶(hù)模式 ,重設root密碼
在紅旗linux4桌面版中,在開(kāi)始菜單中選3按e,再選2按e,把3改成1,回車(chē)再按b。
刪除Linux操作系統
首先要修改MBR,刪除LILO。
在DOS或Windows下用fdisk命令加上/mbr參數來(lái)完成 。
重新格式化ext3分區為FAT32分區或NTFS分區。
hls
查看公開(kāi)信息
發(fā)送悄悄話(huà)給hls
給hls發(fā)送Email
查找hls發(fā)表的更多帖子
添加 hls 到好友列表
第2章:linux shell和常用命令
2.1 linux常用命令
2.2 shell
2.3 vi的使用
2.1 linux的常用命令
第一節:文件目錄類(lèi)命令
1、 查看聯(lián)機幫助信息
man 命令 如:#man ls
info 命令 如:#info cd
2、列出當前目錄或指定目錄的文件名和目錄名
ls [選項] 文件或目錄
常用[選項]如下:
-a:顯示所有的文件,包括以“.”開(kāi)頭的隱含文件。
-l:長(cháng)格式輸出
-m:寬行輸出
-F:以各種符號表示不同的文件類(lèi)型
--color:彩色輸出
-R:遞歸輸出
3、touch
功能:修改文件的創(chuàng )建日期或以當前系統日期創(chuàng )建一個(gè)空文件。
-d:修改文件的日期。
#touch –d 20030123 test.txt
4、cp
功能:復制文件
用法:cp [選項] 源文件或目錄 目標文件或目錄
選項:
a: 該選項通常在拷貝目錄時(shí)使用。它保留鏈接、文件屬性,并遞歸地拷貝目錄,其作用等于dpR選項的組合。
- d 拷貝時(shí)保留鏈接。
- f 刪除已經(jīng)存在的目標文件而不提示。
- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶(hù)確認?;卮饄時(shí)目標文件將被覆蓋,是交互式拷貝。
- p 此時(shí)cp除復制源文件的內容外,還將把其修改時(shí)間和訪(fǎng)問(wèn)權限也復制到新文件中。
- r 若給出的源文件是一目錄文件,此時(shí)cp將遞歸復制該目錄下所有的子目錄和文件。此時(shí)目標文件必須為一個(gè)目錄名。
5、mv
功能:給文件或目錄改名或將一個(gè)文件或目錄移到另一個(gè)目錄
用法:mv [選項] 源文件或目錄 目標文件或目錄
-i 交互方式操作。如果mv操作將導致對已存在的目標文件的覆蓋,此時(shí)系統詢(xún)問(wèn)是否重寫(xiě),要求用戶(hù)回答y或n,這樣可以避免誤覆蓋文件。
- f 禁止交互操作。在mv操作要覆蓋某已有的目標文件時(shí)不給任何指示,指定此選項后,i選項將不再起作用。
6、rm
功能:刪除文件或目錄
用法:rm [選項] 文件…
- f 強制刪除
- r 指示rm將參數中列出的全部目錄和子目錄均遞歸地刪除。
- i 進(jìn)行交互式刪除
7、cd
功能:改變工作目錄。
語(yǔ)法:cd [directory]
用法:
#cd ..返回上一層目錄
#cd ~進(jìn)入自家目錄
8、pwd
功能:顯示當前工作目錄
用法:#pwd
9、mkdir
功能:創(chuàng )建一個(gè)目錄(類(lèi)似MSDOS下的md命令)。
語(yǔ)法:mkdir [選項] dir-name
- m 對新建目錄設置存取權限。也可以用chmod命令設置。
- p 可以是一個(gè)路徑名稱(chēng)。此時(shí)若路徑中的某些目錄尚不存在, 加上此選項后, 系統將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄。
#mkdir –m a=rwx test
#mkdir –m u=rwx,g=rx,o=rx test1
#mkdir –m 755 test2
#mkdir –p test3/test4(test3和test4均為新目錄)
10、rmdir
功能:刪除空目錄。
語(yǔ)法:rmdir [選項] dir-name
- p 遞歸刪除目錄dirname,當子目錄刪除后其父目錄為空時(shí),也一同被刪除。
11、file
功能:查看文件類(lèi)型
語(yǔ)法:file 文件名
12、cat
功能:查看文本文件的內容
語(yǔ)法:cat 文件名
13、more
功能:分屏顯示文本文件的內容。
14、less
功能:顯示文本文件的內容,可使用pageup和pagedown上翻頁(yè)下翻頁(yè)。
15、head
功能:查看文件的開(kāi)頭部分內容
語(yǔ)法:head [行數] 文件名
用法:#head test.txt:顯示前10行內容
#head -20 test.txt 顯示前20行內容。
16、tail
功能:查看文件的結尾部分內容。
語(yǔ)法:tail [行數] 文件名
默認的行數為10行。
17、sort
功能:對文本文件中的各行進(jìn)行排序
用法:sort 文件名
例:#sort 123.txt >456.txt 將123.txt排序后重定向到456.txt文件中。
18、uniq
功能:將重復行從輸出文件中刪除,只留下每條記錄的唯一樣本
語(yǔ)法: uniq 文件名
#uniq 456.txt文件中的重復行刪除后輸出
19、pr
功能:處理文件以便打印,輸出到標準輸出
語(yǔ)法:pr [參數] 文件名列表
[參數]
-d:將輸出的每一行后加一新的空白行
-n:輸出行號
如:#pr –n 123.txt
20、ln
功能:建立鏈接文件
語(yǔ)法:ls [-s] 源文件名 目標文件名
說(shuō)
明:鏈接文件分為硬連接和軟連接,硬連接相當于一個(gè)數據源有兩個(gè)文件名,刪除一個(gè)文件另一個(gè)文件不變,修改一個(gè)文件的內容另一個(gè)文件的內容也跟著(zhù)改變。硬
連接不能和另一個(gè)目錄鏈接,也不能和其他文件系統的文件進(jìn)行鏈接。軟鏈接相當于快捷方式,沒(méi)有上面的限制,加-s參數創(chuàng )建軟鏈接。
21、wc
功能:統計文件的行數、字符數和單詞數。
語(yǔ)法:wc [-lwc] 文件名
-l: 只顯示行數,-w:只顯示單詞數,-c:只顯示字符總數。
22、whatis
功能:可以用一行內容顯示對命令行后輸入的關(guān)鍵詞的說(shuō)明。
語(yǔ)法:whatis 關(guān)鍵詞
用法:#whatis find whereis
23、Whereis
功能:確定指定文件的源程序/二進(jìn)制程序和手冊部分的位置。
用法:#whereis ls
24、which
功能:顯示可執行命令的路徑和它的別名。
用法:#which ls
25、locate
功能:可以查找具體文件或命令的路徑,可以查找具體的字符串或子串
用法:locate 文件名或關(guān)鍵字
26、du
功能:統計文件和目錄所占用的磁盤(pán)空間
語(yǔ)法:du [-ask] 文件名或目錄名
-a:顯示對涉及到的所有文件的統計,而不僅僅統計目錄
-s:只打印出合計數
-k:以kB字節數顯示
Find使用范例
find . -name ls.txt
find . -name ls.txt –print
find / -name ‘c??’ –print
find / -name ‘f*’ –print
find . -name ‘f*’ –exec ls –l {} \;
find . -name f\* –ok rm {} \; (交互式提問(wèn))
find . -perm 644 –mtime 4
find . -name ‘c??’ –o -name ‘d??’
28、grep
功能:在文件中搜尋匹配的行并進(jìn)行輸出
語(yǔ)法:grep [參數]<要找的字串><原文件>
-num:輸出匹配行前后各num行的內容
-A num:輸出匹配行后num行的內容
-B num:輸出匹配行前num行的內容
-i:忽略大小寫(xiě)的區別
-v:只顯示出那些不包括某字串的行和文件,和默認的相反
二、文件壓縮和歸檔類(lèi)命令
1、gzip
功能:是一種壓縮程序,特點(diǎn)是可以得到最佳的壓縮率,但速度較慢。
語(yǔ)法:gzip [-vd9] 文件名
-v:冗長(cháng)型選項,可以顯示每個(gè)文件的大小等
-d:解壓
-9:產(chǎn)生最佳壓縮效果,但速度較慢。
2、gunzip
功能:可以把壓縮的文件解壓成原始文件狀態(tài),可以解壓擴展名為.gz,.z,.Z和.tgz等類(lèi)型的壓縮文件
語(yǔ)法:gunzip [-v] 文件名
-v:顯示解壓縮文件的冗長(cháng)結果
3、tar
功能:可以歸檔多個(gè)文件和目錄到一個(gè).tar文件下,還可以從一個(gè)歸檔文件中抽取一個(gè)文件和目錄。
語(yǔ)法:tar [-c][-r][-t][-x][-v][-z][f 文件名] 文件和目錄名
-c:創(chuàng )建歸檔文件
-r:增加文件到歸檔文件中
-t:查看歸檔文件中的文件
-x:解開(kāi)歸檔文件
-v:顯示冗長(cháng)信息
-z:進(jìn)行壓縮和解壓
如: #tar –cvf back.tar 文件1 目錄1 文件2
#tar –rvf back.tar 文件3
#tar –tf back.tar
#tar –xvf back.tar
#tar –czvf back.tar.gz 文件1 目錄1 文件2
#tar –xzvf back.tar.gz
4、安裝以rpm方式提供的軟件
Rpm(the red hat package manager)是一個(gè)開(kāi)放的軟件包管理系統。
功能:可以安裝和卸載RPM包的軟件
#rpm –ivh *.rpm 安裝RPM包;
#rpm –ivh –force *.rpm 在原先安裝的基礎上再強行安裝一次;
#rpm –Uvh *.rpm 升級rpm包
#rpm –qa 查找列出系統中所有安裝的rpm包
#rpm –q sendmail:查看sendmail包的情況
#rpm –ql sendmail:查看sendmail安裝的位置
#rpm –e *.rpm 卸載rpm包
#rpm - qlp name.rpm 查看name.rpm有哪些文件
#rpm - qf name.rpm 查看已經(jīng)裝好的文件屬于哪個(gè)rpm包
#rpm2cpio filename.rpm 使用“rpm2cpio”來(lái)從RPM文檔中提取文件
5、安裝以源代碼方式提供的軟件
(1)、解包解壓:
#tar –xzvf *.tar.gz 解包解壓后會(huì )在當前目錄下建立一個(gè)子目錄,如xxxx
(2)、#cd xxxx
(3)、#./configure
(4)、#make
(5)、#make install
三、系統狀態(tài)類(lèi)命令
1、dmesg
功能:顯示引導時(shí)內核顯示的狀態(tài)信息
#dmesg |grep -4 “eth0”顯示狀態(tài)信息中與eth0相關(guān)的前后4行內容
2、uname
功能:顯示當前的系統信息
#uname -a
3、uptime
功能:顯示當前時(shí)間,自從上次重新引導之后系統運行的時(shí)間,服務(wù)器和多少用戶(hù)鏈接以及系統前1、5、15分鐘的負載信息。
4、who
功能:顯示當前登錄在系統上的用戶(hù)信息。
-r:查看系統運行等級
-w,在登錄賬號后面顯示一個(gè)字符來(lái)表示用戶(hù)的信息狀態(tài):
+:允許寫(xiě)信息; -:不允許寫(xiě)信息; ?:不能找到終端設備
5、w
功能:查看其他登錄的用戶(hù)(who增強版)
第一行輸出內容:當前時(shí)間,系統啟動(dòng)到現在的時(shí)間,登錄用戶(hù)的數目,系統在最近1秒、5秒和15秒的平均負載
第二行輸出內容:登錄賬號、終端名稱(chēng)、遠程主機名、登錄時(shí)間、空閑時(shí)間、JCPU、PCPU、當前正在運行進(jìn)程的命令行。
*JCPU時(shí)間指的是和該終端(tty)連接的所有進(jìn)程占用的時(shí)間
*PCPU時(shí)間則是指當前進(jìn)程(即在WHAT項中顯示的進(jìn)程)所占用的時(shí)間
6、whoami
功能:顯示當前用戶(hù)名
7、hostname
功能:顯示系統的主機名
8、cal [月份] [年份]
功能:顯示日歷
9、bc
功能:計算器,使用quit退出
10、date
功能:顯示或修改日期時(shí)間。
11、df
功能:報告文件系統磁盤(pán)空間的使用情況
語(yǔ)法:df[參數]
[參數]
-h:用常見(jiàn)的格式顯示出大?。ɡ纾?K,23M,2G等)
-t:只顯示指定類(lèi)型的文件系統
12、free
功能:查看當前內存和交換空間的使用情況
四、網(wǎng)絡(luò )類(lèi)命令
1、write
功能:向另外一個(gè)用戶(hù)發(fā)信息,以Ctrl+D作為結束,普通用戶(hù)發(fā)信息受到mesg狀態(tài)影響。
語(yǔ)法:write <用戶(hù)名>
2、wall
功能:向所有用戶(hù)廣播信息,普通用戶(hù)受到mesg狀態(tài)影響。
語(yǔ)法:wall [message]
3、mesg
功能:顯示或設置是否接受其他用戶(hù)發(fā)來(lái)的信息。
語(yǔ)法:mesg [參數]
[參數]
y:接受從其他用戶(hù)發(fā)來(lái)的信息
n:不接受從其他用戶(hù)發(fā)來(lái)的信息
#mesg
顯示當前是否接受其他用戶(hù)發(fā)來(lái)的信息
4、ping
功能:通過(guò)檢查網(wǎng)絡(luò )中其他主機的應答信息,來(lái)確認網(wǎng)絡(luò )的連通性。
語(yǔ)法:ping [參數] 主機名(或ip地址)
參數:
-c count:共發(fā)出count次信息。
-R:顯示路由表的詳細信息
5、telnet
功能:遠程登錄
語(yǔ)法:telnet [<主機名>][:端口號]
6、ifconfig
功能:配置網(wǎng)絡(luò )接口
語(yǔ)法:
ifconfig [interface] [up][down][netmask mask]
#ifconfig
#ifconfig eth0 192.168.0.3 netmask 255.255.255.0 up
7、netstat
功能:顯示本地系統的網(wǎng)絡(luò )連接狀態(tài)
語(yǔ)法:netstat [-a][-r][-c][-i]
-a:顯示所有本地系統中的網(wǎng)絡(luò )連接
-r:顯示路由表
-c:顯示連續的網(wǎng)絡(luò )連接狀態(tài)
-i:顯示全部網(wǎng)絡(luò )接口信息。
8、ftp
功能:文件傳輸
語(yǔ)法:ftp [<主機名>]
子命令:
:列出所有的FTP命令;
pwd:顯示遠程主機的當前目錄
lcd:切換和顯示本機主機的當前目錄
ls:列出遠程主機當前目錄下的內容
!dir:列出本機主機的當前目錄下的內容
cd:切換遠程主機的目錄
get:下載一個(gè)文件
mget:成批下載文件
put:上傳一個(gè)文件
mput:成批上傳文件
prompt:使用mget和mput時(shí)是否采用交互式詢(xún)問(wèn)
bye:中止一個(gè)FTP連接
open:打開(kāi)一個(gè)FTP連接
close:關(guān)閉一個(gè)FTP連接
binary:采用二進(jìn)制模式傳輸
ascii:采用ascii模式傳輸
type:查看傳輸模式
2.2 shell
一、shell簡(jiǎn)介
二、shell功能
一、shell簡(jiǎn)介
(一)、定義:shell是用戶(hù)與操作系統內核之間的接口,具有命令解釋器和編程語(yǔ)言的雙重功能。
(二)、shell中的命令分為內部命令和外部命令,內部命令包含在shell自身之中的,如cd,exit等,查看內部命令的方法可用help命令;而外部命令是存在于文件系統某個(gè)目錄下的具體的可執行程序,如cp等,查看外部命令的路徑可用which。
(三)、命令解釋過(guò)程
二、shell功能
(一)、命令行解釋
1、交互模式
2、后臺運行:如#fsck / &
(二)、通配符
*:表示任一串字符
?:表示任一個(gè)字符
[…]:匹配方括號內的任意字符
[!...]或[^…]:匹配除方括號內的任意字符
[a-zA-Z]:匹配首字符是字母的所有文件
(三)、重定向
1、>:輸出重定向 如:#ls >1.txt
2、>>:追加重定向
如:#cat /etc/inittab >>1.txt
3、<:輸入重定向 如#wc </etc/passwd
4、<<!...!:輸入重定向特例
如#wc <<!
hello
it is a nice day
!
5、2>:錯誤重定向
6、&>:同時(shí)實(shí)現輸出重定向和錯誤重定向
(四)、管道操作符 |
功能:把一個(gè)命令的輸出內容作為另外一個(gè)命令的輸入內容。
#ls |more:分屏顯示
#dmesg |grep eth0
(五)、命令替換符` `
功能:把一個(gè)命令的輸出內容作為另外一個(gè)命令的參數。
#cd `pwd`
#tar –cvf zsan.tar `find / -user “zsan”`
#tar –cvf conf.tar `ls /etc *.conf`
(六)、命令執行順序
1、;按順序執行命令 如#date;cal
2、&&邏輯與的關(guān)系,只有前面的命令執行成功后面的命令才會(huì )被執行。
如:#mail zsan@sje.cn <123.txt &&rm –fr 123.txt
3、||邏輯或的關(guān)系,只有前面的命令執行失敗后面的命令才會(huì )被執行。
如:#write zsan <123.txt ||mail zsan@sje.cn <123.txt
4、( )組合命令行中的命令,改變執行順序
如:#date;cal|wc與#(date;cal)|wc
(七)、自動(dòng)補全:在bash下輸入命令時(shí)不必把命令輸全,bash就能判斷出用戶(hù)所要輸入的命令,可通過(guò)tab鍵完成自動(dòng)補全功能。
(八)、命令別名
功能:可以使工作變得輕松的工具
語(yǔ)法:alias [<別名>=“<原文件名>”]
#alias 顯示所有的別名
#alias md=“mkdir” 建立別名
#unalias md 取消別名
(九)、命令歷史
功能:可以記錄一定數目的以前在shell中輸入的命令以避免重復勞動(dòng)
1、查看所有的歷史命令:#history
2、查看某條歷史命令:#history n
3、引用歷史命令:#!<命令編號>
2.3 vi的使用
一、編輯模式下的常用命令
1、0:移光標到當前行的行首
2、$:移光標到當前行的行尾
3、H:移光標到當前屏第一行的行首
4、M:移光標到當前屏中間行的行首
5、L:移光標到當前屏最后一行的行首
6、pageup、pagedown:上翻頁(yè),下翻頁(yè)
7、ctrl+g:顯示狀態(tài)信息
8、X:刪除一個(gè)字符
9、dd:刪除或剪切光標所在的行
10、d0:刪除光標處到行首的內容
11、d$:刪除光標處到行尾的內容
12、u:取消上次命令
13、. :重復操作
14、YY:復制當前行
15、p:粘貼
二、命令狀態(tài)下操作:
1、:n 跳行
2、:w 保存
3、:q 退出(須先保存)
4、:w filename 另存為
5、:wq 保存退出
6、:q! 不保存強制退出
7、:a,b w filename 將a行到b行的內容另存為
8、:.,$ w filename 將當前行到行尾的內容另存為
9、:1,. W filename 將第一行到當前行的內容另存為
10、:/string 在全文中查找string字符串
11、:a,b s/string1/string2/g 將a行到b行之間的所有string1替換成string2
12、:% s/string1/string2/g 將全文中的string1替換成string2
13、:e filename 新建文件
14、: r filename 打開(kāi)一個(gè)文件
15、:f filename 重命名當前文件
16、:n1,n2 co n3 將n1和n2行的內容復制到n3行位置上
17、:n1,n2 m n3 將n1和n2行的內容移到n3行的位置上
18、:n1,n2 d 將n1到n2行的內容刪除掉
19、:set number 設置行號
20、:set autoindent 設置自動(dòng)縮進(jìn)
21、:!Cmd 執行shell命令
22、:r ! Cmd 將shell命令的執行結果作為文件的內容
23、:sh 暫時(shí)退出vi到系統下,按ctrl+d結束
24、:X 文件保存退出前加密。
hls
查看公開(kāi)信息
發(fā)送悄悄話(huà)給hls
給hls發(fā)送Email
查找hls發(fā)表的更多帖子
添加 hls 到好友列表
第三章:文件系統管理
3.1 文件系統概述
一、文件管理
(一)、文件的類(lèi)型
1、普通文件:包括文本文件和二進(jìn)制文件
2、目錄文件
3、鏈接文件:包括硬鏈接和軟鏈接。
4、特殊文件:
設備文件:包括字符類(lèi)設備(如打印機)和塊設備(如硬盤(pán))以及空設備(null)
管道文件:是一個(gè)先進(jìn)先出(FIFO)的緩沖區。
文件類(lèi)型及其代表字符
(二)、文件權限
1、chmod
功能:改變文件(目錄)的訪(fǎng)問(wèn)權限
權限的表示法有兩種:
一是采用符號標記模式進(jìn)行更改
二是采用八進(jìn)制數指定新的訪(fǎng)問(wèn)權限
符號表示法的格式:[ugoa][+-=][rwx]
u:表示文件的所有者;
g:表示文件所有者同組的用戶(hù);
o:其他用戶(hù)
a:所有用戶(hù)
+:添加權限
-:撤消權限
=:指定權限
r:讀權限
w:寫(xiě)權限
x:執行權(或對目錄的訪(fǎng)問(wèn)權)
八進(jìn)制數字表示法:
用1—4個(gè)八進(jìn)制數來(lái)表示,其中:
第一位:
用4表示setuid:設置使文件在執行階段具有文件所有者的權限,如/usr/bin/passwd的權限設置 ;
用2表示setgid:該權限只對目錄有效. 目錄被設置該位后, 任何用戶(hù)在此目錄下創(chuàng )建的文件都具有和該目錄所屬的組相同的組;
用1
表示sticky bit :該位可以理解為防刪除位,一個(gè)文件是否可以被某用戶(hù)刪除, 主要取決于該文件所在的目錄是否對該用戶(hù)具有寫(xiě)權限.
如果沒(méi)有寫(xiě)權限, 則這個(gè)目錄下的所有文件都不能被刪除, 同時(shí)也不能添加新的文件. 如果希望用戶(hù)能夠添加文件但同時(shí)不能刪除別的文件,
則可以對目錄使用sticky bit位. 用戶(hù)對目錄設置該位后, 就算對目錄具有寫(xiě)權限, 也不能刪除不屬于該用戶(hù)的文件。
第二位:用來(lái)設置文件所有者的權限,用4表示可讀,用2表示可寫(xiě),用1表示可執行
第三位:用來(lái)設置文件所在組用戶(hù)的權限,用4表示可讀,用2表示可寫(xiě),用1表示可執行
第四位:用來(lái)設置其他用戶(hù)的權限,用4表示可讀,用2表示可寫(xiě),用1表示可執行。
Chmod使用格式:
Chmod [參數][模式]<文件或目錄>
參數:-R:改變目錄及其所有子目錄的文件權限。
舉例:
#chmod u+x inittab
#chmod ug+wx,o-x inittab
#chmod 0644 inittab
#chmod 0755 inittab
#chmod –R 700 ~
目錄權限的補充說(shuō)明:
1、目錄的只讀訪(fǎng)問(wèn)不允許使用cd進(jìn)入目錄,必須要有執行的權限才能進(jìn)入。
2、只有執行權限只能進(jìn)入目錄,不能看到目錄下的內容,要想看到目錄下的文件名和目錄名,需要可讀權限。
3、一個(gè)文件能不能被刪除,主要看該文件所在的目錄對用戶(hù)是否具有寫(xiě)權限,如果目錄對用戶(hù)沒(méi)有寫(xiě)權限,則該目錄下的所有文件都不能被刪除,文件所有者除外
對
特殊位的舉例說(shuō)明: 操作這些特殊位與操作文件權限的命令是一樣的, 都是 chmod. 有兩種方法來(lái)操作, 1) chmod u+s temp
: 為temp文件加上setuid標志. (setuid 只對文件有效) chmod g+s tempdir
:為tempdir目錄加上setgid標志 (setgid 只對目錄有效) chmod o+t tempdir :
為temp文件加上sticky標志 (sticky只對目錄有效)
2) 采用八進(jìn)制方式. 對一般文件通過(guò)三組八進(jìn)制數字來(lái)置標志, 如 666, 777, 644等. 如果設置這些特殊標志, 則在這組數字之外外加一組八進(jìn)制數字. 如 4666, 2777等.
設
置完這些標志后, 可以用 ls -l 來(lái)查看. 如果有這些標志, 則會(huì )在原來(lái)的執行標志位置上顯示. 如 rwsrw-r--
表示有setuid標志 rwxrwsrw- 表示有setgid標志 rwxrw-rwt 表示有sticky標志
那么原來(lái)的執行標志x到哪里去了呢? 系統是這樣規定的, 如果本來(lái)在該位上有x, 則這些特殊標志顯示為小寫(xiě)字母 (s, s, t). 否則,
顯示為大寫(xiě)字母 (S, S, T)
2、chown
功能:修改文件(目錄)所有者和組別
語(yǔ)法:
chown [參數]<用戶(hù)名[.組名]><文件或目錄>
參數:-R:遞歸地修改目錄及其下面內容的所有權。
#chown zsan history.doc
#chown –R zsan.sales /home/zsan
3、chgrp
功能:改變文件的組所有權
格式:chgrp [參數]<組><文件或目錄>
[參數]:-R:遞歸地將指定目錄下的所有文件和子目錄的組名修改為指定的組。
#chgrp –R student /home/st01
4、umask
功能:用于設置文件的默認生成掩碼,告訴系統當創(chuàng )建一個(gè)文件或目錄時(shí)不應該賦予其哪些權限。
(三)ext2(ext3)文件系統安全選項
A:Atime。告訴系統不要修改對這個(gè)文件的最后訪(fǎng)問(wèn)時(shí)間
S:
Sync。一旦應用程序對這個(gè)文件執行了寫(xiě)操作,使系統立刻把修改的結果寫(xiě)到磁盤(pán)。 a:Append
Only。系統只允許在這個(gè)文件之后追加數據,不允許任何進(jìn)程覆蓋或者截斷這個(gè)文件。如果目錄具有這個(gè)屬性,系統將只允許在這個(gè)目錄下建立和修改文件,而
不允許刪除任何文件。
i:Immutable。系統不允許對這個(gè)文件進(jìn)行任何的修改。如果目錄具有這個(gè)屬性,那么任何的進(jìn)程只能修改目錄之下的文件,不允許建立和刪除文件。
ext2(ext3)文件系統安全選項
d:No dump。在進(jìn)行文件系統備份時(shí),dump程序將忽略這個(gè)文件。
C:Compress。系統以透明的方式壓縮這個(gè)文件。從這個(gè)文件讀取時(shí),返回的是解壓之后的數據;而向這個(gè)文件中寫(xiě)入數據時(shí),數據首先被壓縮之后,才寫(xiě)
入磁盤(pán)。 s:Secure Delete。讓系統在刪除這個(gè)文件時(shí),使用0填充文件所在的區域。
u:Undelete。當一個(gè)應用程序請求刪除這個(gè)文件,系統會(huì )保留其數據塊以便以后能夠恢復刪除這個(gè)文件。
chattr修改文件屬性
chattr +i filename 設置i屬性
chattr –i filename 取消i屬性
lsattr 查看設置的屬性
二、linux支持的文件系統:
Ext2或ext3文件系統
FAT(適用各種版本的DOS)
NTFS(適用Windows NT -- Windows 2000)
VFAT和FAT32(適用Windows 9x)
HFS(適用MacOS)
HPFS(適用OS/2)
Swap(交換分區)
3.2 fdisk分區工具
#fdisk –l /dev/hda
#fdisk /dev/hda
:m 列出所有的分區命令
:p 顯示分區情況
:d 刪除原有的分區
:n 增加新分區
:t 改變分區類(lèi)型
:l 查看分區類(lèi)型
:a 設置活動(dòng)分區
: w 保存退出
: q 不保存退出
3.3 使用mkfs創(chuàng )建文件系統
mkfs命令的格式是:mkfs 選項 設備名
例如:
mkfs –t ext2 –c /dev/hda2
-t:指定文件系統類(lèi)型
-c:建立文件系統前先檢測有無(wú)壞塊
#mke2fs –c /dev/hda2
3.4 掛載和卸載文件系統
掛載文件系統
卸載文件系統
掛載文件系統
mount /dev/sdb1 /tmp/test1
mount /mnt/floppy
mount
注意
掛載目錄必須存在
Linux專(zhuān)門(mén)提供了掛載目錄/mnt
不要在掛載目錄下進(jìn)行掛載操作
將軟盤(pán)或光盤(pán)放入驅動(dòng)器后在實(shí)施掛載操作
卸載前不要取出軟盤(pán)或光盤(pán)
不能在同一個(gè)目錄下掛載兩個(gè)文件系統
卸載文件系統
umount /mnt/cdrom
umount /dev/sdb1
umount /tmp/test1
mount –a:卸載所有掛載設備
注意:不能在掛載目錄下進(jìn)行卸載操作
3.5 軟盤(pán)、光盤(pán)、USB硬盤(pán)的使用
1、軟盤(pán)格式化:fdformat –n /dev/fd0H1440
2、建立文件系統
mkfs –t ext2 –c /dev/fd0H1440
3、掛載文件系統
mount –t ext2 /dev/fd0H1440 /mnt/floppy
4、使用
cp /etc/lilo.conf /mnt/floppy
mkdir /mnt/floppy/mydir1
5、卸載
umount /mount/floppy
1、掛載文件系統
mount –t iso9660 /dev/cdrom /mnt/cdrom
或
mount /mnt/cdrom
2、卸載
umount /mnt/cdrom
eject(彈出光盤(pán))
USB硬盤(pán)的使用
USB硬盤(pán)在Linux系統下是被模擬成SCSI設備來(lái)使用的,因此對應的設備文件是/dev/sda,如果有多塊USB硬盤(pán),則設備文件依次是/dev/sdb、/dev/sdc等。
用mount命令加-o loop選項掛載光盤(pán)鏡像文件
1、#mkdir /mnt/iso
2、#mount –o loop rfdesktop4.iso /mnt/iso
3.6在系統啟動(dòng)時(shí)自動(dòng)掛裝文件系統
要系統自動(dòng)掛載文件系統必須修改系統配置文件/etc/fstab。系統啟動(dòng)所要掛載的文件系統、掛載點(diǎn)、文件系統類(lèi)型等都記錄在/etc/fstab文件里。
3.7 文件系統管理的常用命令
df:顯示文件系統的統計數據
du:顯示硬盤(pán)使用的統計信息
ln:創(chuàng )建鏈接文件
tar:文件打包
fsck:文件系統檢查命令
dd:文件拷貝命令
fsck
功能:檢查文件系統
語(yǔ)法:fsck [選項]<設備名>
選項:
-t fstype:檢查的文件系統類(lèi)型
-A 檢查所有在/etc/fstab中列出的文件系統
-p:整理文件系統,自動(dòng)修正所有問(wèn)題
注意:
1、當檢查一個(gè)文件系統時(shí),應該確保處于未掛裝狀態(tài)
2、當要檢查根文件系統時(shí),應該使用急救軟盤(pán)或安裝光盤(pán)重新引導機器后時(shí)行
fsck命令輸入的錯誤代碼
Linux引導盤(pán)的制作
#cd /lib/modules
#mkbootdisk --device /dev/fd0 2.4.20-8
制作引導盤(pán)的好處:
1、替代LILO
2、緊急情況下使用引導盤(pán)和急救盤(pán)恢復系統
3、當其他系統覆蓋了LILO
dd:文件拷貝命令
制作Linux安裝啟動(dòng)盤(pán)
dd if=boot.img of=/dev/fd0 bs=1440k
制作redhat linux急救盤(pán)
#dd if=rescue.img of=/dev/fd0
rescue.img存放在redhat linux安裝光盤(pán)的images目錄中。
備份和恢復軟盤(pán)數據
dd if= /dev/fd0 of=backup
dd if=backup of= /dev/fd0
第四章:用戶(hù)管理
本章主要內容
4.1 用戶(hù)和組管理概述
4.2 用戶(hù)賬號的管理
4.3 組的管理
4.4 磁盤(pán)限額
4.1 用戶(hù)和組管理概述
一、賬號管理包括用戶(hù)的管理、組的管理和口令的管理
二、linux下的用戶(hù)分為三類(lèi):
1、超級用戶(hù):超級用戶(hù)的uid和gid均為0
2、普通用戶(hù):普通用戶(hù)的uid和gid是在500-60000范圍內的一個(gè)值
3、偽用戶(hù):uid的值是在1-499之間,不能登錄,只是滿(mǎn)足系統管理的要求,如bin,sys,lp 等。
三、linux下的組分為標準組和私有組:
1、當在創(chuàng )建一個(gè)新用戶(hù)時(shí),若沒(méi)有指定他所屬于的組,系統就會(huì )建立一個(gè)和該用戶(hù)同名的私有組;
2、標準組可以容納多個(gè)用戶(hù),若使用標準組,在創(chuàng )建一個(gè)新的用戶(hù)時(shí)就可以指定他所屬于的組。
四、賬號系統文件
1、linux下的賬號系統文件主要有/etc/passwd,/etc/group,/etc/shadow ,這些文件只有超級用戶(hù)才可以修改
2、其他文件或目錄
(1)、默認設置文件
/etc/login.defs,/etc/default/useradd
(2)、默認設置目錄
/etc/skel
2.1 用戶(hù)賬號管理
一、創(chuàng )建新的用戶(hù)賬號系統將會(huì )
1、在/etc/passwd中添加一筆記錄
2、創(chuàng )建用戶(hù)的自家目錄
3、在用戶(hù)自家目錄中設置默認的配置文件
4、設置用戶(hù)初始口令
二、創(chuàng )建賬號
Useradd [<選項>]<用戶(hù)名>
[<選項>]
-u uid:指定新用戶(hù)的uid,默認為使用當前最大的uid加1
-g group:指定新用戶(hù)所在的組,該組必須已經(jīng)存在
-G group:指定新用戶(hù)的附加組
-d dir :指定新用戶(hù)的自家目錄
-s shell:指定新用戶(hù)使用的shell,默認為bash,也可以使用chsh命令修改,/etc/shells
-c comment:說(shuō)明新用戶(hù)的附加信息,如全名等
-e expire:指定用戶(hù)的登錄失交效時(shí)間,格式yyyy-mm-dd
-m 建立新用戶(hù)的自家目錄
-M 不建立新用戶(hù)的自家目錄
-R 建立一個(gè)系統用戶(hù)
舉例:
#useradd –g ll –e 12/31/2001 lei
#passwd lei
三、刪除已存在的用戶(hù)賬號
Userdel –r lei
-r :表示連同自家目錄一起刪除
四、修改用戶(hù)屬性
Usermod [<選項>]<用戶(hù)名>
其中[<選項>]和useradd中的選項基本相同,但增加
-l:更改用戶(hù)的賬號名
-L:鎖定用戶(hù)
-U:取消賬號鎖定
#usermod –l xjlei –d /home/xjlei –G girl lei
五、成為超級用戶(hù)
修改用戶(hù)的uid和gid為0即可。
命令:usermod –u 0 –o zsan
-o:強迫修改uid
六、禁用和恢復用戶(hù)帳戶(hù)
命令:passwd [<選項>]<用戶(hù)名>
[選項]
-l:鎖定用戶(hù)
-u:對被鎖定的用戶(hù)解鎖
-d:刪除用戶(hù)密碼
-S:查看用戶(hù)賬號的狀態(tài),如是否被鎖定等
七、切換到其他用戶(hù)
命令:su [-] [username]
說(shuō)明:如果目錄用戶(hù)是普通用戶(hù),則可以切換到超級用戶(hù)或其他普通用戶(hù),但需要口令,如果目錄用戶(hù)是超級用戶(hù),則可以直接切換到普通用戶(hù),不需要密碼。
[-] :連同工作環(huán)境一起切換。
八、sudo
sudo是可以讓普通用戶(hù)執行某個(gè)超級用戶(hù)執行的程序,如:sudo vi /etc/shadow
所有這些配置項要保存在/etc/sudoers文件中
sudo文件中語(yǔ)法如下:
1、用Host_Alias關(guān)鍵字定義主機列表
如:Host_Alias RED=www,ftp
2、用User_Alias關(guān)鍵字定義用戶(hù)別名列表
如:User_Alias US=wdn,zsan
3、用Cmnd_Alias關(guān)鍵字定義命令別名列表
如:Cmnd_Alias CMDS=/bin/rm,/bin/chown
一個(gè)實(shí)例:/etc/sudoers
User_Alias US=wdn
User_Alias US1=lsi,wemz
User_Alias US2=zsan
US ALL=ALL
US1 ALL=/sbin/shutdown
US2 ALL=ALL,!/bin/su
4.3 組的管理
一、添加組
命令:groupadd [<選項>]<組名>
[選項]
-g gid:指定新組的gid,默認為使用當前最大的gid加1
-r:建立一個(gè)系統用戶(hù)組,不指定-g選項,則分配一個(gè)1-499之間的值
#groupadd –g 888 ll
二、刪除組
命令:groupdel <組名>
三、修改組的屬性
命令:groupmod [<選項>]<組名>
其中選項與groupadd選項基本相同,但增加一個(gè)-n選項,用于修改新的組名。
#groupmod –n girl ll
四、為標準組添加用戶(hù)
命令:gpasswd [選項][用戶(hù)][組]
-a:把用戶(hù)加入組
-d:把用戶(hù)從組中刪除
#gpasswd –a zsan sales
五、查看當前用戶(hù)屬于哪些組
groups [username]
六、切換到某組運行(必須已屬此組)
newgrp [group]
七、其他命令
1、id命令
功能:可以查看一個(gè)用戶(hù)的uid和gid
格式:id 用戶(hù)名
2、finger
功能:查看用戶(hù)的相關(guān)信息
格式:finger 用戶(hù)名
3、chfn
功能:修改用戶(hù)信息
格式:chfn 用戶(hù)名
4.4 磁盤(pán)限額
一、安裝磁盤(pán)限額
在安裝光盤(pán)中找到quota的rpm軟件包。如:
#rpm –ivh quota-version.i386.rpm
可用rpm –q quota查看是否安裝
二、啟用系統的quota功能
編輯etc/fstab,在要啟用磁盤(pán)限額的分區
(如/home)行中的添加相應參數如
/dev/hda6 /home ext3 rw defaults,usrquota,grpquota 0 2
三、創(chuàng )建quota文件
在/home分區中添加aquota.user和aquota.group文件
#touch aquota.user
#touch aquota.group
系統重啟,運行quotacheck –avug命令在配額文件中創(chuàng )建磁盤(pán)信息。
四、設置用和組的quota
對
一個(gè)用戶(hù)的磁盤(pán)使用限制有兩種,一種是軟限制(soft limit),一種是硬限制(hard
limit),硬限制是分配給用戶(hù)的最大磁盤(pán)空間,使用完了就立即拒絕用戶(hù)再存放文件,而當用戶(hù)的磁盤(pán)使用空間超過(guò)了軟限制時(shí),在一定期限內仍可繼續存儲
文件,但系統會(huì )有警告。而這個(gè)期限可用edquota –t 來(lái)設置
1、為用戶(hù)設置quota
#edquota –u zsan
2、為組設置quota
#edquota –g sales
3、若為多個(gè)用戶(hù)重復設置quota
#edquota –p 參考用戶(hù) 待設置用戶(hù)
#edquota –p zsan lsi wdn
四、啟動(dòng)quota
#quotaon -avug
五、查看磁盤(pán)限額的情況
#quota zsan
#quota –a
六、顯示有關(guān)quota的摘要信息
# repquota /home
hls
查看公開(kāi)信息
發(fā)送悄悄話(huà)給hls
給hls發(fā)送Email
查找hls發(fā)表的更多帖子
添加 hls 到好友列表
第五章 進(jìn)程管理
本章主要內容
5.1 進(jìn)程的基本概念
5.2 進(jìn)程的管理和監控
5.3 進(jìn)程的自動(dòng)執行
5.1 進(jìn)程的基本概念
一、程序、進(jìn)程和作業(yè)的概念
1、程序是機器指令的集合,一般以文件的形式存儲在磁盤(pán)上,是靜態(tài)的。
2、進(jìn)程是一個(gè)程序在地址空間中的一次執行活動(dòng),是動(dòng)態(tài)的。
3、作業(yè)是指用戶(hù)提交給計算機進(jìn)行加工的一項任務(wù),是由用戶(hù)程序、數據以及某種形式的控制信息組成。
二、進(jìn)程的類(lèi)型
1、交互進(jìn)程:由一個(gè)shell啟動(dòng)的進(jìn)程,既可以在前臺運行,也可以在后臺運行。
2、批處理進(jìn)程:不與特定的終端相關(guān)聯(lián),提交到等待隊列中順序執行進(jìn)程。
3、守護進(jìn)程:在linux啟動(dòng)是初始化,需要時(shí)運行于后臺的一些服務(wù)進(jìn)程。
三、進(jìn)程的啟動(dòng)方式:
1、手工啟動(dòng),分為前臺啟動(dòng)和后臺啟動(dòng),通常情況下,我們執行一個(gè)命令就會(huì )啟動(dòng)一個(gè)進(jìn)程。
#ls / –R >test 前臺啟動(dòng)
#ls / -R >test & 后臺啟動(dòng)
2、調度啟動(dòng):事先設置好,根據用戶(hù)要求讓系統自動(dòng)啟動(dòng)。
2.2 進(jìn)程的管理和監控
一、查看系統中的進(jìn)程
1、ps [選項]
[選項]
-a 顯示所有用戶(hù)的進(jìn)程,但不包括沒(méi)有控制終端的進(jìn)程
-u 顯示用戶(hù)名和啟動(dòng)時(shí)間
-x 顯示沒(méi)有控制終端的進(jìn)程
PS命令輸出的重要信息的含義
PID:進(jìn)程號
PPID:父進(jìn)程的進(jìn)程號
TTY:進(jìn)程啟動(dòng)的終端
STAT:進(jìn)程當前的狀態(tài),S代表休眠,R代表運行,T代表追蹤或停止,Z代表僵尸進(jìn)程,W代表進(jìn)程沒(méi)有固定的pages,<表示高優(yōu)先級的進(jìn)程,N代表低優(yōu)先級的進(jìn)程。
TIME:進(jìn)程自從啟動(dòng)以來(lái)占用CPU的總時(shí)間
COMMAND/CMD:進(jìn)程的命令名
USER:用戶(hù)名
%CPU:占用CPU的時(shí)間與總時(shí)間的百分比
%mem:占用內存與系統總內存的百分比
SIZE:進(jìn)程代碼大小
二、控制系統中的進(jìn)程
1、kill
功能:殺死一個(gè)進(jìn)程
格式:kill -9 進(jìn)程號
2、renice
功能:改變一個(gè)正在運行進(jìn)程的優(yōu)先級
格式:renice –n pid
-n:進(jìn)程的優(yōu)先級,大于0是降低優(yōu)先級,小于0是提高優(yōu)先級,優(yōu)先級的范圍是從19到-20
3、 nohup
功能:當用戶(hù)退出登錄后,進(jìn)程仍然能夠在后臺繼續運行.
語(yǔ)法:nohup myprogram &
4、top
功能:以動(dòng)態(tài)的方式顯示進(jìn)程狀態(tài)
Top命令的顯示欄說(shuō)明:
PID:進(jìn)程號
User:進(jìn)程的所有者
Pri:進(jìn)程運行的優(yōu)先級
Ni:nice值,表示進(jìn)程的優(yōu)先級
VIRT:進(jìn)程占用的虛擬內存的總量
RES:進(jìn)程占用的非swap內存的總量
SHR:和其他進(jìn)程共享內存的總量。
S:進(jìn)程的狀態(tài)
TIME+:進(jìn)程的累積運行時(shí)間
Top中的子命令
l,t,m:調整顯示的摘要信息,l是平均負載,t是cpu狀態(tài),m是內存信息
f:用來(lái)添加、刪除顯示欄位
u:列出某個(gè)用戶(hù)的進(jìn)程
n:設置顯示總進(jìn)程數的最大值
k,r:k用來(lái)殺死某個(gè)進(jìn)程,r是renice
q:退出TOP
5、進(jìn)程的掛起和恢復
按ctrl+z可以暫停正在運行的進(jìn)程,
執行jobs可以顯示當前終端下有哪些程序在后臺運行以及哪些進(jìn)程被掛起了。
執行fg可以在前臺恢復一個(gè)被掛起的進(jìn)程。
執行bg可以在后臺恢復一個(gè)被掛成的進(jìn)程。
5.3 進(jìn)程的自動(dòng)運行
1、at
功能:指定在某一時(shí)刻執行命令
格式:at [選項] 時(shí)間
選項:
-l:列出已經(jīng)排定的任務(wù)
-d n 刪除序號為n的任務(wù)
-v:顯示命令將被執行的時(shí)間
時(shí)間表示法:
HH:MM 當天中的某小時(shí)、某分鐘,如果此時(shí)刻已經(jīng)過(guò)去了,則推遲到下一天的這一時(shí)刻。
Midnight:午夜
noon:中午
MM/DD/YY:某月、某日、某年
now+計時(shí):從現在起某時(shí)刻后,如now+3days表示從現在起,三天以后
2、batch
功能:任務(wù)會(huì )在系統負載較小的時(shí)候運行。
3、應用程序corn
對于要在每天或每周都要定期執行的任務(wù),則可以使用corn來(lái)排定。
格式:crontab –e
可以調動(dòng)VI來(lái)編輯計劃任務(wù)表。如:
00 03 * * * rm –fr /ftp/incoming/temp/*
分鐘 小時(shí) 日 月 星期 命令
(00-59)(00-23)(01-31)(01-12)(01-07)
#crontab –l 查看用戶(hù)的計劃表
#crontab –r 刪除用戶(hù)的計劃表
4、linux自動(dòng)安排系統維護任務(wù)
/etc/crontab
/etc/cron.daily
/etc/cron.monthy
/etc/cron.weekly
/etc/cron.hourly
雖然 GUI 桌面(如 KDE 和 GNOME)能夠幫助用戶(hù)利用 Linux 特性,而無(wú)需關(guān)于命令行接口的功能知識,但還是經(jīng)常會(huì )需要更多的功能和靈活性。而且,基本熟悉這些命令對于在 shell 腳本中正確地使某些功能自動(dòng)化仍然是必需的。
這
篇文章是關(guān)于 Linux
文件命令的一個(gè)“速成教程”,它是為那些剛接觸這個(gè)操作系統或者只是需要補充這方面知識的用戶(hù)提供的。它包含了對一些更有用的命令的一個(gè)簡(jiǎn)明的概述以及關(guān)
于它們的最強大的應用的指導。下面包含的信息 — 結合一些實(shí)驗 — 將使您能夠容易地掌握這些基本的命令。(注意:當涉及到一個(gè)與 Oracle
集群文件系統 (OCFS) 結合的內核時(shí),這些命令中的某些命令的行為可能會(huì )稍微有所不同。在此情況下,Oracle 提供了一個(gè) OCFS
工具集,該工具集可以為文件命令應用提供一個(gè)更好的選擇。)
注意,這里包含的所有示例都在 SUSE Linux 8.0 Professional 上進(jìn)行了測試。雖然沒(méi)有理由相信它們在其它的系統上將不能工作,但如果出現問(wèn)題,您應當查看您的文檔,以了解可能的變化。
背景概念
在深入研究規范之前,讓我們回顧一些基礎知識。
文件和命令
在 Linux/UNIX 操作系統中,所有事物都被當作文件來(lái)處理:硬件設備(包括鍵盤(pán)和終端)、目錄、命令本身,當然還有文件。這個(gè)奇怪的慣例實(shí)際上是 Linux/UNIX 的能力和靈活性的基礎。
大多數(幾乎是全部)的命令形式如下:
command [option] [source file(s)] [target file]
獲取幫助
最有用的命令之一是那些提供幫助的命令(特別是對那些學(xué)習 Linux 的人而言)。Linux 中的兩個(gè)重要的信息來(lái)源是聯(lián)機參考手冊,或 man 頁(yè)面和 whatis 工具。您可以用 whatis 命令來(lái)訪(fǎng)問(wèn)一個(gè)不熟悉的命令的 man 頁(yè)面。
$ whatis echo
要了解關(guān)于這個(gè)命令的更多信息,可以使用:
$ man echo
如果您不知道某個(gè)特殊任務(wù)所需的命令,您可以用 man -k (也稱(chēng)為 apropos)和一個(gè)主題來(lái)生成可能的命令。例如:
$ man -k files
一個(gè)很有用但常常被忽視的命令可以提供關(guān)于使用 man 本身的信息:
$ man man
您可以用 SPACEBAR 來(lái)瀏覽任意的 man 頁(yè)面;UP ARROW 將向上翻滾文件。.要退出,則輸入 q,!,或 CTRL-Z。
用戶(hù)類(lèi)別
記得那句名言“所有動(dòng)物一例平等但有些動(dòng)物比其他動(dòng)物更加平等”嗎?在 Linux 世界中,根用戶(hù)掌管一切。
根
用戶(hù)可以以另一個(gè)用戶(hù)名 su (源自
"superuser")登錄。要執行諸如添加一個(gè)新用戶(hù)、打印機或文件系統之類(lèi)的任務(wù),必須作為根用戶(hù)登錄或者用 su
命令和根用戶(hù)密碼切換到超級用戶(hù)。系統文件(包括控制初始化過(guò)程的系統文件)歸根用戶(hù)所有。雖然可能允許普通用戶(hù)對它們進(jìn)行讀操作,但出于系統安全性的原
因,編輯的權利將留給根用戶(hù)。
BASH shell
雖然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默認 shell。它結合了與它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。
BASH
內置的命令 history 默認記錄最后輸入的 500 條命令??梢酝ㄟ^(guò)在命令提示符下輸入 history
來(lái)查看它們。要檢索某個(gè)特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN
ARROW,或在歷史列表中輸入它的編號,并在編號前面加上 "!",例如:
$ !49
您還可以通過(guò)一條命令在歷史列表中離位置最靠前的項目的距離來(lái)執行該命令:如果在歷史列表中有 53 個(gè)事件,$ !-3 將執行事件號 51。
像 UNIX/Linux 世界的其它 shell 一樣,BASH 使用了特殊的環(huán)境變量來(lái)方便系統管理。例如:
HOME,用戶(hù)主目錄
PATH,Linux 用來(lái)搜索您輸入的命令的可執行鏡像的搜索路徑
HISTSIZE,系統保存的歷史事件的數量
除了這些保留的關(guān)鍵字之外,您還可以定義您自己的環(huán)境變量。例如,Oracle 使用 ORACLE_HOME (還有其它一些變量),要使 Oracle 安裝成功完成,必須在您的環(huán)境中設置這些變量。
可以在提示符下臨時(shí)設置變量:
$HISTSIZE=100
或者,在 /etc/profile (需要根用戶(hù)權限)中進(jìn)行系統范圍的永久設置,或在 .profile 中進(jìn)行局部永久設置。
可以通過(guò) echo 命令,并用一個(gè) $ 符號來(lái)訪(fǎng)問(wèn)一個(gè)環(huán)境變量的值,進(jìn)而查看該值。
$ echo $HOME
/home/bluher
可以用 env 命令來(lái)查看當前所有的環(huán)境變量。
正則表達式和通配符
許多 Linux 命令使用通配符 * 和 ? 來(lái)匹配任意數量的字符或分別匹配任意的單個(gè)字符;正則模式匹配表達式利用一個(gè)句點(diǎn) (.) 來(lái)匹配除“換行符”之外的任意單個(gè)字符。這兩種情況下都使用方括號 ([ ]) 來(lái)