目錄導讀
- 用戶與用戶組
- Linux文件權限概念
- Linux文件種類與擴展名
- Linux的目錄配置
Linux的多用戶多任務環(huán)境嘴办,是它最出色的地方。同時乾巧,為了讓各個用戶具有較保密的文件數據句喜,文件的權限管理就變的很有重要了。
1.用戶與用戶組
(1)文件所有者(owner)
由于多用戶的特點沟于,為了使Linux系統(tǒng)安全咳胃,才出現(xiàn)了這個概念。被設置了只有文件所有者才能查看與修改的文件旷太,別的用戶是無法看的見該文件的
(2)用戶組(group)
用戶組:就是一組用戶可以查看某些文件展懈,而其他用戶組的用戶是無權限查看這些文件的销睁。這相當于一個朋友圈
用戶:雖然若干個用戶同屬于某個用戶組,但它們彼此間是有區(qū)別的存崖,即A用戶是不可以隨便與訪問B用戶的文件冻记,這相當于個人隱私。同一個用戶是可以屬于多個用戶組的
注:用戶組的最有用的功能之一就是團隊開發(fā)資源時方便管理與来惧。
(3)其他用戶(others)
除用戶組A外的其他用戶冗栗,相對于該用戶組A都是其他用戶
注意:
默認情況下,系統(tǒng)上的所有的賬號與用戶(含root)的相關信息供搀,記錄在:/etc/passwd
個人密碼隅居,記錄在:/etc/shadow
所有的組名,記錄在:/etc/group
2.Linux文件權限概念
(1)Linux文件屬性
在root身份登錄時, 執(zhí)行>> ls -al # ls為list的意思
葛虐,al表示列出所有的文件詳細權限與屬性
只是部分:
drwxrwxrwt 1 root root 199 Aug 17 10:50 ..
-rwxr-xr-x 1 root root 1103 Aug 17 10:47 .bash_profile
//含義: 權限 連接 所有者 用戶組 文件容量 修改(或創(chuàng)建)日期 文件名
1)第一列:權限(permission)
共有10個字符胎源,
第1個:表示該文件"目錄?文件屿脐?鏈接文件? 等"
[d]涕蚤,是目錄
[-],是文件
[l]的诵,是鏈接文件(link file)
[b]赞季,設備文件里的可供存儲的接口設備
[c],設備文件里的串行端口設備奢驯,如鍵盤鼠標(一次性讀取的設備)
第2-10個申钩,每3個為一組,且均為'rwx'參數瘪阁,[r]可讀(read)
[w]可寫(write)撒遣;[x]可執(zhí)行(execute),即能進入本目錄(對目錄而言的)
第一組:'文件所有者的權限'
第二組:'同用戶組的權限'
第三組:'其他非本用戶組的權限'
注意:文件和目錄的權限意義是不一樣的
2)第二列:連接(i-node)
表示有多少個文件名連接到此節(jié)點(i-node)管跺,每個文件都會將它的權限與屬性記錄到文件系統(tǒng)的i-node中义黎,這個屬性記錄的就是有多少不同的文件名連接到相同的一個** i-node**號碼。
3)第三列:表示文件或目錄的'所有者賬號'
4)第四列:表示該文件所屬的'用戶組'
5)第五列:文件的大小豁跑,默認單位是 B
6)第六列:文件的創(chuàng)建日期或者是最近的修改日期
7)第七列:該文件的名稱廉涕,以'.'開頭的文件是隱藏文件
(2)文件屬性與權限的修改
>> chgrp #改變文件所屬用戶組
>> chown #改變文件所有者
>> chmod #改變文件的權限
1.chgrp
改變文件所屬用戶組
[root@localhost ~]# chgrp [-R] dirname/filename, -R是進行遞歸持續(xù)更改,連子目錄艇拍、文件都改了
chgrp users install.log # isntall.log是主文件夾內的一個文件狐蜕,屬于root用戶組的, 現(xiàn)在將其更改為users組的
注:這里的用戶組必須是/etc/group文件內存的才行卸夕。
2.chown
用于更改文件的所有者层释,用戶必須是已經存在系統(tǒng)中的,即在/etc/passwd文件中的
chown bin install.log #修改install.log這個文件的所有者為bin
chown root:root install.log #再修改會install.log的所有者和用戶組為root
注:這里的':'可以是'.'
chown .root install.log #只修改了用戶組
注意:復制文件時快集,會連通所有者贡羔、用戶組的屬性及權限都復制到新文件廉白,這時候我們就需要修改新文件的所有者和用戶組的屬性信息了。
cp 原文件 目標文件 # 復制的命令乖寒, 注意會連通屬性和權限都復制了
3.chmod
改變文件的權限猴蹂,權限的設置有兩種方式:數字和符號
數字方式改變
將 r, w, x 分別用 4,2楣嘁,1 來表示磅轻,即
r = 4
w = 2
x = 1
那么,不同的權限組合就可以用這些數組之和唯一的表示了
eg. [-rwxrwx---],
分數為:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = ---= 0+0+0 = 0
故马澈,分數為:770
chmod 777 .bashrc # 更改.bashrc文件的權限為:-rwxrwx---
符號類型方式改變
user : u + (加入)
group : g - (除去)
others: o = (設置)
eg.
>> chmod u=rwx,go=rx .bashrc # 更改.hashrc的權限為[-rwxr-xr-x]
>> chmod u=rwx,g=rx,o=r .hashrc #更改.bashrc的權限為[-rwxr-xr--]
>> chmod a+w .bashrc #增加.bashrc文件每個人的寫入權限
>> chmod a-x .bashrc #去掉.bashrc文件每個人的寫入權限
>> chmod g+w .bashrc #增加.bashrc文件的用戶組的寫入權限
(3)目錄和文件的權限的意義
1.權限對文件的重要性
文件包含:文本文件、數據內容文件弄息、二進制可執(zhí)行文件等
'r(read)': 可讀取文件的實際內容
'w(write)': 可以編輯痊班、新增,修改文件的內容摹量,但不可以刪除
'x(execute)':該文件有可以被系統(tǒng)執(zhí)行的權限
注:文件是否可被執(zhí)行涤伐,不是用過擴展名來決定的,而是與x權限有關缨称,這點不用windows系統(tǒng)中
2.權限對目錄的重要性
目錄主要是記錄文件名列表凝果,文件名與列表有緊密的關聯(lián)。
r : 表示具有讀取目錄結構列表的權限睦尽,就可以利用 ls 命令將目錄的內容顯示出來
注:僅具有這個權限的用戶是無法進入該目錄中的器净,即無法切換至該目錄中該權值也就只能使你查看查看而已,并不能實際操作目錄里的任何東西(包括執(zhí)行其中的命令)
w: 這個權限對于目錄來說是很強大的当凡,可以更改目錄結構列表山害,換言之,具有下面的權限:
新建新的文件與目錄
刪除已經存在的文件與目錄(不論文件的權限如何)
將已存在的文件或目錄進行重命名
轉移該目錄內的文件沿量、目錄位置等
x: 表示用戶可以進入(切換)到該目錄中使該目錄成為工作目錄
注意:用能否查詢目錄的文件名列表浪慌,與r權限有關,而與x權限無關
3.Linux文件種類與擴展名
(1)文件種類:
文件
普通文件
純文本文件(ASCII)
二進制文件(binary)
數據格式文件(data):特定格式的文件
目錄文件(directory)
連接文件(link)
類似于windows下的快捷方式
設備與設備文件(device)
與系統(tǒng)外設及存儲等相關的一些文件朴则,通常都放在/dev目錄下,又分為兩種:
·塊設備文件(block):就是一些存儲數據权纤,以提供系統(tǒng)隨機訪問的接口設備,如硬盤乌妒,軟盤
·字符設備(character): 即一些串行端口的接口設備汹想,如鍵盤,鼠標等撤蚊。這些設備特征就是一次性讀取欧宜,不能截斷輸出。
套接字(sockets)
這種類型的文件通常被用在網絡上的數據連接拴魄,第一個屬性為s冗茸,在/var/run目錄中可以看到這種文件
管道(FIFO, pipe)
FIFO也是一種特殊的文件類型席镀,它主要目的是在解決多程序同時訪問一個文件所造成的錯誤問題第一屬性[p]
(2)Linux文件擴展名
在Linux系統(tǒng)中沒有擴展名這一個說法的,例如夏漱,一個文件能否被執(zhí)行不是通過其擴展名來定義的豪诲,而是通過權限[x]來決定的,但是挂绰,一個文件具有可執(zhí)行的權限屎篱,這不代表它真的可以被執(zhí)行成功,因為這還和文件的內容有關的
但是Linux系統(tǒng)中還是可以通過擴展名了解一些關于該文件的可能的用途信息:
'.sh' # 為腳本或批處理文件(scripts), 因為批處理文件是用shell寫成的葵蒂,因此擴展名還是使用了.sh
'.Z', '.tar', '.tar.gz', '.zip', '.tgz' # 均為壓縮文件交播,只是采用的壓縮軟件不同而已
'.html', '.php' #網頁相關的文件
注意:
Linux下的文件名長度是有限制的,單個文件名為255個字符践付,
包含路徑的完成文件名長度為:4096個字符
4.Linux的目錄配置
(1)Linux目錄配置標準:FHS, FileSystem Hierarchy Standard
該標準就是規(guī)范了哪個目錄下該放哪種數據(文件)而已
將目錄定義為4種交互作用的形態(tài):
· FHS針對目錄樹架構僅定義了最上層及子層的目錄內容應該放置的文件或目錄樹據:
/ (root, 跟目錄):與開機系統(tǒng)有關
/usr (UNIX software resource):與軟件安裝/執(zhí)行有關
/var (varible):與系統(tǒng)運作過程有關的
· 不可與根目錄分開放置的目錄:
由于根目錄與開機有關秦士,且開機過程中僅有根目錄會被掛載,其他分區(qū)則是在開機后陸續(xù)掛載永高。因此隧土,根目錄不可與其子目錄中的那些與開機有關的目錄分開放置:
/etc # 系統(tǒng)的配置文件,如人員賬號密碼文件等命爬。只有root才有權修改曹傀。不要放置可執(zhí)行文件
/bin # 重要執(zhí)行文件(與開機有關的),在開機時饲宛,以及在單用戶維護模式下還能夠被操作的命令皆愉。root和一般用戶可以執(zhí)行
/dev # 所需要的設備文件,所有的設備都是以文件的形式存在于這個目錄中艇抠,因此亥啦,可以在這個目錄下訪問相關文件(即訪問該硬件設備)
/lib # 執(zhí)行文件所需的函數庫與內核所需的模塊,放置的是開機時會用到的函數庫,以及在/bin或/sbin下面的命令會調用的函數庫
/sbin # 重要的系統(tǒng)執(zhí)行文件, 包含開機练链、修復翔脱、還原系統(tǒng)所需的命令。
(2)目錄樹(directory tree)
在Linux下媒鼓,所有的文件與目錄都是由根目錄開始的届吁。整個目錄體系像樹枝狀。
目錄樹的特性:
目錄樹的起始點為根目錄(/, root)
每一個目錄不只能使用本地端的文件系統(tǒng)绿鸣,也可以使用網絡上的文件系統(tǒng)疚沐。
每一個文件在此目錄中的文件名(含完整路徑)都是獨一無二的
(3)路徑的寫法
絕對路徑:從根目錄寫起
相對路徑:從當前目寫起
注:
'.'::代表當前的目錄,也可以用./來表示
'..':代表上一層目錄潮模,也可以用../來表示