web-dev-qa-db-ja.com

sudoはfishshellでパスワードを要求し続けます

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にアップグレードすると、これが魔法のように再び機能し始めました。これで、一度パスワードを要求され、しばらくの間要求を停止し、しばらくすると再び要求されます。

19
endolith

@endolith:はい、それは魚にのみ影響するようです。同じ問題が発生しました。この問題は、Sudoオプション「tty_tickets」が原因で発生します。/etc/sudoersファイルでこれを無効にすると、問題が解決します。

以下はtty_ticketsを無効にします:

Defaults        env_reset,!tty_tickets
15
Kadu

他に何も機能しない場合は、Sudo -iを(単独で)試してください。これにより、1つのパスワードの後に​​ルートシェルが提供されます。

5
Broam

パスワードを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を実行して現在のタイムスタンプファイルを強制終了することもできます。

1
Zoredache

/etc/sudoers.d/ディレクトリを確認します。

Sudoパッケージを以前のバージョンにダウングレードしてみることもできます。

0
Michał Šrajer