1. 程式人生 > >linux -- 檔案特殊許可權和程序

linux -- 檔案特殊許可權和程序

<0>.建立目錄和檔案的預設許可權[umask]

(1)umask ---> 檢視系統目錄預設預留許可權位;檔案預設預留許可權位 ---> 目錄許可權減去<111>
在這裡插入圖片描述
(2)umask 007 ---> 臨時修改系統目錄預設預留許可權位 為 007
在這裡插入圖片描述
(3) 永久修改系統umask值

	1).vim /etc/profile   系統配置檔案,使用者登陸後才會執行
	   if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
	      umask 002		普通使用者的umask
	   else
	      umask 022		超級使用者的umask
	   fi
	2).vim /etc/bashrc     shell的配置檔案,系統啟動自動執行
	   if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
	       umask 002
	    else
	       umask 022
	    fi
	3).source /etc/profile   更新修改後的命令;讓更改立即生效
	4).source /etc/bashrc   更新修改後的命令;讓更改立即生效

在這裡插入圖片描述

<1>.特殊許可權位

1>.sticky   粘制位
   作用:只針對目錄生效,當一個目錄上有sticky許可權時,在這個目錄中的檔案只能被檔案的所有者和root使用者刪除
   設定方式:chmod o+t dir  或者  chmod 1XXX dir ---> 給目錄加上粘制位

在這裡插入圖片描述
在這裡插入圖片描述

2>.sgid	強制位
    作用:對檔案:只針對二進位制可執行檔案,當檔案上有sgid時,任何人執行檔案是以該檔案所有組的身份去執行  
	對目錄:當目錄上有sgid時,任何人在此目錄中建立的檔案都屬於目錄的所有組
    設定方式:   chmod	g+s	file|dir
	       chmod	2xxx	file|dir

在這裡插入圖片描述
在這裡插入圖片描述

3>.suid	冒險位
	作用:只針對二進位制可執行檔案,當檔案上有suid時,任何人執行這個檔案中的程式產生的程序都屬於檔案的所有人
	設定方式:        chmod	u+s	file
			chmod	4xxx	file

在這裡插入圖片描述

<2>.acl列表( setfacl )

1>.作用:讓特定使用者擁有特定的許可權
2>.acl列表的檢視

[[email protected] mnt]# setfacl -m u:kiosk:rwx file
	-rw-rwxr--+ 1 root root 0 Oct  1 19:45 file
   註釋 : 第 11 位為 . 時代表沒有 acl 許可權 ; 為 + 時代表有 acl 許可權。
[
[email protected]
mnt]$ getfacl file -----> 檢視檔案的acl許可權 # file: file ----->檢視acl開啟後的檔案的許可權 # owner: root ----->檔名稱 # group: root ----->檔案所在組 user::rw- ----->檔案所有人的許可權 user:kiosk:rwx ----->指定使用者的許可權 group::r-- ----->檔案所在組的許可權 mask::rwx ------>能賦予使用者的最大許可權值 other::r-- ----->其他人的許可權
3>.acl列表的管理
	getfacl  file|dir ---> 檢視檔案的 ACL 許可權
	setfacl -m <u|g|m>:<username|groupname>:rwx 檔名  ---> 給檔案新增指定使用者|組|mask的指定許可權值
	setfacl -m d:<u|g|m>:<username|groupname>:rwx目錄名  ---> 給目錄新增指定使用者|組|mask的指定許可權值
	setfacl -x <u|g>:<username|groupname> 檔名 | 目錄  ---> 移除指定使用者|組在檔案或者目錄上的指定許可權值
	setfacl -b 檔名 | 目錄  ---> 移除檔案或者目錄上的所有acl值

在這裡插入圖片描述
在這裡插入圖片描述

4>.mask的值
在許可權列表中mask表示能生效的最大權力值
當用chmod減小開啟後acl的檔案許可權時,mask值會發生變化
	chmod g-w file----->看到減掉時的mask值
	setfacl -m m:rwx file----->恢復mask值
	setfacl -m d:u:student:rwx /mnt/file----->acl預設許可權只針對目錄設定
"acl許可權只針對設定完成之後新建立的檔案或目錄生效,而已經存在的檔案是不會繼承預設許可權的“

<3>.檢視程序

圖形檢視    gnome-system-monitor
程序檢視命令
ps	-A	---> 所有程序
	-a	---> 當前環境中執行的程序,不包含環境資訊
	-u	---> 在當前環境中執行的程序
	 a	---> 在當前環境中執行的程序
	 x	---> 列出系統中所有執行包含tty輸出裝置
	 f	---> 列出程序的父子關係
	 e	---> 列出程序的詳細資訊(系統的資源呼叫)

<4>.程序常用的組合

ps	aux	---> 顯示系統中所有程序並顯示程序使用者
ps	ef	---> 顯示程序詳細資訊並顯示程序父子關係
ps	ax	---> 顯示當前系統中的所有程序

<5>.顯示程序指定資訊

ps	-o	xxx	---> 顯示程序的指定資訊
ps	-o	comm	---> 程序名稱
		user	---> 程序所有人
		group	---> 程序所有組
		%cpu	---> 程序cpu使用率
		%mem	---> 程序記憶體使用率
		pid	---> 程序id
		nice	---> 程序優先順序

<6>.程序排序

ps	ax	--sort=+%cpu    由低到高排序
		       -%cpu	有高到低排序

在這裡插入圖片描述

<7>.程序的優先順序

S --->程序狀態	s --->頂級程序	N --->優先順序低	
+ --->前臺執行	< --->優先順序高	l --->記憶體中有鎖定空間
優先順序範圍 ----> (-20~19)-20 最高,19 最低
優先順序檢視 ----> ps ax -o pid,nice,comm
改變程序優先順序 ---->  renice -n 優先順序數字	程序id
指定某個優先順序開啟程序:
	nice -n 優先順序數字 程序名稱 ---> 開啟程序並且指定程式優先順序,在前臺執行
	nice -n -5 vim&  ---> 開啟vim程序並且指定程式優先順序為-5,在後臺執行

在這裡插入圖片描述

<8>.環境中程序的前後臺呼叫

jobs		--->檢視被打入環境後臺的程序
jobs -l		---> 檢視當前 bash 的 job, 並顯示該 job 的狀態與 PID
ctrl+z		--->把佔用終端的程序打入後臺
fg jobsnum	--->把後臺程序調回前臺
bg jobsnum	--->把後臺暫停的程序執行
comm &		--->讓命令直接在後臺執行

<9>.程序訊號等級

常用程序訊號等級
	1	程序重新加在配置
	2	刪除程序在記憶體中的資料
	3	刪除滑鼠在記憶體中的資料
	9	強行結束單個程序(不可以被阻塞)
	15	正常關閉程序(可能會被阻塞)
	18	繼續執行暫停的程序
	19	暫停指定程序,(不會被阻塞)
	20	暫停指定程序,(會被阻塞)
發起訊號
	kill	訊號	程序pid
	killal	訊號	程序名稱**加粗樣式**
	pkill	訊號	條件

<10>.訊號的監控(top)

top:動態監控程序,檢視程序資訊
s: 修改程序重新整理間隔時間
m: 根據記憶體佔有率進行排序
c: 根據 cpu 佔有率進行排序
u: 後面輸入使用者名稱 , 用來檢視該使用者發起的所有程序
k: 後面跟要作用的程序 pid, 和發起的訊號 (eg:9,15,20) 用來給某個程序發起一訊號
q: 退出程序檢視介面
h: 顯示 top 命令的幫助
1 ;顯示cpu每個核的負載