RHCE 8.0學習日記 day6

第9章   控制服務和守護進程

systemd 守護進程管理Linux的啓動,一般包括服務啓動和服務管理。

紅帽Linux中。第一個啓動的進程(PID 1)是systemd。主要提供一下幾項功能:

  • 並行功能(同時啓動多個服務),它可提高系統的啓動速度。
  • 按需求啓動守護進程,而不需要單獨的服務。
  • 自動服務依賴關係管理,可以防止長時間超時。
  • 利用Linux控制組一起追蹤相關進程的方式。

systemd管理的常用單元類型:

  •  服務單元具有.service擴展名,代表系統服務。
  • 套接字單元具有.socket擴展名,代表systemd應監控的進程間通信(IPC)套接字。
  • 路徑單元具有.path 擴展名,用於將服務的激活推遲到特點文件系統更改發生之後。

systemctl命令用於管理單元,可以縮寫單元名稱、進程樹條目和單元描述。

不戴任何參數運行systemctl命令可列出已加載和活動的單元。

systemctl  list-units  --type=service  命令僅列出激活狀態爲active的服務單元。--type=service 選項將列出的單元類型限制爲服務單元。  --all選項可以列出所有服務單位,不論激活狀態如何。--state== 選項可以按照LOAD、ACTIV或SUB字段中的值進行篩選。

systemctl  list-units命令顯示systemd服務嘗試解析並加載到內存中的單元,不顯示已安裝但未啓動的服務。systemctl list-units-files命令查看所有已安裝的單元文件的狀態。

查看服務狀態

使用systemctl status name.type 來查看特點單元的狀態,如未提供單元類型,則systemctl 將顯示服務單元的狀態。 

服務單元信息

字段 描述
loaded 服務單元是否已加載到內存中
active 服務單元是否正在運行,若是,它已運行了多久。
main PID 服務的主進程ID,包括命令名稱。
Status 有關該服務的其他信息。
systemctl 輸出中的服務狀態
關鍵字 描述
loaded 單元配置文件已處理
active(running) 正在通過一個或多個持續進程運行。
active(exited) 已成功完成一次性配置。
active(waiting) 運行中,但正在等待事件。
inactive 不在運行。
enabled 系統引導時啓動
disabled 未設爲在系統引導時啓動。
static 無法啓動,但可以由某一啓用的單元自動啓動。

 

 

 

 

 

 

systemctl  is-active  驗證服務單元當前是否在活動狀態,返回active或inactive。

systemctl  is-enabled 驗證服務單元是否啓用在系統引導時自動啓動,返回enabled或disabled。

systemctl  is-failed  驗證單元是否啓動失敗,返回failed表示啓動中發生錯誤,active表示單元運行正常,單元被停止返回unknown或inactive。

systemctl  --failed  --type=service  列出所有失敗的單元。

控制系統服務

啓動和停止服務

systemctl status驗證服務是否在運行,然後以root用戶身份使用systemctl start命令。

要停止服務,則用stop參數,restart參數來重新啓動。

某些服務可以重新加載其配置文件,而無需重新啓動,這個過程被稱爲服務重新加載,使用reload參數來運行systemctl命令。systemctl reload-or-restart 命令可以自行判斷服務是否可以重新加載配置文件更改的功能,如果可重新加載,該命令將重新加載配置更改,不可用,則該命令將重新啓動服務以實施新的配置更改。

systemctl list-dependencies UNIT命令顯示啓動服務單元所需的依賴項的層次結構映射。要列出反向依賴項,需要使用--reverse選項來運行此命令。

systemctl mask sendmail.service屏蔽未屏蔽的服務。systemctl umask命令可取消屏蔽服務單元。
使服務在系統引導時啓動或停止:

systemctl enable,讓服務在系統引導時啓動服務。

systemctl disable 禁止服務自動啓動。

驗證服務是啓動還是禁止狀態,可使用systemctl is-enabled命令

systemctl list-dependencies UNIT命令顯示啓動服務單元所需的依賴項的層次結構映射。要列出反向依賴項(依賴於指定單元的單元)使用--reverse選項來運行此命令。示例:

systemctl  mask 可屏蔽服務 umask 取消屏蔽。示例:

 

使用SSH訪問遠程命令行

OpenSSH在紅帽企業Linux系統上實施Secure Shell或SSh協議。

ssh命令使用用戶user02登錄服務器remotehost,實例:

在remotehost遠處系統上以user用戶身份運行hostname命令,而不訪問遠程交互式shell。

w命令可顯示當前登錄到計算機的用戶列表。

公鑰存儲在 /etc/ssh/ssh_known_hosts及SSH客戶端上每個用戶的~/.ssh/known_hosts文件中。

連接的每個遠程SSH服務器都將其公鑰存儲在/etc/ssh目錄下擴展名爲.pub的文件中。

OpenSSH服務由sshd的守護進程提供。它的主配置文件爲/etc/ssh/sshd——config。

ssk-keygen 命令 創建用於身份驗證的私鑰和匹配的公鑰。默認公鑰保存在~/.ssh/id_rsa.pub文件中;私鑰保存在~/.ssh/id_rsa文件在。 -f選項可以指定保存密鑰的文件。

ssh-agent 可以在會話開始時臨時將私鑰密語緩存到內存中,以實現真正的無密碼身份驗證。

ssh-copy-id命令可將SSH密鑰對的公鑰複製到目標系統。示例:

 

禁止超級用戶使用SSH登錄

修改/etc/ssh/sshd_config配置文件中的PermitRootLogin配置設置,以允許或禁止用戶以root身份登錄系統

PermitRootLogin yes表示允許以root身份登錄系統。禁止以root登錄要該爲no,禁止基於密碼的身份嚴重,但是允許對root執行基於私鑰的身份驗證,可設置爲PermitRootLogin without-password。 更改必須重新加載才能使更改生效。

禁止對SSH進行基於密碼的身份驗證:

修改/etc/ssh/sshd_config配置文件中的PasswordAuthentication參數,用於控制是否使用基於密碼的身份驗證,默認爲yes,表示運行。改爲no,表示禁止用於使用基於密碼的身份驗證。

每次更改/etc/ssh/sshd_config文件,必須重新加載sshd服務讓更改生效。重要 切記。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章