Linux

如果外部程序編輯 sudoers 文件可以嗎?

  • May 29, 2018

我的程序在以 root 身份執行時需要一些本地環境變數來執行某些任務。編寫一個可以更改使用者 sudoers 以保留這些變數的子程序會很好嗎?它不僅可以在我的個人電腦上執行,而且可以在許多使用者電腦上執行。我需要的環境變數主要是 DESKTOP_SESSION 或其任何變體和 QT_X11_NO_MITSHM

編寫一個在程序執行時修改系統文件(/etc/sudoers或任何其他文件)的子程序是一個糟糕的設計理念。

更優雅的解決方案是,當您為特定 Linux 發行版(例如 RHEL/CentOS 6 和 7、Ubuntu 16 和 18)建構和打包程序時,您可以使用並安裝一個配置片段/etc/sudoers.d/program-name,以確保每當您的程序執行時,都會應用您需要的特定 sudo 設置(例如保護特定環境變數)。

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