i pensier stretti&il viso sciolto. -----------hemy wootton《黑客與畫家》
守口如瓶,笑臉相迎
目錄
序1.0 建立單調定時器
1.1 建立單元檔案
1.2建立python指令碼
1.3執行指令碼
1.4通過定時器啟動任務
文件編寫目的
用來保護公司機密的監控小程序,並且防止黑客盜用,以及獲取員工的登入日誌資訊,防止有人惡意搞,或者當員工使用rm -rf等誤刪時禁止,並向主管部門傳送郵件。
偽裝系統檔案使用定時任務執行python指令碼
ps:技術都有兩面性,大家都明白。
此時用到的工具是systemd,下面是具體步驟
建立乙個資料夾用於存放測試使用的單元資料
mkdir /home/sy_test
在此目錄下建立定時器
cd /home/sy_test
vim nice.timer
vim nice.timer
編寫單元檔案內容
[timer]
onbootsec=1h
onunitactivesec=1d
1h代表開機1小時後啟動
1d代表1day 也就是1天執行一次
onbootsec=1h
onunitactivesec=1d
建立檔案
cd /home/sy_test
vim nice.service
vim nice.service
編寫檔案內容
[unit]
description = myscript #描述#
[service]
execstart = /usr/bin/python3 -u mypython.py
workingdirectory = /home/sy_test #指令碼所在目錄#
description = myscript #描述#
[service]
execstart = /usr/bin/python3 -u mypython.py
workingdirectory = /home #指令碼所在目錄#
放入系統可識別的優先順序目錄下(具體優先順序問題請參照第三篇參考部落格)
mv /home/sy_test/nice.service /lib/systemd/system
vim /home/sy_test/mypython.py
編寫檔案內容
由於是linux系統服務,和配置環境變數一樣有效,能夠在任意目錄執行
sudo systemctl start nice.service
啟動服務後檢視狀態(它這裡是狀態其實代表日誌)
sudo systemctl status nice.service
成功執行!接下來停掉服務,然後通過定時器啟動
sudo systemctl stop nice.service
當然我們這種小程式,列印跑完就代表程式就結束了,所以你不stop也可以,但是如果是永續性的程式(比如tomcat,nginx,自定義的介面之類的服務),停止才可以在啟動
為了更加明顯我這裡把之前的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可以隱藏服務的話,其實也是可以通過這個找到你的命令的,不過它得檢視你的輸入日誌。
所以你還得來一步,刪除這區間內的輸入日誌
還是那句沒有銀彈,這樣雖然別人不知道你啟動了什麼服務,但是還是有問題的,如果別人超級厲害的那種,那這個版本的檔案和當前版本的系統命令,以及搭建的所有環境服務所有版本檔案進行比對,然後在以超級耐心,乙個個比對,放心吧,絕對要花幾個月專注這一件事情,才能把你給找出來。
參考部落格:
最簡明扼要的 systemd 教程
在linux 用systemctl 執行python指令碼
systemd建立定時任務
Web 伺服器與 應用程式伺服器
一 web伺服器 1 常用的web伺服器又apache iis等 2 web伺服器的特點 web伺服器可以解析 handles http協議。當web伺服器接收到乙個http請求 request 會返回乙個http響應 response 例如送回乙個html頁面。web伺服器的 模型 delegat...
linux伺服器部署應用程式
1.守護程序 程式寫成守護程序,fork兩次。2.系統日誌 3.開機啟動 將命令寫入 etc rc.local 4.程式崩潰後自動啟動 使用crond服務,定時判斷是否存在某個程序,若不存在,則啟動。我在程式做了應用程式單例,所以每2分鐘啟動一下程式即可,若程式存在,則不會重複啟動該程式。cront...
「 」應用程式中的伺服器錯誤。
說明 執行當前 web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以了解有關該錯誤以及 中導致錯誤的出處的詳細資訊。異常詳細資訊 system.io.directorynotfoundexception 未找到路徑 g 的一部分。源錯誤 執行當前 web 請求期間生成了未處理的異常。可以使用下...