linux漸學(xué)漸進(jìn)系列課程第30課如何改變文件屬性與權(quán)限_第1頁(yè)
linux漸學(xué)漸進(jìn)系列課程第30課如何改變文件屬性與權(quán)限_第2頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、6.2.2 更改文件權(quán)限已經(jīng)知道文件權(quán)限對(duì)于系統(tǒng)的安全重要性了,也知道文件權(quán)限與用戶(hù)與用戶(hù)組的關(guān)系了,那么,如何修改文件的權(quán)限呢?可以修改多少文件權(quán)限呢?其實(shí),一個(gè)文件的權(quán)限很多。先介紹幾個(gè)簡(jiǎn)單的,例如:用戶(hù)組、擁有者、各種的權(quán)限等等。chgrp:改變文件所屬用戶(hù)組 。n:改變文件擁有者。od:改變文件的屬性、SUID 等特性。更改所屬用戶(hù)組, chgrp改變文件的用戶(hù)組很簡(jiǎn)單,直接用 chgrp 即可,這個(gè)命令就是 change group(改變用戶(hù)組)的縮寫(xiě)。這樣就很好記了。不過(guò),請(qǐng)記住,要改變成為的用戶(hù)組名稱(chēng),必須在 /etc/group里存在,否則就會(huì)顯示錯(cuò)誤。假設(shè)以 root 的登入

2、 FC4,那么,在你的家目錄內(nèi)有一個(gè) install.log 文件,如何改變?cè)撐募挠脩?hù)組呢?假設(shè)你已經(jīng)知道在 /etc/group 里已經(jīng)存在一個(gè)名為 users 的用戶(hù)組,但是,testing 這個(gè)用戶(hù)組名字就不存在 /etc/group 中了,此時(shí)改變用戶(hù)組成為 users與 testing,會(huì)現(xiàn)象發(fā)生呢?發(fā)現(xiàn)了嗎?文件的用戶(hù)組被改成 users 了,但要改成 testing 的時(shí)候,就會(huì)發(fā)生錯(cuò)誤。注意,出現(xiàn)錯(cuò)誤信息,還是要查查錯(cuò)誤信息的內(nèi)容才好。更改文件擁有者,n那么,如何改變一個(gè)文件的擁有者呢?很簡(jiǎn)單。既然改變用戶(hù)組是 change group,那么改rootlinux # chgr

3、p -R dirname/filename .參數(shù):-R : 進(jìn)行遞歸( recursive )的持續(xù)更改,即連同子目錄下的所有文件、目錄都更新成為這個(gè)用戶(hù)組。常常用在更改某一目錄的情況。范例:rootlinux # chgrp users install.log rootlinux # ls -l-rw-r-r- 1 root users 68495 Jun 25 08:53 install.log rootlinux # chgrp testing install.logchgrp: invalid group name testing = 出現(xiàn)錯(cuò)誤信息找不到這個(gè)用戶(hù)組名變擁有者就是 ch

4、ange owner(改變擁有者)。這就是n 這個(gè)命令的用途,要注意的是,用戶(hù)必須是已經(jīng)存在系統(tǒng)中的,也就是在 /etc/passwd 這個(gè)文件中有的用戶(hù)名稱(chēng)才可改變。n 的用途很多,還可以順便直接修改用戶(hù)組的名稱(chēng)。此外,如果要連目錄下的所有子目錄或文件同時(shí)更改文件擁有者的話(huà),直接加上 -R 的參數(shù)即可。來(lái)看看語(yǔ)法與范例:知道如何改變文件的用戶(hù)組與擁有者了,那么,什么時(shí)候要使用n 或 chgrp 呢?或許你會(huì)覺(jué)得奇怪吧?是的,確實(shí)有時(shí)候需要更改文件的擁有者的,最常見(jiàn)的例子就是在文件給其他人時(shí),使用最簡(jiǎn)單的 cp 來(lái)說(shuō)明好了:rootlinux # cp 來(lái)源文件 目的文件假設(shè)今天要將 .bas

5、hrc 文件 成為 .bashrc_test,且是要給 bin 這 個(gè) 人 , 你 可 以 這 樣 做 : rootlinux # cp .bashrc .bashrc_testrootlinux # ls -al .bashrc*-rw-r-r- 1 root root 395 Jul 4 11:45 .bashrc-rw-r-r- 1 root root 395 Jul 13 11:31 .bashrc_test怎么辦?.bashrc_test 還是屬于 root 所有,如此一來(lái),即使將文件拿給 bin 用戶(hù)了,他仍然無(wú)法修改(看屬性就知道了),所以就必須修改這個(gè)文件的擁有者與用戶(hù)組。更改

6、9個(gè)屬性, odrootlinux #n -R 賬號(hào)名稱(chēng) 文件或目錄 rootlinux #n -R 賬號(hào)名稱(chēng):用戶(hù)組名稱(chēng) 文件或目錄參數(shù):-R : 進(jìn)行遞歸( recursive )的持續(xù)更改,即連同子目錄下的所有文件、目錄都更新成為這個(gè)用戶(hù)組。常常用在更改某一目錄的情況。范例:rootlinux #n bin install.log rootlinux # ls -l-rw-r-r- 1 bin users 68495 Jun 25 08:53 install.log rootlinux #n root:root install.log rootlinux # ls -l-rw-r-r-

