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