Linux 程式管理和SELinux

2021-07-25 05:48:23 字數 4082 閱讀 8932

一、工作管理

&//將命令丟到後台執行

tar -zpcf /tmp/etc.tar.bz2 /etc &

但執行過程中產生了

stdin

和stdout

,會直接輸出到螢幕上,因此需要重定向的方式使用

[ctrl]-z

//將目前的工作丟到後台中暫停

直接按jobs

//檢視目前的後台工作狀態

jobs [-lrs]

-l:除了列出

job number

和命令串之外,還列出

pid -r

:僅列出後台正在執行的命令

-s:僅列出後台暫停狀態的命令 fg

//將後台的工作拿到前台來處理

fg %jobnumber

bg//

讓工作在後台下變為執行狀態

bg %jobnumber

kill

//管理後台中的工作

kill -l

//列出目前

kill

能使用的

signal

訊號有哪些

kill -signal %jobnumber

或者kill -signal pid(

注意沒有

%) signal:

1:重新讀取一次引數的配置檔案

9:強制刪除乙個不正常的工作

15:正常步驟結束一項工作(預設)

主要用於刪除程序

killall

killall [-iie] -signal [

命令名稱

] -i

:互動方式

-i:忽略大小寫 見

p511

二、離線問題

[ctrl]-z

放到工作管理的後台,仍與終端機有關,離線後並不繼續工作

at 放到系統工作,與終端機無關

nohup

nohup [

命令與引數

] //

前台工作

nohup [

命令與引數

] & //

後台工作,離線後仍能執行

三、程序的檢視

ps -l

僅檢視自己

bash

的相關程序

詳細引數見

p516

ps aux

檢視系統的所有程序

詳細引數見

p517

top [-d

數字] [-bnp]

動態檢視程序狀態

-d:後接秒數,表示多少秒更新一次

-p:指定某個

pid進行檢視

pstree [-a|u] [-up]

程序樹,可以顯示出父子程序的關係

-a:以

ascii

碼顯示連線

-u:以

utf8

連線,不常用

-p:顯示出每個程序的

pid -u

:列出每個程序的所屬賬號名稱

四、關於程序的執行順序

priority

越小越先執行,使用者無法調整,由核心動態調整

nice

pri(new)=pri(old)+nice 

注意:這裡只是約等於,還是要靠系統核心來調整

nice

為負,會降低

pri,優先處理

root

可隨意調整自己或他人程序,

-20~19

一般使用者只能調整

0~19

一般使用者只能越調越高,比如原來為

12,後面只能調為

13~19

nice [-n

數字] command

//新執行的命令即賦予

nice

值 renice [

數字] pid

//為程序重新賦予

nice值

見p524

五、系統資源的檢視

記憶體使用情況

free […]

見p525

核心相關資訊

uname […]

見p526

啟動時間與工作負載

uptime […]

見p526

追蹤網路

netstat […]

見p527

動態監測系統資源

vmstat

見p528

六、查詢正使用某檔案的程序和程序開啟的檔案

fuser

//查詢正使用某檔案的程序

fuser [-umv] [-k [i] [-signal]] file/dir

見p532

lsof

//列出比程序開啟的檔案

isof [-auu] [+d]

見p533

pidof

//找到某個正在執行的程序的

pid

pidof [-sx] program_name

見p534

七、selinux(security enhanced linux)

主要概念

主體:即是程序

目標:檔案資源

策略:通過規定安全上下文的規則,限制主體對目標的訪問

安全上下文:

身份識別:角色:型別

型別最為重要,主體和目標的型別相匹配,才能使用該資源

selinux

的啟動、開啟和檢視 1

、檢視selinux

的模式 getenforce

2、設定

selinux

的模式 setenforce[0|1]0:

permissive

寬容模式 1:

enforcing

強制模式

並不需要重啟

3、關閉

selinux

vi /etc/selinux/config

修改selinux

為disabled

然後重啟

4、開啟

selinux

vi /etc/selinux/config

修改selinux

為enforcing

在/boot/grub/menu.lst

中確認不存在

selinux=0

重啟修改檔案的安全上下文(主要是修改

type)

chcon [-r] [-t type] [-u user] [-r role]

檔案 -r

:連同該目錄下的子目錄一起修改

-t:後接安全上下文的型別字段

chcon [-r] --reference=

範例檔案

檔案 //

按照範例檔案修改檔案中安全上下文

restorecon [-rv]

檔案或目錄

//按預設情況重置安全上下文

查詢安全上下文

1、知道目標型別,檢視相應的主體型別

search -a -t

目標型別 2

、知道主體型別,檢視相應的目標型別

search -a -s

主體型別

預設的安全上下文的查詢與修改

semanage fcontext -l

//查詢

semanage fcontext - [-frst] file_spec

見p546

selinux

所需的服務

setroubleshoot

將錯誤資訊寫到

/var/log/messages 1

、檢視這項服務是否已經啟動

chkconfig --list setroubleshoot

2、將這項服務設為開機啟動

chkconfig setroubleshoot on

3、檢視由於

selinux

引起的訪問錯誤

cat /var/log/messages | grep setroubleshoot

auditd

將詳細的錯誤資訊寫入

/var/log/audit/audit.log

Linux程式管理

程式 通常以二進位制放置在儲存媒介中,以物理檔案的形式存在 程序 程式被觸發後,執行者的許可權與屬性 程式的 與所需資料都會被載入到記憶體中,作業系統並給與這個記憶體內的乙個單元識別符號 pid 程序就是正在執行中的程式 程序彼此之間具有相關性 觸發任何乙個事件時,系統都會將他定義成為乙個程序,並且...

linux程式管理和程序(1)

什麼是程序 乙個程式被載入到記憶體中執行,那麼在記憶體中的那個資料就被稱為程序,所有系統上面跑的資料都以程序的型別存在。在linux系統中,觸發任何乙個事件,系統都會定義為乙個程序,並且給予這個程序乙個id,稱為pid,同時觸發這個程序的使用者與相關屬性關係,給予這個pid一組有效的許可權設定。舉個...

linux學習筆記 程式管理

程序與程式 程式 通常為二進位制程式放置在儲存媒介中 如硬碟 光碟 軟盤 磁帶等 以物理檔案的形式存在。程序 程式被觸發後,執行者的許可權與屬性 程式的程式 與所需資料等都會被載入到記憶體中,作業系統並給與這個記憶體中的單元乙個識別符號,可以說,程序就是乙個正在執行的程式。子程序與父程序 fork ...