2021-05-12 14:32:11
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.linuxidc.com/Linux/2017-10/147455.htm
相關文章