i pensier stretti&il viso sciolto. -----------Hemy Wootton《黑客與畫家》
守口如瓶,笑臉相迎
目錄
文檔編寫目的
序
用來保護公司機密的監控小進程,並且防止黑客盜用,以及獲取員工的登錄日志信息,防止有人惡意搞,或者當員工使用rm -rf等誤刪時禁止,並向主管部門發送郵件。
偽裝系統文件使用定時任務執行python腳本
ps:技術都有兩面性,大家都明白。
此時用到的工具是systemd,下面是具體步驟
1.0 創建單調定時器
創建一個文件夾用於存放測試使用的單元數據
mkdir /home/sy_test
在此目錄下創建定時器
cd /home/sy_test
vim nice.timer
編寫單元文件內容
[Timer]
OnBootSec=1h
OnUnitActiveSec=1d
1h代表開機1小時后啟動
1d代表1day 也就是1天執行一次
1.1 創建單元文件
創建文件
cd /home/sy_test
vim nice.service
編寫文件內容
[Unit]
Description = myScript #描述#
[Service]
ExecStart = /usr/bin/python3 -u mypython.py
WorkingDirectory = /home/sy_test #腳本所在目錄#
放入系統可識別的優先級目錄下(具體優先級問題請參照第三篇參考博客)
mv /home/sy_test/nice.service /lib/systemd/system
1.2創建python腳本
vim /home/sy_test/mypython.py
編寫文件內容
1.3執行腳本
由於是linux系統服務,和配置環境變量一樣有效,能夠在任意目錄執行
sudo systemctl start nice.service
啟動服務后查看狀態(它這里是狀態其實代表日志)
sudo systemctl status nice.service
成功運行!接下來停掉服務,然后通過定時器啟動
sudo systemctl stop nice.service
當然我們這種小程序,打印跑完就代表程序就結束了,所以你不stop也可以,但是如果是持久性的程序(比如tomcat,nginx,自定義的接口之類的服務),停止才可以在啟動
1.4通過定時器啟動任務
為了更加明顯我這里把之前的nice.timer設置為1m,也就是1分鍾執行一次,並且配置定時任務執行那個服務
vim /home/sy_test/nice.timer
轉移與關聯
很多小寶貝會好奇,那么定時任務和單元服務文件沒有配置,他們怎么關聯的呢,別慌看↓↓↓↓↓↓↓
定時器單元文件和服務單元文件必須在同一個目錄下,且文件名相同,只是后綴不同一個為.timer,一個為.service
mv /home/sy_test/nice.timer /lib/systemd/system
啟動定時器
systemctl start nice.timer
查看定時器狀態
systemctl status nice.timer
定時器啟動成功,接下來咱們來驗證一下是否讓那個python執行了多次
查看服務狀態
sudo systemctl status nice.service
我沒有手動運行任何關於這個服務的命令,僅僅是看它的狀態,2次都在每分鍾重新執行了,說明很成功
成功!
結語:你規避了你隱藏的服務,無法發現,但是軟件行業沒有銀彈,沒有完美的東西,如果別人也知道這個systemctl可以隱藏服務的話,其實也是可以通過這個找到你的命令的,不過它得查看你的輸入日志。
所以你還得來一步,刪除這區間內的輸入日志
還是那句沒有銀彈,這樣雖然別人不知道你啟動了什么服務,但是還是有問題的,如果別人超級厲害的那種,那這個版本的文件和當前版本的系統命令,以及搭建的所有環境服務所有版本文件進行比對,然后在以超級耐心,一個個比對,放心吧,絕對要花幾個月專注這一件事情,才能把你給找出來。
參考博客:
https://blog.csdn.net/weixin_37766296/article/details/80192633 最簡明扼要的 Systemd 教程
systemctl isolate emergency.target 千萬不要執行,上一篇文章中的開始與執行前面的代碼。我服務器直接ping不通了。
https://www.cnblogs.com/zhaoweihang/p/12102386.html 在linux 用systemctl 執行python腳本
https://my.oschina.net/u/2539854/blog/857219 systemd創建定時任務