Linux

xinetd 服務:可以更改使用者嗎?(cvs pserver)

  • September 11, 2013

舊版原始碼控制:xinetd 下的 CVS

我們有一個使用遺留原始碼控制的團隊:cvs。我們在 xinetd 下執行 cvs pserver(下面的配置文件)。

審計標誌

安全審計提出了一個標誌:“確保 cvs 伺服器不在 root 下執行”。

問題:

我可以通過將“user=root”替換為“user=cvs”來安全地鎖定“cvs pserver”嗎?任何有害的副作用或“陷阱”?

注意:使用者“cvs”擁有“cvs root”目錄“/var/cvs/cvs”中的所有文件

我問是因為我已經搜尋了所有十年前的文件,並且所有範例都有’user = root’並且沒有人建議更改“user =”參數以提高安全性。

更新: 我試過了。有效。沒問題。

謝謝

範例:cvspserver 配置文件

# Begin /etc/xinetd.d/cvspserver

    service cvspserver
    {
         port        = 2401
         socket_type = stream
         protocol    = tcp
         wait        = no
         user        = root
         passenv     = PATH
         server      = /usr/bin/cvs
         server_args = -f --allow-root=/var/cvs/cvs   pserver
    }

# End /etc/xinetd.d/cvspserver

你絕對應該聽從他們的建議。這是非常好的建議。

通常,在執行此操作時,您需要確保守護程序具有足夠的權限來執行其操作。在這種特定情況下,這很可能只是意味著它已經擁有的所有權。我的建議是備份您的儲存庫,然後繼續進行更改。

其工作方式是 xinetd(通常以 root 身份執行)將放棄特權,然後執行 /usr/bin/cvs,其中 stdin 和 stdout 指向 xinetd 管理的套接字。真的沒什麼。CVS 非常簡單,除了能夠操作其根目錄下的文件之外,不需要任何權限。

引用自:https://serverfault.com/questions/537505