1. 程式人生 > >運維學習 unit 7 程序,系統服務,遠端訪問

運維學習 unit 7 程序,系統服務,遠端訪問

###程序###

1程序是系統未完成正在進行的任務

2檢視程序

1)圖形方式檢視 gnome-system-monitor 2)命令方式 ps -A ##所有程序 ps -a ##當前環境中執行的程序,不包含環境 ps -u ##顯示程序使用者資訊 ps a ##當前環境中執行程序 ps x ##列出所有包含tty輸出裝置的程序 ps f ##顯示程序的父子關係 ps e ##顯示程序的詳細資訊(系統資源的呼叫) pstree ##顯示當前程序樹 在這裡插入圖片描述 常用組合 ps aux #顯示所有程序並檢視使用者 ps ef #顯示程序詳細程序並顯示父子關係 ps ax #顯示所有程序 在這裡插入圖片描述

3)顯示程序指定資訊 ps -o xxx #3顯示程序指定資訊 comm ##程序名稱 user ##程序使用者 %cpu ##顯示程序cpu負載 %mem ##顯示程序記憶體負載 group ##程序組 comm ##程序名稱 nice ##程序優先順序 pid ##程序的id

3.程序排序

·+ ##正序(從小到大) ·- ##倒序(從大到小) ·%cpu ##cpu負載排序 ·%men ##記憶體負載

4.如何控制shell中程序的前後臺呼叫

命令& ###程序在shell後臺執行 ctrl+z ###把佔用shell的程序打入後臺停止 jobs ###檢視被打入後臺的程序資訊 fg job號 ###把指定程序調回前臺 bg job號 ###執行後臺停止的程序 ctrl+c ###關閉佔用shell程序

5程序訊號

1.常用訊號等級 1 ##程序重新載入配置 2 ##刪除程序在記憶體中的資料 3 ##刪除滑鼠在記憶體中的資料 9 ##強行結束單個程序(不能被阻塞) 15 ##正常關閉程序 (可能會被阻塞) 18 ##執行暫停的程序 19 ##暫停某個程序 (不能被阻塞) 20 ##把程序打入後臺 (可以被阻塞)

6.程序優先順序

1.程序的優先順序範圍

-20~19

2.優先順序檢視

ps ax -o pid,nice,comm

3.指定某個優先順序開啟程序 nice -n 優先順序數字 程序名稱 nice -n -5 vim & ##開啟vim並且指定程式優先順序為-5 在這裡插入圖片描述

4.改變程序優先順序 reince -n 優先順序數字程序pid renice -n -5 1806 ##改變1806程序的優先順序為-5 [email protected] ~] ## ps a -o pid,nice,comm PID NI COMMAND 614 0 Xorg 1128 0 agetty 1625 0 bash 1785 0 vim 1806 -5 vim 1824 -5 vim 1835 0 ps

5結束程序

kill -訊號 程序pid killall -訊號 程序名字 pkill -u student -訊號

SIGHUP 終止程序 終端線路結束通話 SININT 終止程序 中斷程序 SIGQUIT 建立CORE檔案終止程序,並且生成core檔案 SIGILL 建立CORE檔案 非法指令 SIGTRAP 建立CORE檔案 跟蹤自陷 SIFBUS 建立CORE檔案 匯流排錯誤 SIGSEGV 建立CORE檔案 段非法錯誤 SIGFPE 建立CORE檔案 浮點異常 SIGIOT 建立CORE檔案 執行I/O自陷 SIGKILL 終止程序 殺死程序 SIGPIPE 終止程序 向一個沒有讀程序的管道寫資料 SIGALARM 終止程序 計時器到時 SIGTERM 終止程序 軟體終止訊號 SIGSTOP 停止程序 非終端來的停止訊號 SIGTSTP 停止程序 終端來的停止訊號 SIGCONT 忽略訊號 繼續執行一個停止的程序 SIGURG 忽略訊號 I/O緊急訊號 SIGIO 忽略訊號 描述符上可以進行I/O SIGCHLD 忽略訊號 當子程序停止或退出時通知父程序 SIGTTOU 停止程序 後臺程序寫終端 SIGTTIN 停止程序 後臺程序讀終端 SIGXGPU 終止程序 CPU時限超時 SIGXFSZ 終止程序 檔案長度過長 SIGWINCH 忽略訊號 視窗大小發生變化 SIGPROF 終止程序 統計分佈圖用計時器到時 SIGUSR1 終止程序 使用者定義訊號1 SIGUSR2 終止程序 使用者定義訊號2 SIGVTALRM 終止程序 虛擬計時器到時

7top命令

1.top##監控系統負載工具

在這裡插入圖片描述

8.使用者登陸審記

1

w ##檢視使用系統的當前使用者有那些 w -f ##-f檢視使用地點

