歡迎您光臨本站 註冊首頁

Linux基礎知識總結(四)

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

根據RH033課程整理

lecture 14

12月27號整理

用戶:獲取系統資源許可權的集合.

管理員:UID 0

系統用戶:UID 1-499

普通用戶:UID >500

authentication 認證

authorization 授權

組: GID 容器 許可權的集合

私有組:只有一個用戶,組名和用戶名是一樣的,ID號也一樣.

公共組:一個組中可能有多個用戶.

系統組 :專門存儲系統用戶

AUTHENTICATION 認證

AUTHORIZATION 授權

/etc/passwd 冒號隔開 七個欄位

1 2 3 4 5 6 7

1 用戶名

2 密碼佔位符,有密碼但是加密的,在/etc/shadow中

3 UID

4 GID 與/etc/group 有關

5 使用信息說明欄

6 用戶家目錄

7 用戶默認shell

/etc/shadow 存放用戶密碼

使用md5,salt加密

單項加密:algo,定長加密,不可逆 ,特徵碼,雪崩效應

雪崩效應: 在任何時候,輸入兩段數據,在這兩端數據中只要有一個二進位位不一樣,則輸出的結果中至少有一半都不一樣

MD5 定長輸出:128位 麻省理工學院 linux中廣泛採用

sha1 160位 哈希演算法

1 賬號名稱 必須要與/etc/passwd相同

2 密碼 使用函數加密后的密碼,如果第一個字元為“*”,“!”表示此賬號不能使用

3 最近改動密碼的日期,以unix元年為始

4 密碼不可被改動的天數

5 密碼需要重新設置的天數,默認9999,即不需要重新設置

6 密碼變更前的警告期限

7 密碼過期后還能再使用的天數

8 賬號失效的日期

9 保留位

useradd :添加一個用戶

-u UID 直接指定一個特定的UID給這個賬號

-g GID 基本組

-G groups 附加組

-s shell 指定shell類型

-M 強制 不為此用戶創建家目錄

-m 強制 要建立使用者家目錄

-c 說明信息

-d 指定某個目錄成為用戶家目錄,而不使用默認家目錄

chsh user2 改變用戶的shell類型

-l 列出當前系統上可用的shell

-s 設定修改自己的shell

usermod

-u 改UID

–g 改GID

-G 修改使用者支持的附加組 –a 追加進去 二者通常一起用

-s 修改shell

-d 修改賬號的家目錄 –m 將原家目錄的內容一同遷移到新家目錄 二者通常一起用

-l 改變用戶的login name

-c 改變用戶的說明信息

-e 修改過期時間

-f 修改密碼過期后還能再使用的天數

-L 將密碼鎖定

-U 將用戶解鎖 將/etc/shadow密碼欄中的!去掉

passwd

-l 鎖定賬號

-u 將鎖定的賬號解鎖

--stdin 將一串字元直接設定為密碼

-n 密碼不可被改動的天數

-x 密碼需要重新設置的天數,即最長天數

-w 密碼變更前的警告期限

-S 顯示目前username的相關信息

/etc/group 文件

1 群組名稱

2 群組密碼

3 GID

4 支持的賬號名稱,賬號以此組為附加組,多個賬號之間用逗號隔開

/etc/gshadow 文件

1 群組名稱

2 密碼欄,開頭為!表示無法登錄

3 群組管理員的賬號

4 該群組所屬的賬號 與(/etc/group相同)

groupadd

-g GID 用來直接給於某個GID

-r grp_name 建立系統群組

groupmod

-g 修改既有的GID數字;

-n 修改既有的GID名稱

gpasswd 給組設一個密碼

newgrp 臨時性切換自己的組到另外一個組,給組加一個密碼,提示用戶輸入

userdel 刪除一個用戶

-r 連同使用者家目錄一起刪除

使用者身份切換

su

- 如果執行 su - 時,表示該使用者想要變換身份成為root,且使用root的環境設定參數檔,如/root/.bash_profile等

-l 後面可以跟使用者

過去一段時間內曾經成功登錄系統的用戶

/var/log/wtmp<------list –n 最近10次的登錄

過去一段時間內嘗試登錄系統但沒有成功的用戶

/var/log/btmp <-------lastb –n 最近10次嘗試登錄但沒有登錄成功的用戶

umask 設置僅對當前shell生效

SUID 任何一個文件置了SUID位,當一個用戶去執行這個文件時,默認的執行者身份不是這個用戶,而是以文件屬主的身份去執行. chmod u s file

SGID 當一個用戶去執行這個文件時,默認的執行者身份不是這個用戶,而是以文件屬組的身份去執行. chmod g s file

sticky 粘滯位,通常對目錄來講的,尤其是public dir 全局可寫,

意思就是這個目錄是公共的,任何人都可以寫,但只能刪除自己寫入的內容.

chmod o t file

chmod (1/2/4)755 file

Lecture 15

文件系統:用於實現有效高效管理文件的機制.

windows 常用文件系統:fat32,NTFS

