在目錄中的腳本中新增提升的權限

在目錄中的腳本中新增提升的權限

我有一個目錄,其中包含一些需要從 Web 請求呼叫的腳本。這些腳本需要提升權限才能運作。

我目前的想法是將以下幾行添加到/etc/sudoers

Cmnd_Alias WEB_COMMANDS = /path/to/scripts
www-data ALL=(ALL) NOPASSWD: WEB_COMMANDS

這是解決這個問題的正確方法嗎?還是我造成了潛在的安全漏洞?

使用 CentOS 7,如果這有什麼區別的話。

答案1

任何事物都是潛在的安全漏洞。兩件事情:

首先,你是當然它需要root嗎?為什麼?你能用能力來做到這一點嗎? (你可能可以。)

話雖這麼說,你的例子幾乎是正確的。在路徑後面加上星號:

Cmnd_Alias WEB_COMMANDS = /path/to/scripts/*

現在它會起作用了。但要注意,如果攻擊者可以修改這些腳本中的任何一個,攻擊者就會獲得完整的根訪問權限。他們可以簡單地exec('/bin/bash')有一個外殼。如果可能的話,請務必遵循每個腳本的功能路線,並且無論如何都要鎖定腳本目錄。看這個 unix.se 答案有關使用腳本管理功能的資訊。

相關內容