iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 10
2
Security

那個夜裡的資安系列 第 10

那個夜裡的資安-10(systemctl)

  • 分享至 

  • xImage
  •  

『那我們來整理一下,systemctl吧。』

指令 簡述
systemctl status 查看目前所有狀態
systemctl status units-name 查看某個unit目前狀態
systemctl enable units-name 將某個unit設定開機時起動
systemctl disable units-name 將某個unit設定為開機時不起動
systemctl --failed 顯示執行時失敗的unit
systemctl start units-name 起動某個unit
systemctl stop units-name 停止某個unit

『常用的,差不多就這樣,資訊長,這樣報告,可以嗎?』

「你那個什麼0什麼6的,我要聽那個...」

『那就再看這個吧...前幾天有提到的。systemd 裡面,最小的單位是unit,每一個unit可能是一個服務,一個mount device,然後unit上面,有一個類似群組但不是群組的集合體,稱為target,我們可以宣告,我們使用的服務,要放到那一個target或是...試給妳看的,重開機和關機時,發LINE和傳送檔案,就是我做了相關的宣告。』

before systemd 簡述 after systemd
run level 0 關機時的程序 powerof.target
run level 1 單人模式開機程序 resuce.target
run level 2 文字多人開機模式 multi-user.target
run level 3 文字多人開機模式 multi-user.target
run level 4 文字多人開機模式 multi-user.target
run level 5 圖形多人開機模式 graphical.target
run level 6 重新開機 reboot.target

『另外,我們可以透過,systemctl get-default,查看我們的Linux開機後,是進入那一種開機模式。請問,這樣可以嗎?』

「大概有點進入狀況...那...我還是不懂...像xrdp是怎麼起動的?」

『xrdp哦? 我們先用systemctl status xrdp 看一下它的狀態,這裡,有看到嗎? 這一串...Loaded: loaded (/usr/lib/systemd/system/xrdp.service; enabled;』

https://ithelp.ithome.com.tw/upload/images/20190916/20006132UMeeXuHH2R.png

「有啊...」

『簡單的先講,enabled...請解釋。』

「開機時,會起動的是enabled。』

『是的,那systemd最小的單位是unit,但OS最小的單位是檔案,所以xrdp 這個 unit都會對應到一個檔案,讓systemd可以載入它後運作,就是這個檔案。
/usr/lib/systemd/system/xrdp.service』

「哦哦......好,繼續。」

『我們來看一下這個內容吧。』

#/usr/lib/systemd/system/xrdp.service
Description=xrdp daemon
Documentation=man:xrdp(8) man:xrdp.ini(5)
Requires=xrdp-sesman.service
After=xrdp-sesman.service

[Service]
EnvironmentFile=/etc/sysconfig/xrdp
ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS --nodaemon

[Install]
WantedBy=multi-user.target

『然後,我們直接看...重開機時,會發LINE的那個unit...看到了嗎,就在這個畫面裡。』

https://ithelp.ithome.com.tw/upload/images/20190916/20006132cQ1ib51VeM.png

「等一下...你那個發LINE的功能,也是一個unit?」

『不然是ghost? 當然是unit...』

「你那個sayhi.service是什麼? 為什麼取這個名字?」

『大隱隱於市啊,資訊長,那個檔案,五天前,就在妳的CentOS裡了,就在/etc/systemd/system裡 ,妳看這個檔案顯示白色,與眾不同耶。』

「你一直在欺負我,對不對?」

『資訊長,我一直在讓,妳不要被妳的十萬大軍欺負...』

「繼續吧,我看一下你那個檔案...」

『這個簡單講就是...我設定了一個unit,描述是 Test reboot, shutown, halt script,這個unit會等待shutdown.target reboot.target halt.target 這三個之一起動後,才會起動我建的unit。

我設定的unit起動後,就會去執行我宣告的sciprt,另外,如果我對這個unit是設定enable的話,systemd 會幫我把defaultss.service這個檔案,link到 halt.target reboot.target shutdown.target 這三個資料夾裡。

只是,如果我不設定為enable, 這個unit永遠不會被起動,我的sayhi.service,就變電磁垃圾了。』

「所以,你講半天,根本沒講到重點,重點是那個你去執行的那個script吧...」

『就看怎麼評斷,重中之輕和重中之重,而且script不就那樣,讀取shadow,分割內容後,送出。』

「不管啦...回到apache,我要可以看到網頁...」

『報告資訊長,好的,另外...我還是準備了一個,把Kali Linux安裝在Android手機裡的影片...有空,妳就先看一下吧,我出去吹吹風啊...等等回來...』

Yes

(待)

工程師們的宇宙
這個世界上,有一個叫做工程師們的宇宙,這個宇宙的時間序,大概是這樣的,

2010年_誰溫暖了工程師
2010年_IT人在廚房
2010年_FB不浪漫
2012年_工程師不哭
2012年_工程師復愁記
2017年_為了明日的重開機
2018年_有間咖啡店
2018年_心洞年代
2018年_A的A次方
2019年_那個夜裡的資安

2019/09/16 SunAllen

 


上一篇
那個夜裡的資安-9(systemD)
下一篇
那個夜裡的資安-11(xrdp)
系列文
那個夜裡的資安35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
一級屠豬士
iT邦大師 1 級 ‧ 2019-09-16 00:46:54

蠻好看的.

SunAllen iT邦研究生 1 級 ‧ 2019-09-16 00:48:58 檢舉

謝謝您

我要留言

立即登入留言