linux支持類型(靠虛擬文件系統(VFS)來支持):

fat32,NTFS,(windows);

jfs(IBM),xfs(SGI),(UNIX);

reiserfs;

iso9660;

網路文件系統:NFS,SMBFS,

集群文件系統:GFS(全局文件系統),GFS2,OCFS(oracle)

常用類型:ext2,ext3(RHEL5),ext4(RHEL6默認)

VFS:虛擬文件系統,相當於一個介面,將不同文件系統轉換成磁碟上真正使用的文件系統.

ext3 比ext2多了一個日誌功能和acl(訪問控制列表)功能.

格式化的過程就是建立文件系統的過程.

Boot

Block

Block Group 0

Block Group 1

. . . . .

Block Group n

Super Block

GDT

Block

Bitmap

Inode

Bitmap

Inode

Table

Data blocks

Boot Block:引導塊,引導此分區上系統的一些相關信息.

super Block超級塊:放的整個文件系統的信息,包括數據塊的個數,大小,一共多少個塊組,每個塊組中包含多少個數據塊等等.屬於全局描述信息,描述整個分區的信息.

GDT塊組描述符:描述這一塊組的信息.

Block Bitmap:按點陣圖的方式來存儲數據塊是否可用.0表示可用,1表示不可用.是實現快速決定一個大容量空間中的文件系統的塊是否可用的機制.

inode Bitmap:用來存儲當前磁碟分區上一共有多少個inode號,以及使用與否.

混合索引方式(《計算機操作系統223頁》)

1) 直接地址

為提高對文件的檢索速度,在索引節點中可設置10個直接地址項,即用iaddr(0)~iaddr(9)來存放直接地址.換言之,在這裡的每項中所存放的是該文件數據項所在盤快的盤塊號.假設每個盤塊大小為4KB時,當文件不大於40KB時,便可直接從索引節點中讀出該文件的全部盤塊號.

2) 一次間接地址

對於大中型文件而言,只採用直接地址是不現實的.為此,可 再利用索引節點中的地址項iaddr(10)來提供一次間接定址.這種方式的實質就是一級索引分配方式.圖中的一次間址塊也就是索引塊,文件系統分配給文件的多個盤塊號計入其中.在一次間址塊中可存放1K個盤塊號,允許文件長達4MB.

3) 多次間接地址

當文件大於4MB 40KB時(一次間址與10個直接地址項),系統還須採用二次間址分配方式.這時,用地址項iaddr(11)提供二次間接地址.該方式的實質是兩級索引分配方式.系統此時是在二次間址塊中記入所有一次間址塊的盤號.在採用二次間址方式時,文件最大長度可達到4GB.同理,地址項iaddr(12)作為三次間接地址,所允許的文件最大長度可達到4TB.

目錄僅僅是一種定址路徑而已.是一種特殊的文件,也需要一個inode的號指向一個磁碟塊.通常一個目錄只佔一個磁碟塊.大小為4096k.塊中的內容如圖所示:

塊裡邊存放的是一個表,表裡是這個目錄下所有的文件的名字及inode號.每一行(條目)用以指定目錄中一個文件的屬性.每一個目錄都有兩個特殊文件:“.” 目錄自身 ,“ . .”當前目錄的父目錄.

一個partition(filesystem)所能容許的最大文件數,與inode的數量有關,一個文件至少要佔用一個inode.

根是一種特殊的文件系統,稱之為“rootfs”,是自引用的.通過根的inode號,找到根所存儲的磁碟塊.在這個塊下存放的是根下每個目錄下所存儲的文件名和inode所對應的關係.

讀取一個文件的簡單流程(以/etc/crontab為例):——《鳥哥的Linux私房菜》

1.操作系統根據根目錄(/)的相關資料取得/etc這個目錄所在的inode,並前往讀取/etc/這個目錄的所有相關屬性;

2.根據/etc的inode的資料,可取得/etc這個目錄底下所有的文件的相關數據時放置在哪一個Block中,並前往該block讀取文件的相關內容;

3.由以上步驟的block可知道crontab這個文件的inode所在地,並前往該inode;

4.由以上步驟的inode當中,可取得crontab這個文件的所有屬性,並且可前往由inode所指向的block區域,順利的取得crontab的文件內容.

鏈接:通過多條路徑找到同一個文件.類似於windows下的“快捷方式”.

硬鏈接:兩個文件名指向同一個inode.但是兩個文件必須在同一個磁碟空間.如果其中一條路徑被刪除,只要還有其他路徑能指向這個inode,那麼這個文件依然存在.

硬鏈接文件本身也是普通文件.

ls –l 第一個數字顯示的是硬鏈接的次數.每一個目錄都是2,每個目錄被自身和父目錄所引用.

軟鏈接:類型為“l”,也成為符號鏈接.創建一個軟鏈接就相當於創建了一個新文件.有自己的inode號.在inode所指向的磁碟塊上放的是所鏈接的文件的路徑.事實上,在創建一個軟鏈接時,如果路徑非常短的話就直接放在inode的內部,如果路徑足夠長,才從新開闢一個磁碟塊去存放路徑.(可以跨分區,可以指向目錄),一旦源文件被刪除,那麼鏈接也就失效了.