7、1 root root 68495 Jun 25 08:53 install.log文件屬性的改變使用od 命令,但是,屬性的設(shè)置方法有兩種分別可以使用數(shù)字或者是符號(hào)。數(shù)字類(lèi)型改變文件權(quán)限Linux 文件的基本屬性有9個(gè),分別是 owner/group/others 組別的read/write/ excute 屬性,先復(fù)下剛剛上面提到的數(shù)據(jù):-rwxrwxrwx這9個(gè)屬性是三個(gè)一組。其中,可以使用數(shù)字來(lái)表示各個(gè)屬性,各屬性的對(duì)照表如下:r:4w:2x:1同一組(owner/group/others)的3個(gè)屬性(r/w/x)是需要累加的例如當(dāng)屬性為 -rwxrwx- 則是:owner = rwx

8、 = 4+2+1 = 7 group = rwx = 4+2+1 = 7others= - = 0+0+0 = 0所以,等一下設(shè)置屬性的更改時(shí),該屬性的數(shù)字就是770。更改屬性 令 od 的語(yǔ)法是這樣的:rootlinux # od -R xyz文件或目錄參數(shù):xyz : 就是剛剛提到的數(shù)字類(lèi)型的權(quán)限屬性,為 rwx 屬性數(shù)值的相加。-R : 進(jìn)行遞歸( recursive )的持續(xù)更改,即連同子目錄下的所有文件、目錄都更新成為這個(gè)用戶(hù)組。常常用在更改某一目錄的情況。舉例來(lái)說(shuō),如果要將 .bashrc 這個(gè)文件所有的屬性都打開(kāi),那么就發(fā)出命令:rootlinux # ls -al .bashr

9、c-rw-r-r- 1 root root 395 Jul 4 11:45 .bashrcrootlinux #od 777 .bashrc看到了嗎?屬性改變了。由于一個(gè)文件有三組屬性,所以可以發(fā)現(xiàn)上面777為三組,而由于所有的屬性都打開(kāi),所以數(shù)字都相加,即“r+w+x = 4+2+1 = 7”。如果要將屬性變成“-rwxr-xr-”呢?那么就成為 4+2+14+0+14+0+0=754。所以需要發(fā)出命令od 754 filename。最常發(fā)生的一個(gè)問(wèn)題就是,常常以 vi 編輯 s的文字文件后,其屬性通常是 -rw-rw-rw-,也就是666屬性,如果要將它變成可執(zhí)行文件,并且不要讓其他人修改

10、此文件的話(huà),那么就需要 -rwxr-xr-x 這個(gè)755的屬性,所以就要使用od 755 test.sh。另外,有些文件不希望被其他人看到,例如 -rwxr-,那么就使用命令od 740filename。符號(hào)類(lèi)型改變文件權(quán)限還有一個(gè)改變屬性的方法。從之前的介紹中可以發(fā)現(xiàn),基本上就9個(gè)屬性,分別是 (1)user(2)group (3)others 三組。就可以通過(guò) u, g, o 來(lái)表示三組的屬性。此外,a 表示 all,即全部的三組。讀寫(xiě)屬性可以寫(xiě)成 r, w, x。也就是可以使用下面的方式來(lái)看:odu g o a+(加入)-(除去)=(設(shè)置)r w x文件或目錄假如要“設(shè)置”一個(gè)文件的屬性

11、為“-rwxr-xr-x”,基本上就是:user (u):具有可讀、可寫(xiě)、可執(zhí)行的權(quán)限。 group 與 others (g/o):具有可讀與執(zhí)行的權(quán)限。所以就是:rootlinux #od u=rwx,go=rx .bashrc# 注意。那個(gè) u=rwx,go=rx 是連在一起的,中間并沒(méi)有任何空格例題3:將 .bashrc 文件的屬性改回原來(lái)的 -rw-r-r-。答:od 644 .bashrcrootlinux # ls -al .bashrc-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc知道 +, -, = 的不同點(diǎn)了嗎?+ 與 - 的狀態(tài)

12、下,只要是沒(méi)有指定到的項(xiàng)目,則該屬性“不會(huì)變動(dòng)”。例如,上面的例子中,由于僅以 - 去掉 x,則其他兩個(gè)保持當(dāng)時(shí)的值不變。多多練下,你就會(huì)知道如何改變屬性。這在某些情況下很好用。舉例來(lái)說(shuō),你想要教一個(gè)人如何讓一個(gè)程序可以擁有執(zhí)行的權(quán)限,又不知道該文件原本的權(quán)限是什么,此時(shí),利用od a+x filename,就可以讓該程序擁有執(zhí)行的權(quán)限了。很方便。rootlinux # ls -al .bashrc-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc請(qǐng)注意,r=rwx,og=rx 這一段文字之間并沒(méi)有空格隔開(kāi)。那么,假如是 “-rwxr-xr-” ?可以使 用 “ od u=rwx,g=rx,o=r filename”來(lái)設(shè)置。此外,如果不知道原先的文件屬性,而只想要增加 .bashrc 文件的每個(gè)人均可寫(xiě)入的權(quán)限,那么就可以使用: rootlinux # ls -al .bashrc-rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc rootlinux #od a+w .bashrcrootlinux

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論