1. 程式人生 > >.Neter玩轉Linux系列之二:Linux下的檔案目錄及檔案目錄的許可權

.Neter玩轉Linux系列之二:Linux下的檔案目錄及檔案目錄的許可權

基礎篇

實戰篇

一、Linux下的檔案目錄

簡介:linux的檔案系統是採用級層式樹狀目錄結構,在此 結構中的最上層是根目錄“/”,然後在此目錄下再建立 其他的目錄。深刻理解linux檔案目錄是非常重要的,如下圖所示:

將來你用哪個使用者登入,你就會在那個使用者的目錄下面。為了大家再進一步加深對Linux的檔案目錄的理解,下面再附上一張對應目錄作用的解釋:

簡單演示:

bin:目錄下面的檔案:

在這裡大家可以使用上面的命令,進入到其他的目錄下面看看,裡面的檔案。(只是簡單的看看哦,不要隨意修改。)

總結:常用命令

ls:顯示當前目錄下面的所有檔案。

ls 命令羅列出了終端當前目錄下的所有檔案及目錄。當然,所有這些目錄中都可能還有子目錄和檔案。我們想知道這些目錄下面還有哪些目錄和檔案可以使用 -R 引數將它們都顯示出來。

:ls -r

ls 命令還有許多引數,可以獲得更加詳細的資訊。比如 -1 引數。它可以使目錄內的檔案和目錄每行只顯示一個。

另外還有一個問題是我們的 Linux 系統中也會有隱藏檔案,這點與 Windows 系統很像。除使用者自己的檔案之外,有一些檔案是由系統、或應用程式使用並修改的。在預設情況下將它們隱藏確實對“使用者本身”是一種保護。如果我們需要檢查 Linux 系統中這些隱藏檔案怎麼辦?

注意:以“.”開頭的檔案和目錄名稱,它們都是隱藏的。同樣,用藍色顯示出來的是目錄,隱藏的目錄。

另外這樣看好像很亂不是嗎?我們可以把 -1 和 -a 引數結合使用

 

這樣是不是整齊一點了,如果有人想想在 Windows 中可以用列表顯示檔案及目錄的詳細資訊一樣,我們可以使用 ls -l

clear清屏

如果想看自己現在是在哪個目錄下面,可以使用pwd命令,這個命令非常有用!!!當你不知道自己現在是在哪裡,可以使用它。

關於ls的命令大家可以參考:http://man.linuxde.net/ls

find命令的使用:

解釋:注意之間的空格,/表示root目錄,-name表示檔案的名字。

注意:這樣會查詢的很慢,因為它是從根目錄開始的,所以以後儘量從一個目錄下面查詢,這樣可以縮短查詢的範圍。

grep命令的使用:

解釋:-n顯示行號  guozheng表示要查詢的關鍵字  hello.cpp表示要在那個檔案中查詢。

 cd /表示:回到根目錄下面

cd ../表示:回到上一級目錄

cd 表示:回到該使用者所在的目錄下面

 需求:有時我需要把查詢的資訊或者統計的資訊儲存到另外一個檔案,提供給別人。

重定向命令:

ls -l > a.bak 列表的內容寫入檔案a.bak中(覆蓋寫)

ls -al >> aa.bak列表的內容追加到檔案aa.bak的末尾

注意:這個命令非常有用,作用就是把統計的資訊儲存到a.bak檔案中。

二、Linux中的檔案所有者、所在組和其它組

在講解Linux中的使用者和組的問題,我們先看一下Windows中的使用者和組,如下圖所示:

好了,我們來看看Linux中的使用者和組的概念。

簡介:

在linux中的每個使用者必須屬於一個組不能獨立於組外。在linux中每個檔案 有所有者、所在組、其它組的概念。

1)所有者 (2)所在組 (3)其它組 (4)改變使用者所在的組

  • 檔案所有者

一般為檔案的建立者,誰建立了該檔案,就天然的成為該檔案的所有者。

用【ls –ahl 】命令可以看到檔案的所有者。

你也可以用 【chown 使用者名稱 檔名 】來修該檔案的所有者。

 

我們使用gz普通使用者建立的目錄,預設屬於該使用者,如果我想改變該目錄的所屬使用者,可以使用:chown 使用者名稱 檔名 

  •  使用者所在組

當某個使用者建立了一個檔案後,這個檔案的所在組就是該使用者所在的組。 用【ls –ahl 】命令可以看到檔案的所有組。 你可以通過【chgrp 組名 檔名】來修改檔案所在的組。

使用:ls -ahl | more

修改該目錄所在的組:chgrp root mysrc  可以改變該目錄所在的組。

現在我把mysrc目錄所在的組gz修改為root

  • 其他組

除開檔案的所有者和所在組的使用者外,系統的其它用 戶都是檔案的其它組。

  • 改變使用者所在的組

