天天看點

檔案權限

晨考

1.linux系統中的檔案‘身份證号’是什麼
	index node

2.什麼是硬連結,什麼是軟連接配接。
	硬連結就是檔案的入口
	軟連接配接就快捷方式

3.硬連結中儲存的是什麼,軟連接配接中儲存的是什麼
	硬連結中儲存的是index node号碼
	軟連接配接儲存的是路徑

4.删除檔案的底層原理是什麼
	删除硬連結
	硬連結格式為0時,删除檔案内容

5.linux系統中常見的檔案類型
	普通檔案		:f(-)
	檔案夾			:d
	連結檔案		:L
	裝置檔案		:b,c
			b:磁盤檔案
			c:字元檔案
	套接字檔案		:s
	管道檔案		:p

6.建立使用者的指令和參數
	useradd
		-g		:指定使用者組
		-r		:指定系統使用者
		-M		:不建立家目錄
		-u		:制定與使用者id
		-s		:指定解析器

7.建立使用者涉及到的檔案有哪些
	/etc/passwd
	/etc/group
	/etc/shadow
	/etc/gshadow
	建立使用者:
		1.添加使用者
			vim /etc/passwd
		2.添加組
			vim /etc/group
		3.添加密碼
			vim /etc.shadow
		4.組
			vim /etc/gshadow
		5.家目錄
			cd /home/
				mkdir 使用者名
				cp /etc/skel/.bash* /home/使用者名
				chown -R 新的使用者.新的組 原檔案	:建立家目錄
				chmod 700 新的使用者/			:增權重限

檢視inode碼:
	ll / -i
	stat

           

昨日問題

1.已連接配接隻針對檔案,不針對檔案夾
2.index node号碼必須是同一個檔案系統内唯一
3./etc/passwd中添加使用者,代表使用者建立了,但不完全建立。(好像建立了,又好像沒建立?)
           

概要

*********************************************
1.權限(重要)
2.系統優化
*********************************************
           

詳細

1.權限

某一個使用者針對某一個檔案的權限
1.權限分為3部分
	r		:可讀
	w		:可寫
	x		:可執行
		腳本:執行腳本 == 運作腳本
	-		:沒有對應權限

2.權限位
	權限位主要分為三部分:
		屬主---屬組---其他人
		rwxr-xr-x
		rex		:屬主
		r-x		:屬組
		r-x		:其他人
		針對三種角色有九個權限位,每種角色三種。
	一個檔案屬于哪個使用者的,就是屬主。同時屬于這個使用者所在的組。

3.每個權限擁有一個數字編号
	r----4		:可讀
	w----2		:可寫
	x----1		:可執行
	-----0		:沒有對應權限

4.添權重限的時候,可以将權限加起來
	建立一個檔案index:
		屬主要求:可讀可寫可執行
		屬組要求:可讀可寫
		其他人:沒有任何權限
		rwxrw----:使用數字編号添權重限
		注:相加的時候每個角色的才可以相加
			rwxrw---- == 760
			rwx	==7
			rw-	==6
			---	==0
			到5裡面檢視添加

5.添權重限
	指令:chmod
		格式:
			chmod [參數] [權限表達式] [操作對象]
			參數:可有可無
			權限表達式:可以是數字形式或字元形式
		參數:
			-R	:遞歸更改檔案夾内所有的檔案權限
				chmod -R 777 index(這是4。建立的檔案夾)

6.權限的歸屬:
	下列是為快速更改權限
	u		:屬主
	g		:屬組
	0		:其他人
	a		:所有

7.測試權限對使用者的意義
	針對普通使用者
	1.普通使用者嚴格遵守權限
	2.root使用者高于權限
	3.當1使用者修改權限後,2使用者需要重新登陸之後才可以操作1使用者檔案給的相關的權限

