note5--鳥哥的Linux私房菜

《鳥哥的Linux私房菜》note5 php


第六章、Linux的檔案權限與目錄分配 node


1Linux通常將檔案可存取的身份分爲三個類別, linux

分別是onwer/group/others,使用者/羣組/非本羣組外的其餘人 數據庫

各自有read/write/execute等權限。 ubuntu


羣組的概念 安全

默認,系統上的賬號與通常身份使用者,還有root的相關信息,記錄在/etc/passwd spa

我的的密碼記錄在/etc/shadow .net

全部組名記錄在/etc/group orm


2ls—[list],顯示檔案的文件名與相關屬性 遞歸

ls -al:列出全部的檔案詳細的權限與屬性(包含隱藏文件,就是文件名第一個字符爲[.]的檔案)。


示範說明:

drwx------ 2 root root 4096 Sep 5 14:09 .gconfd

-rw-r--r-- 1 root root 42304 Sep 4 18:26 install.log

-rw-r--r-- 1 root root 5661 Sep 4 18:25 install.log.syslog


1)第一欄表明這個檔案的類型與權限(permission


-rw-r—r-- :共有10個字符【-】【rw-】【r--】【r--


第一個字符表示這個檔案是【目錄、檔案或連接文件等等】

    • 當爲【d】則是目錄,例如上表檔名爲【.gconf】的那一行;

    • 當爲【-】則是檔案,例如上表檔名爲【install.log】的那一行;

    • 當爲【l】則表示爲連結檔(link file);

    • 當爲【b】則表示爲裝置文件裏面的可供存儲的接口設備(可隨機存取裝置);

    • 當爲【c】則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)

*重要接下來的字符中,以三個爲一組,且均爲【rwx】的三個參數的組合。其中,

r】表明可讀(read);

w】表明可寫(write);

x】表明可執行(execute)。


要注意的是,這三個權限的位置不會改變,若是沒有權限,就會出現減號【-】。


*第一組爲【檔案擁有者的權限】,以【install.log】那個檔案爲例,該檔案的擁有者能夠讀寫,但不可執行;

*第二組爲【同羣組的用戶權限】

*第三組爲【其餘非本羣組的用戶權限】


另外,目錄與檔案的權限意義並不相同,這是由於目錄與檔案所記錄的數據內容各不相同所致


(2)第二欄表示有多少檔名連結到此點(i-node):

每一個檔案都會將他的權限與屬性記彔到文件系統的 i-node ,不過,咱們使用的目錄樹倒是使用文件 名來記彔, 所以每一個檔名就會連結到一個 i-node !這個屬性記錄的,就是有多少不一樣的檔名連結到 相同的一個 i-node 號碼去;

(3)第三欄表示這個檔案(或目錄)的【擁有者帳號】;

(4)第四欄表示這個檔案的所屬羣組;

(5)第五欄爲這個檔案的容量大小,默訃單位爲 bytes;

(6)第六欄爲這個檔案的建檔日期或者最近的修改日期:

這一欄的內容分別爲日期(/)及時間。若是這個檔案被修改的時間距離如今太麗了,那舉時間部分會 僅顯示年份而已。


備註:若是想要顯示完整的時間格式,能夠利用 ls 的選項,亦即:ls -l –full-time】就可以顯示出完整的時 間格式。

(7)第七欄爲這個檔案的檔名(*意義重要

若是檔名以前多一個【 . ,則表明這個檔案爲【隱藏檔】。

Ls :顯示非隱藏文檔

ls -a :顯示全部文檔(包括隱藏文檔)


-----------------------------------------------------------------------------------------------

例題:

假設 test1, test2, test3 同屬二 testgroup 這個羣組,若是有下面的兩個檔案,請說明兩個 檔案的擁有者不其相關的權限爲什麼?

-rw-r--r-- 1 root root

-rwxr-xr-- 1 test1 testgroup

238 Jun 18 17:22 test.txt

5238 Jun 19 10:25 ping_tsai


:

檔案 test.txt 的擁有者爲 root,所屬羣組爲 root。至二權限方面則只有 root 這個帳 號能夠存取此檔案,其餘人則僅能讀此檔案;


另外一個檔案 ping_tsai 的擁有者爲 test1,而所屬羣組爲 testgroup。其中:

o test1 能夠針對此檔案具備可讀可寫可執行的權力;

o 而同羣組的 test2, test3 兩我的不 test1 一樣是 testgroup 的羣組帳號,則僅

可讀可執行但丌能寫(亦即丌能修改);

o至二非 testgoup 這一個羣組的人則僅能夠讀,不能寫也不能執行!

-----------------------------------------------------------------------------------------------

Linux檔案權限的重要性:【數據安全性】


3、如何改變文件屬性和權限


修改的指令 :

chgrp :改變檔案所屬羣組

chown :改變檔案擁有者

chmod :改變檔案的權限, SUID, SGID, SBIT 等等的特悵


(1)改變所屬羣組, chgrp ----change group

*要改變的組名不準在/etc/group檔案內存在才行,不然就顯示錯誤!

[root@www ~]# chgrp [-R] dirname/filename ...

選項不參數:

-R : 進行遞歸(recursive)的持續變動,亦即連同次目彔下的全部檔案、目錄

都更新成爲這個羣組之意。經常用在變動某一目彔內全部的檔案之狀況。

範例:

[root@www ~]# chgrp users install.log

[root@www ~]# ls -l

-rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log

[root@www ~]# chgrp testing install.log

chgrp: invalid group name `testing' <== 發生錯諢訊息囉~找丌到這個羣組

~


備註Ubuntu目錄結構

/ 根目錄

bin //系統程序

boot //內核和啓動程序,全部和啓動相關的文件都保存在這裏

grub //引導器相關文件

dev //設備文件

etc //系統軟件的啓動和配置文件,系統在啓動過程當中須要讀取的文件都在這個目錄。如LILO參數、用戶帳戶和密碼。

home //用戶的主目錄。下面是本身定義的用戶名的文件夾

lib //系統程序庫文件,這個目錄裏存放着系統最基本的動態連接共享庫,相似於Windows下的system32目錄,幾乎全部的應用程序都須要用到這些共享庫。

media //掛載媒體設備,如光驅、U盤等

mnt //目錄是讓用戶臨時掛載別的文件系統,如掛載Windows下的某個分區,ubuntu默認仍是掛載在/media目錄。

opt //可選的應用軟件包(不多使用)

proc //這個目錄是系統內存的映射,咱們能夠直接訪問這個目錄來獲取系統信息。也就是說,這個目錄的內容不在硬盤上而是在內存裏。

sbin //管理員系統程序

selinux

srv

sys //udev用到的設備目錄樹,/sys反映你機器當前所接的設備

tmp //臨時文件夾

usr //這是個最龐大的目錄,咱們要用到的不少應用程序和文件幾乎都存放在這個目錄下。]

bin // 應用程序

game //遊戲程序

include

lib //應用程序的庫文件

lib64

local //包含用戶程序等

sbin //管理員應用程序

share //應用程序資源文件

src //源代碼

var //動態數據,全部服務的登陸文件或錯誤信息文件(log file)都在 /var/log下。此外一些數據庫,如MYSQL則在/var/lib下,還有用戶未讀郵件的默認存放地點爲/var/spool/mail

lost_found //磁盤修復文件,存放因非法關機而丟失的文件

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息