1. 程式人生 > 其它 >Linux 詳解檔案許可權,檔案屬性,系統優化

Linux 詳解檔案許可權,檔案屬性,系統優化

1.許可權

某一個使用者針對某一個檔案的許可權。

1、許可權分為3個部分
	可讀(r)
	可寫(w)
	可執行(x)    (執行指令碼 == 執行指令碼)
	沒有對應許可權(-)

	

2、許可權位
	drwxr-xr-x
	拋開第一個d是檔案型別,剩下的9個每3個為一組
	許可權位主要分為三個部分,分別是屬主、屬組以及其他人
	rwx		: 屬主
	r-x		: 屬組
	r-x		: 其他人
	
	r可讀 w可寫 x可執行
	(這三個順序一般情況下是不會變的.有且僅有以下幾種可能: ---,r--,rw-,r-x,rwx)

3、每一個許可權擁有一個數字編號
	可讀(r)			: 4
	可寫(w)			: 2
	可執行(x)		    : 1
 	沒有對應許可權(-)     : 0
 	在新增許可權的時候,可以將許可權加起來
 		屬主 : 可讀可寫可執行
 		屬組 :可讀可寫
 		其他人:沒有任何許可權
 		rwxrw----  等價於  760
 		
 5、新增許可權
  	①.先建立一個檔案:
 	touch index
 	②.新增許可權命令:
 	chmod 
 		格式:
 			chmod [引數] [許可權表示式] [操作物件]
 	
 	引數:
 		-R  : 遞迴增加許可權
 	
 6、許可權的歸屬
 	屬主:u
 	屬組:g
 	其他人:o
 	案例:
	案例1:將index檔案新增屬主 : 可讀可寫可執行、屬組 :可讀可寫、其他人:沒有任何許可權
		chmod 760 index

 	案例2:將test目錄下的所有檔案設定rwxr--r--
 	準備一個資料夾,建立10個txt檔案:
 		mkdir test
 		echo {1..10}.txt | xargs touch
 	實施:
 		chmod -R  744  test/

 	案例3:將index這個檔案的屬組增加一個可執行許可權。
 		chmod g+x index
 		如果對多個許可權位有多個操作可以用逗號隔開,例如: 同時給index這個檔案的其他人增加一個可讀許可權
 		chmod g+x,o+r index
 		或者給index這個檔案的屬組增加可讀可寫可執行,並將其他人的可讀許可權取消
 		chmod g+rwx,o-r index

7、測試許可權對於使用者的意義
	1、普通使用者是嚴格遵守許可權的
	2、root使用者是高於許可權(擁有任何許可權)
	3、許可權需要重新登才生效(su和su - 都可以)

8、許可權對於目錄的意義
	1、檔案可讀,路徑的最小許可權是必須擁有可執行許可權。
	2、檔案可寫,路徑的最小許可權是必須擁有可執行許可權。
	3、檔案可執行,路徑的最小許可權是必須擁有可讀可執行許可權。

9、建立檔案的預設許可權,建立資料夾的預設許可權是從哪裡來的
	在Linux中,常用的檔案的許可權是666, 目錄的許可權是777。
	vim /etc/profile
	開啟profile 裡面可以看到判斷umask值的條件
        if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
        umask 002
    else
        umask 022
    fi
    可以看出:
    	root使用者的umask  : umask 022
		普通使用者的umask  :  umask 002
	1、檔案的許可權(666)是跟umask 值相減,遇到奇數加一;遇到偶數則不變。
	2、資料夾的許可權(777)只要跟 umask 值相減即可。
	
	預設檔案許可權:644
	預設的資料夾許可權:755
		
	儲備知識:
	Linux中的符號
        &&   類似python中的 and      並且
        ||   類似python中的 or		或者
	
	假如umask為  : 123    
	那麼檔案許可權	: 644 
	檔案目錄許可權	: 654
10、檢視檔案屬性資訊的命令:
	stat 檔名
	簡單的介紹一下stat命令顯示出來的檔案其他資訊:
    - File:顯示檔名 
    - Size:顯示檔案大小 
    - Blocks:檔案使用的資料塊總數 
    - IO Block:IO塊大小 
    - regular file:檔案型別(常規檔案) 
    - Device:裝置編號 
    - Inode:Inode號 
    - Links:連結數 
    - Access:檔案的許可權 
    - Gid、Uid:檔案所有權的Gid和Uid。

    Linux下的三個時間: 
    1. Access Time:簡寫為atime,表示檔案的訪問時間。當檔案內容被訪問時,更新這個時間 
    2. Modify Time:簡寫為mtime,表示檔案內容的修改時間,當檔案的資料內容被修改時,更新這個時間。 
    3. Change Time:簡寫為ctime,表示檔案的狀態時間,當檔案的狀態被修改時,更新這個時間,例如檔案的連結數,大小,許可權,Blocks數。

2、檢視系統使用者資訊

whoami	: 當前視窗登入的使用者
who		:當前使用者登入系統的終端

關於基名的補充:
	cd /etc/sysconfig/network-scripts/
	[root@lin network-scripts]# 
	其中  network-scripts  就是基名,顯示的是當前的位置
	pwd檢視的是路徑.
	
	

END~