2 last ##檢視使用者登陸成功歷史 lastb ##檢視使用者登陸未成功歷史 在這裡插入圖片描述

##系統服務的控制##

1.什麼是服務?

service 服務就是在系統中執行的軟體,這個軟體主要是對外某項功能,那麼我們把這一類軟體安叫做服務 systemd 系統初始化程式,系統開始的第一個程序,pid為1

2.服務管理

systemctl 命令 systemctl start 服務名稱 ###開啟服務 systemctl stop 服務名稱 ###關閉服務 systemctl restart 服務名稱 ###重啟服務 systemctl reload 服務名稱 ###重新載入服務配置 systemctl status 服務名稱 ###檢視服務狀態 systemctl enable 服務名稱 ###設定服務開機啟動 systemctl disable 服務名稱 ###禁止服務開機啟動 systemctl list-dependencies ###檢視服務依賴關係 systemctl list-units ###檢視當前執行的所有服務 systemctl list-unit-files ###檢視服務的開機啟動情況 systemctl set-default multi-user.target ###開機不啟動圖形 systemctl set-default graphical.target ###開機啟動圖形

3.服務狀態

systemctl status 服務名稱 loaded ##系統服務已經初始化完成,載入過配置 active(running) ##正有一個或多個程式正在系統中執行 atcive(exited) ##僅執行一次就正常結束的服務 active(waiting) ##正在執行當中 inactive ##服務關閉 enbaled ##服務開機啟動 disabled ##服務開機不啟動 static ##服務開機啟動項不可被管理 failed ##系統配置錯誤

ssh

1.openssh-server

功能:讓遠端主機可以通過網路訪問sshd服務,開始一個安全shell

2.客戶端連線方式

ssh 遠端主機使用者@遠端主機ip [[email protected] ~]# ssh [email protected] The authenticity of host ‘172.25.0.11 (172.25.254.115)’ can’t beestablished. ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08. Are you sure you want to continue connecting (yes/no)? yes ##連線陌生主機時需要建立認證關係 Warning: Permanently added ‘172.25.0.11’ (ECDSA) to the list of known hosts. [email protected]’s password: ##遠端使用者密碼 Last login: Mon Oct 3 03:13:472016 [[email protected] ~]# ##登陸成功 ssh 遠端主機使用者@遠端主機ip -X ##呼叫遠端主機圖形工具 ssh 遠端主機使用者@遠端主機ip command ##直接在遠端主機執行某條命令 在這裡插入圖片描述

3.sshkey加密

[[email protected] ~]# ssh-keygen ##生成公鑰私鑰工具 在這裡插入圖片描述 [[email protected] ~]# ls /root/.ssh/ id_rsa id_rsa.pub id_rsa ##私鑰,就是鑰匙 id_rsa.pub ##公鑰,就是鎖

4.新增key認證方式

[[email protected] ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] ssh-copy-id ##新增key認證方式的工具 -i ##指定加密key檔案 /root/.ssh/id_rsa.pub ##加密key root ##加密使用者為root 172.25.0.11 ##被加密主機ip id_sa 3.分發鑰匙給client主機 [[email protected] ~]# scp /root/.ssh/id_rsa [email protected].25.0.10:/root/.ssh/

注意:

使用ssh-copy-id -i /root/.ssh/id_rsa.pub +使用者@IP 用路徑下的公鑰鎖住你想要加鎖的主機上的某使用者 接下來的過程全程yes就可以 最後輸入 對應主機的使用者的密碼 看到number of key add:1 就說明加鎖成功 下一步則是將祕鑰 就是不帶.pub的那個檔案傳送到client端 使用scp +server路徑下的id_rsa + 使用者@clientIP:client端的/root/.ssh 成功傳送之後 client端使用ssh連線服務端就不再需要密碼了 使用rsa公私鑰加密直接認證

ssh-copy-id ###上傳key的工具 -i ###指定使用的公鑰 /home/test/.ssh/id_rsa.pub ###使用公鑰的名稱 westos ###被管理的目標使用者 172.25.154.100 ###被管理使用者所在主機的ip authorized_keys ###此檔案在目標使用者的家目錄的.ssh中,這個檔案就是目標使用者被加密的標識,檔案內容位公鑰內容。

5.提升openssh的安全級別

1.openssh-server配置檔案 /etc/ssh/sshd_config 78 PasswordAuthentication yes|no ##是否開啟使用者密碼認證,yes為支援no為關閉 48 PermitRootLogin yes|no ##是否允許超級使用者登陸 49 AllowUsers student westos ##使用者白名單,只有在名單中出現的使用者可以使用sshd建立shell 50 DenyUsers westos ##使用者黑名單 在這裡插入圖片描述 在這裡插入圖片描述