8.測試權限對于目錄的意義
	超級管理者不受權限的限制
	1.檔案可讀,路徑最小的權限是必須擁有可執行權(每層檔案夾都要擁有可執行權限)
	2.檔案可寫,路徑最小的權限是必須擁有可執行權限
	3.檔案可執行,路徑最小的權限必須擁有可讀,可執行權限
	注:vim編寫檔案,檔案要有可讀可寫權限
		echo重定向檔案,隻需要可寫權限即可

9.建立檔案的預設權限,建立檔案夾的預設權限是從哪裡來的
	在linux中,常用檔案的權限是666,目錄的權限是777
	1.檔案的權限是跟umask值相減,遇到奇數相加,遇到偶數不變
	2.檔案夾的權限是要跟umask值相減即可
	3.檢視umask:
		cat /etc/profile
	4.umask的值:
		if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ];
			then
				umask 002
			else
				umask 022
		判斷目前使用者的id是否大于199和使用者名和使用者組的名相等時umask就是002,否則就是022
		-gt:與python中的 > 相同
		id -gn:表示組的id
		id -un:表示使用者的id
		&&:與python中的and相同
		||:與python中的or相同
		umask:
			root	:002
		其他使用者預設的smusk值需要進行判斷
案例:
	案例1:設定1.txt的檔案權限操作
		方法1:chmod 777 1.txt
		方法2:chmod u+r 1.txt(6.檢視u+r具體使用)
	案例2:将index檔案夾中的檔案都設定一樣的權限
		chmod 744 index/*
			注:這樣隻會更改index檔案夾的下一層檔案夾,而再向下就不會被更改
		需要遞歸更改:
			chmod -R 744 index/
		案例3:将index這個檔案屬組增加一個可執行權限
			chmod 770 index		:增權重限
			或者
			chmod g+x index		:權限的歸屬
			chmod g+x,o-r index  :增加,删減
	
           

2.檔案時間資訊

檢視檔案相關時間:
	stat [檔案名]
		Access: 2021-12-15 16:04:01.003500731 +0800
		Modify: 2021-12-15 11:59:48.028012317 +0800
		Change: 2021-12-15 16:03:56.404500578 +0800
			Access:通路時間
				編輯檔案内容會改變
			Modify:修改時間
				編輯檔案内容會改變
				修改檔案屬性會改變
				注:編輯檔案用echo,vim涉及讀的過程,是以不用
			Change:改變時間(修改屬性時間即:屬組,屬主,權限)
				修改檔案屬性會改變
				注:cp即複制也會改變此屬性
           

測試

建立檔案:

檔案權限

1.cat通路檔案

檔案權限
任何時間都沒有改變
           

2.vim通路檔案不編輯

檔案權限
任何時候都沒有改變
           

3.echo 追加重定向檔案

檔案權限
1.Modifi
2.Change
           

4.vim編輯檔案添加

檔案權限
檔案權限
第一次:三種時間都改變
第二次:後兩個時間改變
           

5.chmod更改權限

檔案權限
Change
           

6.再次測試cat通路

檔案權限
檔案權限
檔案權限

系統優化

1.檢視系統名稱:
	cat /etc/redhat-release

2.檢視系統核心版本參數:
	uname -a
		Linux localhost.localdomain 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
			系統		:linux
			主機名		:localhost
			系統版本号	:3.10.0---
			Gnu/Linux	:免費的
	uname -r
		系統版本号
	uname -m
		硬體位數
           

為使用者添加密碼

1.passwd 使用者名
	添加新的密碼

2.echo 密碼 | passwd --stdin 使用者名
	免互動設定密碼,一般用在腳本檔案中
		類似:os.system('echo 密碼 | passwd --stdin 使用者名')
3.檢視使用者資訊:
	whoami
		列印出登入目前視窗的使用者
	who
		列印目前使用者登入的系統終端個數
			tty:原本的終端(虛拟機)
			pts:虛拟終端
				xshell
4.指令提示資訊優化
	暫時修改:
		export PS1='[\u@\h \w]\$ '
	永久修改:
		vim /etc/profile
		export PS1='[\u@\h \w]\$ '
	
	source
		重載的意思,檔案立即生效