文件权限与目录配置——笔记
目錄
一、用戶在與用戶組:
用戶:
用戶組:
1./etc/passwd文件時用戶管理工作涉及的最重要的一個文件
2./etc/shadow是用戶的密碼存放處
3.用戶組的所有信息都存放在/etc/group文件中
二、Linux文件權限:
文件屬性示意:
文件類型與權限
1.權限對文件的重要性:
2.權限對目錄的重要性:
3.改變文件屬性與權限:
4.Linux設置權限的重要性:
三、Linux文件種類與擴展名:
1.文件種類:
2.Linux文件擴展名:
3.Linux目錄配置:
FHS定義出三層目錄下應放置的數據:
1)根目錄(/)的意義與內容:
2)與根目錄不可分開的目錄:
3)/usr意義與內容:
4)/var的意義與內容:
4.目錄樹(directory tree):
5.絕對路徑與相對路徑:
一、用戶在與用戶組:
用戶:
Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然 后以這個賬號的身份進入系統。
用戶的帳號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,并控制他們對系統資源的訪問;另一方面也可以幫助用戶組 織文件,并為用戶提供安全保護。
用戶在輸入正確的用戶名和密碼后,就能進入系統和自己的主目錄。
用戶組:
每一個用戶都有一個用戶組,系統可以對每一個用戶組中的所有用戶進行集中管理。一般用戶是屬于與它同名的用戶組,該用戶 組在創建用戶組時同時創建。用戶組的管理涉及用戶組的添加,刪除,修改,事實上就是對/etc/group文件的更新。
?
Linux用戶身份與用戶組記錄的文件,無論是使用一般身份用戶還是root用戶,它們的相關信息都記錄在/etc/passwd中;個人密碼 都是記錄在/etc/shadow這個文件;Linux所有組名都記錄在/etc/group中
1./etc/passwd文件時用戶管理工作涉及的最重要的一個文件
用戶名:口令:用戶標識號:組標識號:注釋標識號:主目錄:登錄shell
1)“用戶名”是代表用戶賬號的字符串,通常不超過8個字符
2)在一些系統中的這個文件中,存放著加密后的用戶密碼(因為/etc/passwd對所用用戶都開放),所以真正加密過的用戶密碼 存放到/etc/shadow中,在/etc/passwd中僅存放一個特殊字符,“x”或“*”
3)“用戶標識號”是一個整數,系統內部使用它來標識用戶。一般情況下標識號與用戶名一一對應,如果幾個用戶名對應的標 識號是一樣的,系統內部將把它們視為同一個用戶,但它們的密碼,主目錄,登陸的shell可以不同。(通用標識號范圍0~ 65535。0代表root;1~99有系統保留,作為管理賬號;從100~500為普通用戶)
4)”組標識號“是記錄用戶組所屬的用戶組
5)“注釋性描述”字段記錄著用戶的一些個人情況
6)“主目錄”用戶的起始工作目錄,是用戶登錄到系統后所處的目錄。在大多系統中各個用戶的主目錄都被組織在同一個特定 目錄下,用戶的登錄名是該用戶的主目錄。
7)用戶登陸后,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統后運行的命令解釋器或某個特定的 程序,成為shell
shell是用戶與Linux系統之間的接口,系統管理員可以根據系統情況和用戶使用習慣為用戶指定某個shell;如果不指定 shell,那么系統使用sh(Bourne Shell)為默認的登錄shell,及這個字段的值為/bin/sh。
用戶的登陸shell也可以指定為某個特定的程序(此程序不是一個命令解釋器),利用這一點,可以限制用戶只能運行在指定 的應用程序,當該程序運行結束時,用戶就自動退出系統。
8)系統中有一類用戶可以成為偽用戶(pseudo users) 這些用戶在/etc/passwd中也占用一條記錄,但不能登錄,因其shell為 空,它們存在的主要意義是方便系統管理,滿足相應系統對文件屬主的要求。(常見偽用戶:bin,sys,adm,uucp,lp,nodoby)
?
2./etc/shadow是用戶的密碼存放處
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
1.由于/etc/passwd文件是所有用戶都可讀的,所以Linux將加密后的密碼分離出來,單獨存放在/etc/shadow文件中
2./etc/shadow中的記錄行與。/etc/passwd中的一一對應,它是由pwconv命令根據/etc/passwd中的數據自動產生
?
3.用戶組的所有信息都存放在/etc/group文件中
組名:口令:組標識號:組內用戶列表
每個用戶都屬于某個用戶組;一組可以有多個用戶,一個用戶也可以屬于不同的用戶組。
當一個用戶是多個組中的成員,在/etc/passwd文件中記錄的所屬組是該用戶所屬的主族,也是登錄時所屬的默認組,其他組則成為附 加組。
用戶要訪問屬于附加組的文件時,必須先使用newgrp使自己成為所訪問組中的成員
?
二、Linux文件權限:
查看文件的相關屬性 ls -al(ls表示list,-al表示列出所有文件的詳細權限與屬性,包含隱藏文件)
文件屬性示意:
?
1)第一列表示文件的類型與權限:
第一個字符代表這個文件是“目錄,文件還是鏈接文件”
[d]表示目錄
[-]表示文件
[l]表示連接文件
[b]表示設備文件里可供存儲的接口設備
[c]表示設備文件里的串行端口設備(鼠標,鍵盤等一次性讀取設備)
2)第二列表示文件會有多少連接到此節點(i-node):
每個文件都會將它的權限與屬性記錄到文件系統的i-node中,因為目錄樹使用文件名來記錄,所以每個文件名就會連接到一 個i-node
3)第三列表示該文件(或目錄)的所有者賬號
4)第四列表示這個文件的所屬用戶組
5)第五列表示這個文件的容量大小,默認單位為B
6)第六列表是這個文件的創建日期或最近修改日期
如果這個文件被修改的時間距離太久,時間就僅顯示年份
想要顯示完整的時間格式,可以使用 ls -l --full-time(注:中文無法在純文本的終端機中正確顯示,因此要使用 LANG=? en_US來修改語言。如果想要讓系統默認語言變為英語,可以修改系統配置文件/etc/sysconfig/i8n)
7)第七個表示該文件名:注意,如果文件名前多了一個“.”,則代表該文件為隱藏文件(可以使用ls -al查看)
文件類型與權限
?
1.權限對文件的重要性:
在Windows中一個文件是否具有執行權限主要看它的“擴展名”(.exe? .bat? .com);在Linux中是看給文件是否具有“x”這個權限來決定,而與文件名沒有絕對的關系。
對于r,w,x來說主要文件內容的權限,與文件名存在與否沒有關系
r(read):可讀取此文件的實際內容
w(write):可編輯、新增后修改該文件的內容
x(eXecute):該文件具有可以被執行的權限
2.權限對目錄的重要性:
文件是存放實際數據的地方,目錄是記錄文件名的列表
r(read content in directory):表示具有讀取目錄結構列表的權限,當具有該權限是可以利用“ls”來查看目錄下的文件名
w(modify content of directory):表示可以更改該目錄結構表的權限,包括:1.新建新的目錄與文件 2.刪除已存在的文件和目錄 3.將以存在的文件或目錄進行重命名 4.轉移該目錄內的文件、目錄的位置
x(access directory):表示用戶能否進入該目錄成為工作目錄(work directory);所謂工作目錄,就是用戶當前所在的文件夾就是當下的工作目錄,可以使用“cd”來切換目錄
當其他用戶想要在另一個用戶的目錄上創建文件,需要具有寫權限
注:是否能進入一個目錄是看其是否具有該身份下的執行權限(x)
3.改變文件屬性與權限:
更改文件屬性:
chgrp:更改文件所屬用戶組
chmod:更改文件所有者
chown:更改文件所有者
4.Linux設置權限的重要性:
1)系統保護功能
2)團隊開發或數據共享功能
更改權限:
使用chmod 來更改文件權限
方法一:數字類型更改文件權限
r:4;w:2;x:1
每種身份(owner,group,others)各自三個權限(r,w,x)分數需要累加
方法二:符號類型更改文件權限
u:表示user?;g:表示group;o:表示others;a:表示all,即全部身份
+(加入)????????? r
-(除去)? ==> w
=(設置)????????? x
在+和-的狀態下,只要沒有得到指定選項,則該權限就不會被變動,當不知道原本權限或需要全部添加該權限時,使用a
?
三、Linux文件種類與擴展名:
1.文件種類:
1)普通文件(regular file):
純文本文件(ASCLL):內容為可以直接讀到的數據(數字,字母等)
二進制文件(binary):由于計算機只認識和可以執行二進制文件,所以Linux中可執行文件都是二進制文件(scripts,文 字批處理不算)
數據格式文件(data):有些程序在運行中會讀取到某些特定格式的文件,這些特定格式的文件就是數據文件(使用cat時 會出現亂碼)
2)目錄(directory):第一屬性為d
3)鏈接文件(link):第一屬性為l,類似于Windows下的快捷方式,
4)設備與設備文件(device)::與系統外設及存儲等相關的一些文件,通常集中在在/dev
塊(block)設備文件:第一屬性為b,存儲數據,以提供系統隨機訪問的接口設備(硬盤,軟盤),
字符(character)設備文件:第一屬性為c,串行接口設備(鼠標,鍵盤),其特征為“一次性讀取”,不能夠截斷輸出
5)套接字(sockets):第一屬性為s,通常用于網絡數據連接
6)管道(FIFO,pipe):第一屬性為p,其目的是解決多個程序同時訪問一個文件所造成的錯誤問題,FIFO(first-in-first-out)
2.Linux文件擴展名:
在Linux下,由它的擴展名可以得出該文件是什么種類
1)*.sh:腳本或批處理文件(scripts)
2)*Z、*.tar、*.tar.gz、*.zip、*.tgz:經過打包的壓縮文件
3)*.html、*.php:網頁相關文件
注:無論什么文件都需要相關的權限,否則是沒有用的
3.Linux目錄配置:
配置標準:FHS(Filesystem Hierarchy Standard)文件系統層次化標準,作用是規范每個特定目錄下應該要防止什么樣的數據
可分享的:可以分享其他系統掛載使用的目錄,是能夠分享給網絡上其他主機掛載用的目錄
不可分享的:自己計算機上運行的設備文件或套接字文件(socket),僅與自身相關
不變的:跟隨distrbution(發行版本)而不變動(函數庫,文件說明文件,系統管理員所管理的主機服務配置文件)
可變動的:經常改變的數據文件
?
FHS定義出三層目錄下應放置的數據:
/(root,根目錄):與開機有關
/usr(UNIX software resource):與軟件安裝/執行有關
/var(variable):與系統運作過程與關
?
1)根目錄(/)的意義與內容:
所有的目錄都是由根目錄衍生出,同時與開機,還原,系統修復等操作有關
FHS標準建議:/所在的分區越小越好,且應用程序安裝的軟件最好不要與/放在同于分區
?
/bin:放置執行文件的目錄;其中放置的是在單用戶維護模式下還可以被使用的命令
/boot:主要放置開機會使用到的文件,包括內核文件及開機菜單與開機所需配置
/dev:設備與接口都以文件形式存在與這個目錄,通過訪問這個目錄下的文件就相當于訪問該設備
/etc:系統中主要的靜態永久配置文件,其屬性可以讓一般用戶查閱,但只有root可以更改(不要放置可執行文件)
/home:系統默認的用戶主文件
/lib:放置開機時會使用到的函數庫,以及/bin或/sbin會調用的函數庫
/media:放置的是可刪除設備,包括軟盤,光盤,DVD暫時掛載于此的設備
/mnt:暫時掛在某些額外設備
/opt:第三方軟件放置的目錄
/root:系統管理員的主文件,一般與根目錄放置到一個分區
/srv:網絡服務啟動后,這些服務所需要的數據目錄
/tmp:讓一般用戶或正在執行的程序暫時防止文件的地方
/lost+found:當使用ext2/ext3文件系統時產生的目錄,目的在于當文件系統發生錯誤時,將一些丟失片段放置到這個目錄下
/proc:其本身是一個虛擬文件系統,它放置的數據都在內存中(系統內核,進程,外部設備,網絡狀態),所以不占據任何硬盤空間
/sys:也是一個虛擬文件系統,主要記錄著與內核相關的信息,包括已加載的內核模塊與內核檢測到的硬件設備信息,同樣不占據硬盤容量
?
2)與根目錄不可分開的目錄:
/etc:配置文件
/bin:重要的執行文件
/dev:所需要的設備文件
/lib:執行文件所需函數庫及內核所需模塊
/sbin:重要系統執行文件
?
3)/usr意義與內容:
FHS建議:將數據合理的分別放置到這個目錄下的子目錄,而不要自行新建該軟件自己獨立的目錄
因為所有系統默認軟件都會放置到/usr下面,類似于Windows中的”C:\windows\“和“C:\Program\files\”
在系統安裝完畢后,該目錄會占據著最多的硬盤容量
?
/usr/X11R6:為Xwindow系統重要數據放置的目錄(X11R6表示X版本為11版,且該版第6次釋出)
/usr/bin:絕大多數用戶可使用的命令存放地
/usr/include/:C/C++等語言的頭文件(header)與包含文件(include)放置處
/usr/lib:包含各種應用軟件的函數庫,目標文件,以及不被一般用戶慣用的執行文件或腳本
/usr/local:系統管理員在本機自行安裝的下載的軟件
/usr/sbin:非系統正常運行所需要的系統命令
/usr/share:放置共享文件的地方
/usr/scr:一般源碼建議放置于此,內核源碼建議放置到/usr/scr/linux下
?
4)/var的意義與內容:
?
在系統運行后才會漸漸占用硬盤容量;主要針對常態性變動的文件,包括緩存(cache)、登陸文件(log file)、某些軟件運行所產生的文件,包括程序文件(lock file,run file)
?
/var/cache:應用程序本身運行中產生的暫存文件
/var/lib:程序在執行過程中,使用到的數據文件放置目錄
/var/lock:某些設備或文件資源一次只能被一個應用程序所使用,因此要鎖定(lock)該設備,以確保該設備只會給單一軟件所使用
/var/log:放置登陸信息
/var/mail:放置個人電子郵件信箱的目錄,這個目錄也被放置到/var/spool/mail中,通常這兩個目錄是互為連接設備
/var/run:某些程序啟動后,會將它們的PID放置到這個目錄下
/var/spool:通常放置一些隊列數據(排隊等待其他程序使用的數據),這些數據在使用后通常都會被刪除
?
4.目錄樹(directory tree):
在Linux下,所有文件都是從根目錄開始,然后再一個一個的分支下來
主要特征:
1.以根目錄為起始點
2.每個目錄不只能使用本地端的文件系統,也可以使用網絡上的文件系統
3.每個文件在此樹中的文件名是獨一無二的
?
5.絕對路徑與相對路徑:
絕對路徑(absolute):從/起開始寫目錄或文件名
相對路徑(relative):不是從/開始寫起
?
“.”:表示當前目錄,也可使用“./”
“..”:表示上一級目錄,也可使用“../”;cd ../目錄名
總結
以上是生活随笔為你收集整理的文件权限与目录配置——笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux基础维护——笔记
- 下一篇: 文件与目录管理——笔记