1. 程式人生 > >Linux作業系統入門(3)

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 -訊號