天天看點

檔案acl,suid,sgid,raid,lvm,extundelete随筆

一、ACL權限控制

ACL(Access Control List),主要作用可以提供除屬主、屬組、其他人的rwx權限之外的細節權限設定。

user,group

ACL參數格式:setfacl

u:使用者名:權限 【給某個使用者設定權限,若不添加使用者名,預設修改屬主權限】

g:組名:權限 【給某個組設定權限,若不添加組名,預設修改屬組權限】

m:權限 【更改權限掩碼】

EX: setfacl -m u:user100:rw /mylv/a.txt

setfacl -m g:user100:rw /mylv/a.txt

檢視檔案acl權限

getfacl /mylv/a.txt

二、特殊權限 SUID、SGID、sticky

1、SUID(Set UID)

(1)SUID概述

當s标志出現在檔案屬主權限的X權限上時,例如/usr/bin/passwd這個檔案,權限為“-rwsr-x-r-x”,這個檔案就具有SUID特殊權限,在執行此指令的時候,執行者在執行的瞬間将擁有檔案屬主root的身份權限,即/etc/shadow檔案,普通使用者并沒有寫入權限,但是普通使用者可以執行passwd指令對自己的賬号密碼進行修改,同時寫入/etc/shadow檔案,正是因為/usr/bin/passwd這個檔案具有SUID這種特殊權限。

EX:

chmod u+s prog1

or

chmod 4xxx prog1

2、SGID(Set GID)

(1)SGID概述

當s标志出現在檔案屬組權限的x權限上時,例如/usr/bin/locate檔案的權限為“-rwx--s--x”屬組為slocate,當執行者執行locate指令時,将具有slocate組成員的權限。

EX:

chmod g+s dir1

or

chmod 2xxx dir1

3、sticky

第三個是sticky位,八進制表示位1000,它是從UNIX中繼承下來的,在LINUX中将會忽略檔案的sticky位。但是對一個目錄設定sticky位,那麼将能阻止使用者删除或者重命名檔案,除非使用者是這個目錄的所有者、檔案所有者或者超級使用者。它通常用來控制對共享目錄(例如/tmp)的通路。

EX:

chmod t dir1

or

chmod 1xxx dir1

軟raid

raid1

mdadm -C /dev/md1 -l 1 -n 2 /dev/sda{1,2} 建立raid1 mirror模式,不提升性能,但是能備份 mirror

raid0

mdadm -C /dev/md0 -l 0 -n 2 /dev/sda{1,2} 建立raid0 條帶模式,提升性能,但是不能備份 strip

raid5 左對稱或者右對稱

mdadm -C /dev/md5 -l 5 -n 3 -x 1 /dev/sda{1,4}

raid10 先建立備份,再做條帶

mdadm -C /dev/md11 -l 1 -n 2 /dev/sda{1,2}

mdadm -C /dev/md12 -l 1 -n 2 /dev/sda{3,4}

mdadm -C /dev/md10 -l 0 -n 2 /dev/md1{1,2}

擴充lv卷大小

lvextend -L mMgGtT /dev/myvg2/testlv

resize2fs /dev/myvg2/testlv

縮減lv卷大小

umount /dev/myvg/mylv

e2fsck -f /dev/myvg/mylv

resize2fs /dev/myvg/mylv #[mMgGtT]

lvreduce -L mMgGtT /dev/myvg/mylv

1、inode和block概述

檔案儲存在硬碟上,硬碟的最小儲存機關叫“扇區”(sector),每個扇區儲存512位元組。

作業系統讀取硬碟的時候,不會一個個扇區的讀取,這樣效率太低,而是一次性連續讀取多個扇區,即一次性讀取一個“塊”(block)。這種由多個扇區組成的“塊”,是檔案存取的最小機關。“塊”的大小,最常見的是4KB,即連續八個sector組成一個block。

檔案資料存儲在“塊”中,那麼還必須找到一個地方存儲檔案的元資訊,比如檔案的建立者、檔案的建立時間,檔案的大小等等。這種儲存檔案元資訊的區域叫做inode,,中文譯名為“索引節點”,也叫i節點。

一個檔案必須占用一個inode,但至少占用一個block。

2、inode包含檔案的元資訊

(1)inode内容:

檔案的位元組數、擁有者的UID、GID、檔案的讀寫執行權限、時間戳等,但不包含檔案名。檔案名是儲存在目錄的目錄項中。

(2)檢視檔案的inode内容,stat指令

檢視磁盤inode号

dumpe2fs /dev/sdb1 | grep "inode count"

1、硬連結(hard link)

(1)方法:ln 源檔案 目标檔案

(2)特點:

硬連結指向inode,新生成的硬連結檔案的inode号與源檔案的inode号相同,不可針對目錄進行硬連結,必須在同一檔案系統内。删除一個檔案名,不影響另外一個的通路。

2、軟連結(soft link)

(1)方法:ln -s 源檔案或目錄 目标檔案或目錄

(2)特點:

軟連結指向檔案名,新生成的軟連結檔案的inode号與源檔案不同,目錄也可以生成軟連結,軟連結檔案與源檔案可以不在同一檔案系統内,軟連結檔案的内容是源檔案的路徑,讀取時系統會自動導向源檔案,但當源檔案移動或重命名時,軟連結将報錯。

1、針對Linux下的EXT檔案系統,可用的恢複工具:

debugfs ext3grep extundelete等 得先umount磁盤分區

2、extundelete的使用

(1)extundelete支援ext3、ext4檔案系統

(2)下載下傳源碼包,編譯安裝

1>常用選項:

--inode 數值 指定從inode号為多少開始顯示

--restore-file 檔案名 恢複誤删除的某個檔案

--restore-all 恢複全部已删除的檔案

--after dtime 在某個時間點之後删除的檔案

--before dtime 在某個時間點之前删除的檔案

date -d “日期及時間” +%s 算出某個時間點距離1970年1月1日過去了多少秒

2、日志檔案的分類

(1)核心及系統日志:

在6以上的系統版本中,這種日志資料由系統服務rsyslog同一管理,根據其主配置檔案/etc/rsyslog.conf中的設定決定将核心消息及各種系統程式消息記錄到什麼位置。

/etc/rsyslog.conf配置檔案中,常見的配置格式及其含義:

“.”:比後面等級要高(包含該等級)的都記錄。例如:“*.info”

“.=”:隻記錄該等級。例如:“.=debug”

“!”:除了該等級都記錄。例如:“!info”

“-”:當有記錄資訊需要記錄時,先存到緩存中,到一定大小時一次性寫入,以減 少對磁盤讀寫性能的占用。例如:“-/var/log/maillog”

4、常見的日志檔案及檢視方式

/var/log/messages

核心消息及各種應用程式的公共日志資訊,包括啟動、I/O錯誤、網絡錯誤、程式故障等

/var/log/cron

crond周期性計劃任務産生的時間資訊

/var/log/dmesg

引導過程中的各種時間資訊

/var/log/maillog

進入或發出系統的電子郵件活動

/var/log/lastlog

每個使用者最近的登入事件

last、lastlog

/var/log/secure

使用者認證相關的安全時間資訊

/var/log/wtmp

每個使用者登入、登出及系統啟動和停機事件

users、who、w

/var/log/btmp

失敗的、錯誤的登入嘗試及驗證事件

lastb