ユーザーがログインしてからsudo猶予期間を提供することがセキュリティ上の問題になる可能性があることを知っていますが、これは私の設定でセキュリティと使いやすさの間で有益な妥協点になると思いました。
問題はこれを行う方法です。私が知る限り、sudoはCLIを提供しません。
おそらく、どういうわけかgdm入力パスワードを同様のものとして送信できますsudo false
。しかし、繰り返しますが、プレーンテキストで提供されたユーザーパスワードを取得するにはどうすればよいですか?pam
これにカスタムモジュールを作成する必要がありますか?
それとも、sudoの実装の詳細を詳しく見て、rootで直接タイムスタンプデータベースを操作する方が良いでしょうか?
答え1
実際にテストされていない深刻なハッキング:
次の行を追加します
/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セッションの仮想端末で実行されるすべての操作には影響しません)。
私はこれが動作することを保証しません。これにより、明白なセキュリティホールが発生しないことを保証できません。自分の責任で使用してください。
答え2
Gilesは私に次のようなより簡単な解決策を思い出すようにインスピレーションを与えました。/etc/mdm/PostLogin/Default
Linux-Mint Mate(/etc/gdm/PostLogin/Default
Ubuntu)の実行可能ファイルに次の行が含まれていることを確認してください。
touch /var/lib/sudo/$LOGNAME