使用命令:ln 創建一個硬鏈接

-f 如果目標文件存在,就主動將目標文件直接移除后再建立

-s 創建一個軟鏈接

創建一個硬鏈接:

創建一個軟鏈接:

文件大小指的是源文件路徑字元的長度.

小常識:我們平時刪除文件通常只是將文件的inode號給刪除了,文件依然存在.

特殊文件:b 塊設備 c 字元設備 不佔用空間大小

第一個數字錶示主設備號:指的是設備類型.第二個數字錶示次設備號.

檢查磁碟空閑空間 baobab 圖形界面查看

du 顯示磁碟空間利用情況

-a 列出所有的文件與目錄容量,預設僅統計目錄下面的文件量而已

-s 顯示目錄總共佔用多大空間

-h 以用戶易讀的方式做單位換算 默認kb

-k 以KB列出容量顯示

-m 以MB列出容量顯示

du –sh 經常用

df 顯示磁碟空間的空閑情況

-h 以用戶易讀的方式做單位換算 默認kb

-T 顯示磁碟分區文件系統類型

-i 顯示inode號一共有多少個

-a 列出所有的文件系統,包括系統特有的/proc等文件系統;

-k 以KB 的容量顯示文件系統

磁碟分區:

linux上所有設備都對應一個設備文件放在/dev目錄下.

IDE:/dev/hd*

SCSI SATA USB都在/dev目錄下以/dev/sd*來表示

硬碟介面類型不同,顯示文件名稱的表示方式也不一樣.

同一塊硬碟上的不同分區用/dev/sda[0-3]來表示.一個硬碟上最多有四個主分區,或者三個主分區加一個擴展分區.

掛載:當我們所建立起來的磁碟文件系統想在linux上面啟用的時候,一定要將它掛在到文件系統上.而所謂的掛載點則是該分區所在的目錄,且該目錄下的所有目錄都歸在該分區所有.掛載的時候得先建立起掛載的目錄才行!

如果用來掛載的目錄原先不為空,那麼掛載了文件系統之後,原目錄下的文件就是暫時隱藏起來,這裡注意,並不是消失了.等到原partition被umount之後,則該目錄的內容就會再次顯示.

mount /dev/sdb1(設備) /mnt/usb(目錄)

-a 依照/etc/fstab 的內容將所有的相關磁碟都掛上來

卸載:umount /dev/sdb1 或者 umount /mnt/usb 一定要卸載,否則數據讀入可能會失敗

-f 強制卸載

sync (同步),手動寫入,將內存緩衝區中要求寫到硬碟的內容依次寫入到硬碟中.

壓縮、解壓縮:

compress/uncompress .Z 過時的命令

gzip/gunzip 後綴:.gz 壓縮的時候會刪除源文件 還可以指定壓縮比1---9, 默認級別為6. 一般來說,數字越大.壓縮比越大,壓縮越慢.gzip –d === gunzip

bzip2/bunzip2 後綴:.bz2 比gzip更新,壓縮比更大 bzip –d ====bunzip2

gzip ,bzip2 只能壓縮單個文件,不能對目錄進行壓縮.

zip/unzip 後綴:.zip 可以壓縮目錄,需要指定壓縮後文件的名字,能夠保留原文件

格式:zip 壓縮後文件名 原文件1 原文件2 原文件3 ……

歸檔:把多個零散的文件打包成一個單個文件.不是壓縮,只是打包封存起來.

tar –c 建立一個壓縮文件(create)

-x 解開一個壓縮文件

-t 查看tarfile裡面的檔案

在參數中 c/x/t僅能存在一個,不能同時存在

-z 用gzip壓縮

-j 是否用bzip2壓縮

-v 顯示整個創建過程或者解壓縮過程

-C 指定展開到什麼位置

-f 使用文件名 eg :tar –zcvPf tfile sfile 在f之後要立即加上文件名

-p 使用原來文件的屬性(permission)

-P 可以使用絕對路徑來壓縮

tar –cf myfile.tar file1 file2 file3…. 只歸檔不壓縮

gzip myfile.tar 再壓縮即可

tar –xf myfile.tar 將內容展開,重新釋放

tar -tf 不用展開的情況下看看所歸檔的文件

tar 可以直接調用壓縮工具,即歸檔,又壓縮

tar –zcf 使用gzip進行壓縮

tar –jcf 調用bzip2進行壓縮

tar –zxf 解壓縮以gzip壓縮的文件

tar –jxf 解壓縮以bzip2壓縮的文件

本文出自 「諸葛草廬」 博客,請務必保留此出處http://lyp0909.blog.51cto.com/508999/469293


[火星人 ] Linux基礎知識總結(四)已經有621次圍觀

http://coctec.com/docs/linux/show-post-48043.html