sudo continua a chiedermi la mia password in fish shell


19

sudo in Ubuntu continua a chiedermi la mia password per ogni comando. In precedenza, dovevo inserire la password una sola volta, quindi sarebbe stata ricordata per un periodo di tempo. Questo è cambiato di recente, probabilmente dopo "l'aggiornamento" a Natty.

Ho fatto sudo visudoe impostato Defaults env_reset, timestamp_timeout = 60, provato a riavviare, ma non funziona ancora. Come posso risolvere questo problema?

Dopo i suggerimenti di seguito, il mio /etc/sudoersaspetto è questo:

#
# 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

Aggiornare:

Ho aggiornato il mio VirtualBox e ha iniziato a soffrire dello stesso problema. A indovinare, ho eseguito bash, e ho provato a farlo, e la password è ricordata correttamente. E 'solo quando uso la mia shell di default di pesce che non ricorda. Lo ha fatto nella precedente versione di Ubuntu, ma non più.

Aggiornare:

Ho aggiornato alla 13.05 e questo ha magicamente iniziato a funzionare di nuovo. Ora richiede la mia password una volta, smette di chiedere per un po 'e poi chiede di nuovo dopo un periodo di tempo.



3
@warren: non è un duplicato. Dovrei essere tenuto a inserire la password, ma dopo averla inserita una volta, non è necessario per un determinato periodo di tempo. Ho cambiato questo periodo di tempo con visudo in passato, ma non funziona più.
endolith,

Penso che devi usare più istruzioni Default, piuttosto che una comune separata.
Stephanie,

@Stephanie, sono certo che avere una singola istruzione Default con valori separati da virgola funzioni bene.
Zoredache,

vedo che hai aggiunto una riga come Defaults:endolith timestamp_timeout=60, ma non sei in nessun gruppo chiamato endolith, secondo un altro commento qui. quindi quale nome utente stai usando? Verificare con whoamie aggiungere quel nome utente al posto di endolithinDefaults:endolith timestamp_timeout=60endolith ALL=(ALL) NOPASSWD: ALL
25

Risposte:


15

@endolith: Sì, sembra influenzare solo i pesci. Ho avuto lo stesso problema, il problema è causato dall'opzione sudo "tty_tickets". Disabilitando questo nel tuo file / etc / sudoers risolverai il problema.

Quanto segue disabiliterà tty_tickets:

Defaults        env_reset,!tty_tickets

Questo ha delle conseguenze negative?
endolith

1
"Fai attenzione se offri l'accesso SSH agli utenti remoti, poiché potresti inavvertitamente consentire loro di condividere privilegi elevati con te se disabiliti tty_tickets." da ask.debian.net/questions/...
endolith

Offro l'accesso SSH a un utente remoto, ma è solo per me stesso, quindi presumo che ciò non causi alcuna vulnerabilità?
endolith

5

Se nient'altro funziona, prova sudo -i(da solo). Questo ti darà una shell di root dopo una password.


6
ottimo punto ma leggermente più rischioso della richiesta.
mbb,

Considerando che questo è il "modo Ubuntu" per ottenere un roothell, ho pensato che fosse un bel lavoro intorno al problema. Ogni comando è ancora registrato.
Broam,

1
In realtà non risolve il problema, è fondamentalmente solo un modo per ignorarlo.
Zoredache,

Questa è una soluzione alternativa piuttosto che una soluzione, ma è buona e non mi dispiace se ti dà automaticamente la metà della taglia. :)
endolith il

1

Ho dovuto inserire la password solo una volta, e poi sarebbe stata ricordata per un periodo di tempo.

Se dovessi indovinare, scommetterei che qualcosa nella tua /var/run/sudodirectory è rovinato. Questa directory è dove sono memorizzati i file timestamp. Forse / var / run è pieno, forse le autorizzazioni sono state rovinate. Comunque, guarda quella directory, sospetto che il tuo problema possa essere lì.

Le autorizzazioni sulla mia cartella sono simili a questa.

# 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

Per buona misura, potresti anche provare a correre sudo -Kper uccidere i tuoi file timestamp correnti.


find: '/var/run/sudo': No such file or directory
endolith il

Bene, questo è un brutto segno, perché non provare a crearlo e impostare la proprietà / autorizzazioni come sopra.
Zoredache,

Oppure potresti semplicemente reinstallare il pacchetto.
Zoredache,

ha reinstallato sudo con synaptic e lo dice ancora
endolito il

Ottengo la stessa cosa su un VirtualBox con Ubuntu 10.10. non c'è sudocartella in /var/run. In questa macchina virtuale, ricorda la mia password come previsto, quindi questo non sembra rilevante. L'unica cosa in visudo su questa macchina virtuale è Defaults env_reset. Dice anche %sudo ALL=(ALL) ALLinvece di %sudo ALL=(ALL:ALL) ALL.
endolith,

0

Vorrei controllare la directory /etc/sudoers.d/.

Puoi anche provare a eseguire il downgrade del pacchetto sudo alla versione precedente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.