Linux必學(xué)的60個命令
數(shù)字屬性的格式應(yīng)為3個0到7的八進(jìn)制數(shù),其順序是(u)(g)(o)文件名,以空格分開的要改變權(quán)限的文件列表,支持通配符。
數(shù)
字表示的權(quán)限的含義如下:0001為所有者的執(zhí)行權(quán)限;0002為所有者的寫權(quán)限;0004為所有者的讀權(quán)限;0010為組的執(zhí)行權(quán)限;0020為組的寫
權(quán)限;0040為組的讀權(quán)限;0100為其他人的執(zhí)行權(quán)限;0200為其他人的寫權(quán)限;0400為其他人的讀權(quán)限;1000為粘貼位置位;2000表示假
如這個文件是可執(zhí)行文件,則為組ID為位置位,否則其中文件鎖定位置位;4000表示假如這個文件是可執(zhí)行文件,則為用戶ID為位置位。
3.實例
如果一個系統(tǒng)管理員寫了一個表格(tem)讓所有用戶填寫,那么必須授權(quán)用戶對這個文件有讀寫權(quán)限,可以使用命令:#chmod 666 tem
上
面代碼中,這個666數(shù)字是如何計算出來的呢?0002為所有者的寫權(quán)限,0004為所有者的讀權(quán)限,0020為組的寫權(quán)限,0040為組的讀權(quán)限,
0200為其他人的寫權(quán)限,0400為其他人的讀權(quán)限,這6個數(shù)字相加就是666(注以上數(shù)字都是八進(jìn)制數(shù)),結(jié)果見圖1所示。
圖1 用chmod數(shù)字方法設(shè)定文件權(quán)限
從圖1可以看出,tem文件的權(quán)限是-rw-rw-rw-,即用戶對這個文件有讀寫權(quán)限。
如果用字符權(quán)限設(shè)定使用下面命令:
#chmod a =wx tem
chown
1.作用
更改一個或多個文件或目錄的屬主和屬組。使用權(quán)限是超級用戶。
2.格式
chown [選項] 用戶或組 文件
3.主要參數(shù)
--dereference:受影響的是符號鏈接所指示的對象,而非符號鏈接本身。
-h, --no-dereference:會影響符號鏈接本身,而非符號鏈接所指示的目的地(當(dāng)系統(tǒng)支持更改符號鏈接的所有者,此選項才有效)。
--from=目前所有者:目前組只當(dāng)每個文件的所有者和組符合選項所指定的,才會更改所有者和組。其中一個可以省略,這已省略的屬性就不需要符合原有的屬性。
-f, --silent, --quiet:去除大部分的錯誤信息。
-R, --recursive:遞歸處理所有的文件及子目錄。
-v, --verbose:處理任何文件都會顯示信息。
4.說明
chown 將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或用戶ID;組可以是組名或組ID;文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。系統(tǒng)管理員經(jīng)常使用chown命令,在將文件拷貝到另一個用戶的目錄下以后,讓用戶擁有使用該文件的權(quán)限。
5.應(yīng)用實例
1.把文件shiyan.c的所有者改為wan
$ chown wan shiyan.c
2.把目錄/hi及其下的所有文件和子目錄的屬主改成wan,屬組改成users。
$ chown - R wan.users /hi
chattr
1.作用
修改ext2和ext3文件系統(tǒng)屬性(attribute),使用權(quán)限超級用戶。
2.格式
chattr [-RV] [-+=AacDdijsSu] [-v version] 文件或目錄
3.主要參數(shù)
-R:遞歸處理所有的文件及子目錄。
-V:詳細(xì)顯示修改內(nèi)容,并打印輸出。
-:失效屬性。
+:激活屬性。
= :指定屬性。
A:Atime,告訴系統(tǒng)不要修改對這個文件的最后訪問時間。
S:Sync,一旦應(yīng)用程序?qū)@個文件執(zhí)行了寫操作,使系統(tǒng)立刻把修改的結(jié)果寫到磁盤。
a:Append Only,系統(tǒng)只允許在這個文件之后追加數(shù)據(jù),不允許任何進(jìn)程覆蓋或截斷這個文件。如果目錄具有這個屬性,系統(tǒng)將只允許在這個目錄下建立和修改文件,而不允許刪除任何文件。
i:Immutable,系統(tǒng)不允許對這個文件進(jìn)行任何的修改。如果目錄具有這個屬性,那么任何的進(jìn)程只能修改目錄之下的文件,不允許建立和刪除文件。
D:檢查壓縮文件中的錯誤。
d:No dump,在進(jìn)行文件系統(tǒng)備份時,dump程序?qū)⒑雎赃@個文件。
C:Compress,系統(tǒng)以透明的方式壓縮這個文件。從這個文件讀取時,返回的是解壓之后的數(shù)據(jù);而向這個文件中寫入數(shù)據(jù)時,數(shù)據(jù)首先被壓縮之后才寫入磁盤。
s:Secure Delete,讓系統(tǒng)在刪除這個文件時,使用0填充文件所在的區(qū)域。
u:Undelete,當(dāng)一個應(yīng)用程序請求刪除這個文件,系統(tǒng)會保留其數(shù)據(jù)塊以便以后能夠恢復(fù)刪除這個文件。
4.說明
chattr
命令的作用很大,其中一些功能是由Linux內(nèi)核版本來支持的,如果Linux內(nèi)核版本低于2.2,那么許多功能不能實現(xiàn)。同樣-D檢查壓縮文件中的錯誤
的功能,需要2.5.19以上內(nèi)核才能支持。另外,通過chattr命令修改屬性能夠提高系統(tǒng)的安全性,但是它并不適合所有的目錄。chattr命令不能
保護(hù)/、/dev、/tmp、/var目錄。
5.應(yīng)用實例
1.恢復(fù)/root目錄,即子目錄的所有文件
# chattr -R +u/root
2.用chattr命令防止系統(tǒng)中某個關(guān)鍵文件被修改
在Linux下,有些配置文件(passwd ,fatab)是不允許任何人修改的,為了防止被誤刪除或修改,可以設(shè)定該文件的“不可修改位(immutable)”,命令如下:
# chattr +i /etc/fstab
sudo
1.作用
sudo是一種以限制配置文件中的命令為基礎(chǔ),在有限時間內(nèi)給用戶使用,并且記錄到日志中的命令,權(quán)限是所有用戶。
2.格式
sudo [-bhHpV] [-s ] [-u ] [指令]
sudo [-klv]
3.主要參數(shù)
-b:在后臺執(zhí)行命令。
-h:顯示幫助。
-H:將HOME環(huán)境變量設(shè)為新身份的HOME環(huán)境變量。
-k:結(jié)束密碼的有效期,即下次將需要輸入密碼。
-l:列出當(dāng)前用戶可以使用的命令。
-p:改變詢問密碼的提示符號。
-s :執(zhí)行指定的Shell。
-u :以指定的用戶為新身份,不使用時默認(rèn)為root。
-v:延長密碼有效期5分鐘。
4.說明
sudo
命令的配置在/etc/sudoers文件中。當(dāng)用戶使用sudo時,需要輸入口令以驗證使用者身份。隨后的一段時間內(nèi)可以使用定義好的命令,當(dāng)使用配置
文件中沒有的命令時,將會有報警的記錄。sudo是系統(tǒng)管理員用來允許某些用戶以root身份運行部分/全部系統(tǒng)命令的程序。一個明顯的用途是增強了站點
評論