天天看點

linux -- 檔案特殊權限和程序<0>.建立目錄和檔案的預設權限[umask]<1>.特殊權限位<2>.acl清單( setfacl )<3>.檢視程序<4>.程序常用的組合<5>.顯示程序指定資訊<6>.程序排序<7>.程序的優先級<8>.環境中程序的前背景調用<9>.程序信号等級<10>.信号的監控(top)

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

(1)umask ---> 檢視系統目錄預設預留權限位;檔案預設預留權限位 ---> 目錄權限減去<111>

linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

(2)umask 007 ---> 臨時修改系統目錄預設預留權限位 為 007

linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

(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   更新修改後的指令;讓更改立即生效
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

<1>.特殊權限位

1>.sticky   粘制位
   作用:隻針對目錄生效,當一個目錄上有sticky權限時,在這個目錄中的檔案隻能被檔案的所有者和root使用者删除
   設定方式:chmod o+t dir  或者  chmod 1XXX dir ---> 給目錄加上粘制位
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
2>.sgid	強制位
    作用:對檔案:隻針對二進制可執行檔案,當檔案上有sgid時,任何人執行檔案是以該檔案所有組的身份去執行  
	對目錄:當目錄上有sgid時,任何人在此目錄中建立的檔案都屬于目錄的所有組
    設定方式:   chmod	g+s	file|dir
	       chmod	2xxx	file|dir
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
3>.suid	冒險位
	作用:隻針對二進制可執行檔案,當檔案上有suid時,任何人執行這個檔案中的程式産生的程序都屬于檔案的所有人
	設定方式:        chmod	u+s	file
			chmod	4xxx	file
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

<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值
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)
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	有高到低排序
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

<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,在背景運作
           
linux -- 檔案特殊權限和程式&lt;0&gt;.建立目錄和檔案的預設權限[umask]&lt;1&gt;.特殊權限位&lt;2&gt;.acl清單( setfacl )&lt;3&gt;.檢視程式&lt;4&gt;.程式常用的組合&lt;5&gt;.顯示程式指定資訊&lt;6&gt;.程式排序&lt;7&gt;.程式的優先級&lt;8&gt;.環境中程式的前背景調用&lt;9&gt;.程式信号等級&lt;10&gt;.信号的監控(top)

<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每個核的負載
           

繼續閱讀