在新增使用者時,可以指定將該使用者新增到哪個組中,同樣的用root的 管理許可權可以改變某個使用者所在的組:

     usermod –g 組名 使用者名稱 你可以 用

     usermod –d 目錄名 使用者名稱 改變該使用者登陸的初始目錄

我知道你很暈不要緊,我們來看一個案例:(我們要把下面的使用者新增到對應的組中)

 step1:使用root身份建立對應的組

如何檢視建立的組呢?使用:cat /etc/group

解釋:policeman:組的名稱   1001:改組的ID號是唯一的。

使用相同的命令建立土匪組。

step2:建立使用者,並同時指定該使用者屬於哪個組

命令使用:

useradd  -m 使用者名稱

案例: useradd -m xiaoming 【 新增使用者 xiaoming】  (特別提醒:這裡一定要加上:-m 並且是小寫的,否則建立好的使用者你是登陸不上的。)

passwd 使用者名稱 【修改密碼】

案例: passwd xiaoming 【修改xiaomiing的密碼】

userdel 使用者名稱 【刪除使用者】

userdel xiaoming 【刪除使用者xiaoming】

userdel -r xiaoming 【刪除使用者以及使用者主目錄】

建立:施瓦辛格(Iamback)

檢視Linux中的所有使用者資訊:cat /etc/passwd

解釋:shitailong:表示使用者的名字;x:表示加密後的使用者的密碼;1003:表示使用者的ID;1002:表示使用者所在組的ID;/home/shitailong:使用者所在的主目錄

step3:分配密碼

為了好記,這三個使用者預設密碼是123456

step4:測試

現在:我想把施瓦辛格(Iamback)也移動到土匪組中,該如何辦?

使用:usermod –g tufei iamback

現在金三角都在土匪組了。

三、檔案許可權的管理

ls -l中顯示的內容如下:

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc

  10個字元確定不同使用者能對檔案幹什麼

  第一個字元代表檔案(-),目錄(d),連結(l)

  其餘字元每3個一組(rwx) 讀(r) 寫(w) 執行(x)

第一組rwx : 檔案擁有者的許可權是讀、寫和執行

第二組rw- : 與檔案擁有者同一組的使用者的許可權是讀、寫但不能執行

第三組r-- : 不與檔案擁有者同組的其他使用者的許可權是讀不能寫和執行 可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7

1 表示連線的檔案數(如果是資料夾也就是目錄的話,表示:該目錄下面的檔案數)

root 使用者

root 組

1213 檔案大小(位元組)

Feb 2 09:39 最後修改日期

abc 檔名

現在我用jiesen登陸建立檔案:

例如:-rw-r--r--

 

 現在我用shitailong使用者進入到jiesen的目錄下面,結果如下:

結果可以進入到該目錄下面,原因是jiesen目錄的許可權如下:

對照上面的分析:其他組的使用者對jiesen目錄有可讀的許可權。

Linux下使用對目錄許可權的管理,不能一個使用者進入到另外一個使用者的目錄。

現在jiesen允許shitailong進入到自己的主目錄下面,並且有可寫許可權該如何操作?,如下圖所示:

注意:不能使用shitailong開修改jiesen的目錄許可權。只能有jiesen和root能修改。

這樣設定的話等於是完全公開,其他組的使用者也可以進入到該目錄下面,所以我要該使用者本身以及該使用者所在的組可以進入,其他組的使用者不允許進來。

然後,我用gz使用者登入,看看能不能進入到jiesen目錄中,結果如下:

注意:這裡只是修改資料夾(目錄的)許可權,目錄下面的檔案許可權沒有修改。

補充:

改變許可權的命令:

chmod 改變檔案或目錄的許可權

  chmod 755 abc : 賦予abc許可權rwxr-xr-x

  chmod u=rwx,g=rx,o=rx abc : 同上 u=使用者許可權 g=組許可權 o=不 同組其他使用者許可權

  chmod u-x,g+w abc : 給abc去除使用者執行的許可權,增加組寫的許可權

  chmod a+r abc :給所有使用者新增讀的許可權

改變擁有者(chown)和使用者組(chgrp)命令

  chown xiaoming abc : 改變abc的擁有者為xiaoming

  chgrp root abc : 改變abc所屬的組為root

  chown root ./abc : 改變abc 這個目錄的所有者是root

  chown -R root ./abc : 改變abc 這個目錄及其下面所有的檔案和目 錄的所有者是root

建議還是要多練習多敲命令。許可權這部分確實很複雜,大家可以練習一下,如果遇到問題解決不了的,可以在評論區提出來,我會幫大家看看。

好了,今天就講到這裡,晚上繼續更新這個系列的文章,覺得可以的話,希望點下推薦哈~你們的推薦是我的動力。

基礎篇

實戰篇

作者:郭崢

出處:http://www.cnblogs.com/runningsmallguo/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。