Linux-Mint

如何在登錄時自動輸入 sudo 的寬限期

  • April 10, 2016

知道從使用者登錄的那一刻起給使用者一個 sudo 的寬限期可能是一個安全問題,我仍然認為在我的設置中這將是安全性和可用性之間的有益權衡。

問題是:如何做到這一點?據我所知,sudo 沒有為它提供 CLI。

我可能會以某種方式將 gdm 輸入的密碼轉移到類似的東西sudo false,但同樣:如何以純文字形式獲取使用者提供的密碼?我應該pam為它編寫一個自定義模組嗎?

或者,最好沉浸在 sudo 的實現細節中,並以 root 身份直接操作時間戳數據庫?

Gross hack,沒有經過真正的測試:

  • 將以下行添加到/etc/pam.d/gdm
# Update the sudo ticket; proceed whether this succeeds or fails
session [success=ignore new_authtok_reqd=ignore] optional pam_exec.so seteuid /usr/local/sbin/update_sudo_ticket
  • 內容/usr/local/sbin/update_sudo_ticket
#!/bin/sh
DIR=/var/run/sudo/$PAM_USER
if [ -d "$DIR" ]; then touch "$DIR"; else mkdir "$DIR"; fi

您必須tty_ticket關閉該選項/etc/sudoers(否則,無論如何它都沒有意義:Gdm 登錄不會計算您在 X 會話中在虛擬終端中所做的任何事情)。

我不保證這行得通。我不保證這不會引入明顯的安全漏洞。使用風險自負。

引用自:https://unix.stackexchange.com/questions/61974