有了Debug權限就能幹壞事?當心了,你的一舉一動盡在系統監控中

你們新年好! Jerry祝你們身體健康,鼠年大吉!服務器

本文是鼠年第一篇文章,也是汪子熙公衆號第200篇原創文章。工具

昨天Jerry在家度過了有生以來年味最淡的一個除夕夜。爲響應政府和專家的號召,沒有走親訪友,宅在家中,與親人和代碼一塊兒,度過了一個平靜的除夕夜。spa

所謂「平平淡淡纔是福」,讓咱們共同祈禱,期盼這場全人類的災難早點結束。操作系統

以前Jerry也閱讀過一些介紹如何經過ABAP單步調試繞過SAP標準權限檢查「小技巧」的文章,好比說在調試器裏修改權限檢查語句AUTHORITY-CHECK的返回值sy-subrc, 或者乾脆用調試器的「跳轉到某條語句」這一功能,直接繞過權限檢查語句。設計

雖說在SAP生產系統裏,按照慣例,普通的業務用戶絕對不會有調試的權限,更別說在調試器裏修改變量的值了,但若是是在開發系統裏,直接在調試器裏修改變量的值,或是跳過某些語句的執行,真的就可以不會被別人發現麼?調試

答案是否認的。日誌

看個例子:blog

我在ABAP調試器裏把變量的值從12改爲123,回車使更改生效。事務

而後事務碼SM21,打開系統日誌查看工具:開發

我剛纔在ABAP調試器裏修改變量值的行爲,赫然在案:

再試試在ABAP調試器裏,使用「Goto statement」,直接跳過某些語句:

這一行爲也逃不過系統日誌的記錄,甚至連我從第幾行ABAP代碼跳轉到另外的第幾行,都清晰地記錄下來了。

Terminal字段即在調試器裏執行了語句跳轉的用戶使用的終端機器ID,每臺鏈接到ABAP Netweaver服務器上的機器都具備一個惟一的終端ID.

這些系統日誌文件存儲的具體位置在哪?

點擊Display Components,在Component trace面板裏,能有選擇性地查看某種類別的系統日誌:

其中/usr/sap/AG3/D56開頭的路徑,便是我當前登陸的Application Server,ID爲AG3,instance numeber 爲56這臺服務器的工做目錄:

使用事務碼AL11沿着這條路徑找下去,在work子目錄就能發現這些系統日誌文件:


普通ABAP用戶沒有操做系統的訪問權限,也就不能對這些系統日誌文件進行任何寫操做。

總而言之,一旦你使用單步調試的方法繞過一些權限檢查或者執行其餘危險操做時,這些行爲當即記錄在系統日誌裏,普通用戶沒法刪除這些日誌文件。

SAP系統的權限控制體系設計得很是完善,當你們在實際工做中發現本身缺乏某個事務的執行權限時,請按照SAP權限管控的標準流程去解決問題。經過ABAP單步調試繞過權限檢查,在任何狀況下都絕非SAP推薦的解決方式。即使是你們想在開發系統上這樣作的以前,也務必三思然後行。

感謝閱讀,祝你們春節愉快。

要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":

相關文章
相關標籤/搜索