Linux作業系統入門(3)
umask
umask 系統建立檔案時預設保留的權力
umask 077 臨時設定系統預留許可權為077
目錄:700
檔案:600
永久修改umask
vim /etc/profile 系統配置檔案
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 #普通使用者的uamsk值 else umask 022 #超級使用者的uamsk值 fi vim /etc/bashrc shell的配置檔案 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then umask 002 #普通使用者的umask值 else umask 022 #超級使用者的umask值 fi
source /etc/profile #讓更改立即生效
source /etc/bashrc
特殊許可權
1.sticky #粘制位
作用:
只針對目錄生效,當一個目錄上有sticky許可權時
在這個目錄中的檔案只能被檔案的所有者刪除
設定方式:
chmod o+t dir
chmod 1xxx dir
此目錄加上粘制位後,/mnt下的dir目錄只能被所有者root使用者刪除,當跳轉到普通使用者刪除時,不能實現
2.sgid 強制位
作用
對檔案:只針對二進位制可執行檔案
當檔案上sgid時,任何人執行此檔案產生的程序都屬於檔案的組
對目錄:當目錄有sgid時,任何人在次目錄中建立的檔案都屬於目錄的所有組
設定方式:
chmod g+s file|dir
chmod 2xxx file|dir
對檔案加了強制位之後,執行此檔案產生的程序都屬於該檔案屬於的組
3.suid #冒險位
只針對二進位制可執行檔案
當檔案上有suid時任何人執行這個檔案中的程式產生的程序都屬於檔案的所有人‘
設定方式:
chmod u+s file
chmod 4xxx file
對檔案加了冒險位以後,執行此檔案中的程式產生的程序都屬於檔案的所有人
acl許可權列表
1.作用
讓特定的使用者對特定的檔案擁有特定的許可權
2.acl列表檢視
-rw-r--r--. 1 root root 0 Oct 1 19:15 file
# file: file
# owner: root
# group: root
user::rw-
group::r--
other::r--
getfacl 檢視acl開啟的檔案的許可權
#file: file 檔案的名稱
# owner: root 檔案的所有者
# group: root 檔案的所有組
user::rw- 檔案所有人的許可權
user:tom:rwx 指定使用者的許可權
group::r-- 檔案所有組的許可權
mask::rwx 能賦予使用者的最大權力閥值
other::r-- 其他人的許可權
3.acl列表的管理
setfacl -m u:username:rwx file 設定username對file擁有rwx許可權
setfacl -m g:group:rwx file 設定group組成員對file擁有rwx許可權
4.mask值
在許可權列表中mask表示能生效的權力值
當用chmod減小開啟acl的檔案許可權時,mask值會發生變化
chmod g-w wetos 看到減掉的時mask值
恢復mask值
setfacl -m m:rwx westos
acl預設許可權只針對目錄設定
setfacl -m d:u:student:rwx /mnt/wetos
“acl許可權只針對設定完成之後新建立的檔案或目錄生效,而已經存在的檔案是不會繼承預設許可權的
系統程序及服務的控制
1.什麼是程序
1)圖形方式檢視
gnome-system-monitor
2)程序檢視命令
ps -A 所有程序
ps -a 當前環境中執行的程序,不包含環境資訊
-u 顯示程序使用者資訊
a 在當前環境中執行的程序
x 列出系統中所有執行包含tty輸出裝置
f 顯示程序的父子關係
e 顯示程序的詳細資訊(系統的資源呼叫)
常用組合
ps aux 顯示系統中的所有程序並顯示程序使用者
ps ef 顯示程序詳細資訊並顯示程序父子關係
ps ax 顯示當前系統中的所有程序
顯示程序指定資訊
ps -o xx 顯示程序的指定資訊
comm 程序名稱
user 程序所有人
group 程序所有組
%cpu 程序cpu使用率
%mem 程序記憶體使用率
pid 程序id
nice 程序優先順序
程序排序
ps ax --sort=+%cpu|-%cpu
-%mem|-%mem
圖為顯示CPU佔用率前五,並去掉了標題%cpu
程序優先順序
S 程序狀態
L 記憶體中有鎖定空間
N 優先順序低
< 優先順序高
+ 前臺執行(佔用了終端)
s 頂級程序
1.優先順序範圍
-20~19
2.優先順序檢視
ps ax -o pid,nice,comm
3.改變程序優先順序
renice -n 優先順序數字 程序id
renice -n -5 6574 #改變6574程序的優先順序為-5
將pid為1的程序systemd的程序優先順序有0改為5
4。指定某個優先順序開啟程序
nice -n 優先順序數字 程序名稱
nice -n -5 vim & ##開啟vim並且指定程式優先順序位-5
環境中程序的前後臺呼叫
jobs ##檢視被打入環境後臺的程序
ctrl+z #把佔用終端的程序打入後臺
fg jobsnum #把後臺程序調回前臺
bg jobsnum #把後臺暫停的程序執行
comm & #讓命令直接在後臺執行
程序訊號
1.常用程序訊號等級
1 程序重新加在配置
2 刪除程序在記憶體中的資料
3 刪除滑鼠在記憶體中的資料
9 強行結束單個程序(不可被阻塞)
15 正常關閉的程序
18 執行暫停的程序
19 暫停某個程序(不能被阻塞)
20 把程序打入後臺
man 7 signal 檢視訊號詳細資訊
kill -訊號 程序id
killall -訊號 程序名字
pkill -u student -訊號