磁盤分區(qū)及表示
如:/dev/hda5
其中hd表示IDE設(shè)備,sd表示SCSI設(shè)備
a表示硬盤順序號
5表示分區(qū)的順序號
分區(qū)有1-4:主分區(qū)(是指引導(dǎo)操作系統(tǒng)的分區(qū)危号,在磁盤的第0個(gè)柱面牧愁,數(shù)據(jù)讀寫快) + 擴(kuò)展分區(qū)(擴(kuò)展分區(qū)可為0或1,擴(kuò)展分區(qū)不能直接使用外莲,是邏輯分區(qū)的容器)
邏輯分區(qū)沒有數(shù)目限制猪半,分區(qū)編號為5表示第一個(gè)邏輯分區(qū)
例子:第二個(gè)SCSI硬盤的第三個(gè)邏輯分區(qū)表示為:sdb7
文件系統(tǒng):一套在磁盤中讀寫數(shù)據(jù)的方式方法
CentOS默認(rèn)文件系統(tǒng):XFS(日志文件系統(tǒng))兔朦、SWAP(交換文件系統(tǒng))
Linux支持的其他文件系統(tǒng):EXT3、EXT4磨确、FAT16沽甥、FAT32、NTFS等
inode節(jié)點(diǎn)和block塊
概念:一個(gè)磁盤分區(qū)可以使用一套文件系統(tǒng)(文件系統(tǒng)存放在分區(qū)外的磁盤)乏奥。在一個(gè)(使用了文件系統(tǒng)的)分區(qū)中摆舟,分區(qū)分為兩部分:元數(shù)據(jù)(metadata)和數(shù)據(jù)塊(block)情连。
元數(shù)據(jù):存儲了數(shù)據(jù)的簡要信息礁遣,如創(chuàng)建者滋迈、創(chuàng)建時(shí)間缸沃、大小等啡氢。
inode區(qū)(表):記錄了inode及對應(yīng)的數(shù)據(jù)塊(用來通過inode索引數(shù)據(jù)塊block)
inode位圖(inode bitmap):用二進(jìn)制的方式記錄了inode的使用情況(如是否空閑)
塊位圖(block bitmap):用二進(jìn)制的方式記錄了block的使用情況(如是否空閑)
超級塊(super block):控制元數(shù)據(jù)區(qū)域
數(shù)據(jù)塊(window稱為數(shù)據(jù)簇):是多個(gè)連續(xù)的扇區(qū)(sector基括,文件存儲的最小單位)杨赤,里面存放真正的數(shù)據(jù)雹顺。
inode號:用來繼續(xù)向inode表檢索
文件名:也可以是目錄名(目錄實(shí)際上是個(gè)小的索引文件)
真實(shí)數(shù)據(jù):目錄文件應(yīng)該沒有這部分內(nèi)容
(一)查找方式
(操作系統(tǒng)識別文件是通過inode而不是文件名)根自引用自己的inode句葵,然后通過inode表檢索該inode號對應(yīng)的塊厕鹃,再根據(jù)要到達(dá)的目錄(如var)的inode 號向inode表進(jìn)行檢索,往返幾笼呆。
最后檢索到message文件后(其實(shí)是inode號)熊响,通過該文件的inode號向inode表檢索真正的數(shù)據(jù)塊,并訪問诗赌。
(二)創(chuàng)建方式
創(chuàng)建文件汗茄,首先要到達(dá)目標(biāo)目錄位置,所以前幾步和查找一樣铭若。
在創(chuàng)建文件后洪碳,帶有文件名的數(shù)據(jù)塊會被賦予inode號,并在inode位圖中將該inode號設(shè)為被使用叼屠。
(三)刪除方式
實(shí)際上就是在block位圖中將該block標(biāo)記為空閑瞳腌,在inode位圖中將該文件對應(yīng)的inode標(biāo)記為空閑。
注意:當(dāng)inode上的鏈接次數(shù)大于1時(shí)镜雨,刪除時(shí)不會將block和inode標(biāo)記為空閑嫂侍,只會刪除鏈接次數(shù)。
軟鏈接和硬鏈接
原理(結(jié)合上面inode和block內(nèi)容):
1)軟鏈接是通過新文件(指向)的inode指向原文件塊荚坞,再通過原文件(指向)的inode檢索真正的數(shù)據(jù)挑宠。
2)硬鏈接是通過新文件(指向)的inode和原文件(指向)的inode相同,直接通過inode檢索真正的數(shù)據(jù)颓影。
區(qū)別:
1)軟鏈接不會為原文件增加鏈接次數(shù)各淀,即inode上的鏈接次數(shù)仍為1,此時(shí)刪除原文件诡挂,軟鏈接就會失效碎浇。而硬鏈接會增加inode上的鏈接次數(shù)临谱,并且刪除原文件后由于inode上的鏈接次數(shù)還剩下1,所以硬鏈接還能使用
2)軟鏈接能鏈接目錄奴璃,但硬鏈接不行
3)硬鏈接產(chǎn)生的文件(指向)的inode和原文件相同
用戶悉默、組:
操作系統(tǒng)識別用戶和組的方式:UID、GID
用戶分類:
管理員用戶:root UID:0
程序(系統(tǒng))用戶:1-999[默認(rèn)不允許登陸操作系統(tǒng)溺健,因?yàn)槠渲皇菆?zhí)行某些程序]
普通用戶:1000-65535組分類:
管理員組/普通組
基本組/附加組
---基本組:新建用戶時(shí)麦牺,若沒指定組,系統(tǒng)會為用戶創(chuàng)建一個(gè)同名組作為該用戶的基本組
---附加組:方便以后為用戶分配權(quán)限
/etc/passwd和/etc/shadow和/etc/group和/etc/gshadow
/etc/passwd:存儲用戶基本信息
如:root:x:0:0:root:/root:/bin/bash
備注:通過whatis passwd
查詢到passwd(5)鞭缭,然后man 5 passwd
剖膳,可以查到每行對應(yīng)解釋信息
-第一列:用戶的登陸名
-第二列:x表示密碼占位符,密碼保存在/etc/shadow中(若被鎖定則為A肜薄吱晒!、B偻)
-第三列:UID
-第四列:GID
-第五列:用戶描述信息
-第六列:用戶的宿主目錄
-第七列:默認(rèn)使用的shell/etc/shadow:存儲用戶的影子口令
如:root:$6$d7HgR0QoBoXUsvTN$l28rhtFdqulQxnHVSx2UxbRQhRfOaOJtuBB142SaXtvkoDAWIrjzhfu.0ZMVObk3QyhLb.bFj3qJGLM/fJFDi0::0:99999:7:::
通過
-第一列:用戶的登陸名
-第二列:用戶密碼的加密序列:$id$salt$encrypted
序列由$符號隔開(分為3部分)
1)id:加密方式(通過man 3 crypt
查看加密信息)
2)salt:鹽值
3)加密后的密文
-第三列:最后一次更改密碼的時(shí)間(上次修改密碼的日期距離1970年1月1日仑濒,即Linux元年相隔多少天)
-第四列:密碼最小使用時(shí)間
-第五列:密碼最長使用時(shí)間
-第六列:密碼過期前警告時(shí)間
-第七列:密碼過期寬限時(shí)間
-第八列:賬戶失效時(shí)間(同樣以linux元年算起)
-第九列:預(yù)留/etc/group:存儲組的基本信息
man group
查看解釋
root:x:0:
-第一列:組名稱
-第二列:組密碼(x表示占位符)
-第三列:GID
-第四列:組的用戶列表/etc/gshadow:
root:::admin
-第一列:
創(chuàng)建用戶相關(guān)知識
/etc/default/useradd文件
內(nèi)容:
GROUP=100 //表示可以創(chuàng)建普通組
HOME=/home //普通用戶宿主目錄位置
INACTIVE=-1 //是否啟用用戶過期停止使用權(quán),INACTIVE是密碼過期的寬限期限
EXPIRE= //設(shè)定過期時(shí)間偷遗,格式為20170501
SHELL=/bin/bash //設(shè)定用戶默認(rèn)使用的shell
SKEL=/etc/skel //新用戶宿主目錄的模板目錄(新宿主目錄中的文件都是從/etc/skel中復(fù)制而來)
CREATE_MAIL_SPOOL=yes //是否為用戶啟用郵件通知功能
/etc/skel目錄
新用戶宿主目錄的模板目錄(新宿主目錄中的文件都是從/etc/skel中復(fù)制而來)
skel目錄中:.bash.logout(用戶注銷時(shí)執(zhí)行的命令)墩瞳、.bash_profile(用戶登陸系統(tǒng)時(shí)執(zhí)行的命令)、.bashrc(用戶登陸一個(gè)新shell時(shí)執(zhí)行的命令)
Tips:如果要在每個(gè)新用戶創(chuàng)建后的宿主目錄加上一些文檔氏豌,可以直接在模板目錄skel中添加這些文檔
/etc/login.defs文件(只對新建用戶生效)
內(nèi)容:
MAIL_DIR /var/spool/mail //用戶系統(tǒng)郵件存放目錄
PASS_MAX_DAYS 99999 //密碼最長使用期限
PASS_MIN_DAYS 0 //最短使用期限喉酌,0代表不受限制
PASS_MIN_LEN 5 //密碼最小長度
PASS_WARN_AGE 7 //密碼過期前警告時(shí)間
UID_MIN 1000 //普通用戶的UID范圍
UID_MAX 60000
SYS_UID_MIN 201 //系統(tǒng)用戶的UID范圍
SYS_UID_MAX 999
GID_MIN 1000 //普通組GID的范圍
GID_MAX 60000
SYS_GID_MIN 201 //系統(tǒng)組GID的范圍
SYS_GID_MAX 999
CREATE_HOME yes //是否創(chuàng)建宿主目錄
UMASK 077 //關(guān)于權(quán)限的反掩碼
USERGROUPS_ENAB yes //刪除用戶時(shí)是否刪除組
ENCRYPT_METHOD SHA512 //密碼的加密方式