linux -- 檔案特殊許可權和程序
阿新 • • 發佈:2018-11-05
<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每個核的負載