UbuntuのSudoは、すべてのコマンドでパスワードを要求し続けます。以前は、パスワードを1回入力するだけで、しばらくの間記憶されていました。これは最近、おそらくNattyに「アップグレード」した後に変更されました。
終わったよ Sudo visudo
そして設定Defaults env_reset, timestamp_timeout = 60
、再起動を試みましたが、まだ機能していません。これを修正するにはどうすればよいですか?
以下の提案の後、私の/etc/sudoers
は次のようになります:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults:endolith timestamp_timeout=60
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
更新:
VirtualBoxをアップグレードしたところ、同じ問題が発生し始めました。推測では、bashを実行し、その中でSudoを実行しようとしましたが、パスワードは正しく記憶されています。デフォルトのシェルを使用した場合のみ fish 記憶されません。以前のUbuntuリリースで実行されましたが、現在は実行されていません。
更新:
13.05にアップグレードすると、これが魔法のように再び機能し始めました。これで、一度パスワードを要求され、しばらくの間要求を停止し、しばらくすると再び要求されます。
@endolith:はい、それは魚にのみ影響するようです。同じ問題が発生しました。この問題は、Sudoオプション「tty_tickets」が原因で発生します。/etc/sudoersファイルでこれを無効にすると、問題が解決します。
以下はtty_ticketsを無効にします:
Defaults env_reset,!tty_tickets
他に何も機能しない場合は、Sudo -i
を(単独で)試してください。これにより、1つのパスワードの後にルートシェルが提供されます。
パスワードを1回入力するだけで、しばらくの間パスワードが記憶されていました。
どこで推測すれば、あなたの/var/run/Sudo
ディレクトリに関する何かが台無しになっているに違いありません。このディレクトリは、タイムスタンプファイルが保存される場所です。/var/runがいっぱいで、権限が台無しになっている可能性があります。とにかく、そのディレクトリを見てください、私はあなたの問題がそこにあるかもしれないと思います。
私のフォルダの権限は次のようになります。
# find /var/run/Sudo/ -ls
1164242 4 drwx------ 6 root root 4096 Jan 1 1985 /var/run/Sudo/
1179694 4 drwx------ 2 root www-data 4096 Jan 1 1985 /var/run/Sudo/www-data
1164286 4 drwx------ 2 root myuser 4096 Jul 21 23:03 /var/run/Sudo/myuser
1163399 0 -rw------- 1 root myuser 0 Jul 13 22:42 /var/run/Sudo/myuser/0
1163453 0 -rw------- 1 root myuser 0 Jul 21 22:59 /var/run/Sudo/myuser/2
1164309 0 -rw------- 1 root myuser 0 Jul 21 23:03 /var/run/Sudo/myuser/6
1163303 0 -rw------- 1 root myuser 0 Jul 13 22:31 /var/run/Sudo/myuser/5
適切な方法として、Sudo -K
を実行して現在のタイムスタンプファイルを強制終了することもできます。
/etc/sudoers.d/ディレクトリを確認します。
Sudoパッケージを以前のバージョンにダウングレードしてみることもできます。