Impossibile bloccare / etc / passwd; riprovare più tardi


30

Con diversi comandi in Linux, ottengo l'errore:

cannot lock /etc/passwd; try again later.

Qualcuno sa come risolverlo? Inoltre non ottengo nella mia directory / etc / shadow.


2
devi aumentare il tuo livello utente usando il comando "sudo" o "su".
Raptor,

4
La tua directory / etc / shadow ?!? / etc / shadow dovrebbe essere un file. Si prega di dare il comando esatto che si sta tentando di eseguire.
Brian White,

3
Nel mio caso il filesystem di root era pieno :-p

Risposte:


22

Se non .locksono presenti file ma non è ancora possibile creare un utente, provare quanto segue

sudo mount -o remount,rw /

Se hai effettuato l'accesso come rootallora usa

mount -o remount,rw /

Ciò ha risolto il problema che avevo dopo l'avvio in modalità di ripristino modificando la voce grub
twobeers

ma dove cercare i .lockfile? grazie a @trevorRobinson sembra che dovresti cercare /etc/, giusto?
hello_there_andy,

E se dicesse mount: cannot remount /dev/dm-0 read-write, is write-protected. Sono in ChromeOS (Linux) con Dev Mode abilitata.
trusktr,

Perché questa non è la risposta accettata ??
Math2001,

9

Questo perché non hai i permessi per quelle operazioni

  • Non sai leggere /etc/shadow
  • Non è possibile modificare direttamente /etc/passwd

È possibile modificare entrambi i file tramite comandi specializzati (ad es. È possibile modificare la password).


1
per cambiare la password, usa "passwd <nomeutente>"
Raptor il

9

L'utente con cui esegui i comandi non dispone dei privilegi richiesti. Passare rootall'utente immettendo il comando

su -

o se hai / usi sudo

sudo <command to run>

6

Ciò può anche essere causato dalla mancanza di spazio sul filesystem di root. Usa straceper essere sicuro. straceÈ tuo amico.


Ho letto molti thread con il mio problema e quella era in realtà la soluzione. Dovrei essere una delle prime cose da verificare in caso di problemi con il filesystem, immagino. Sto usando dfinvece di straceperò. Come stracemi aiuterebbe? Mai usato
erikbwork

2
Bene, se hai già indovinato che il problema potrebbe esaurire lo spazio, allora df può aiutarti. Ma strace ti dirà qual era il codice di errore quando ha provato a bloccare il file, quindi dovrebbe rimuovere le congetture. Il modo in cui di solito chiamo strace è il strace -f -e trace=file comando poiché di solito dà i risultati più utili.
Robin Green,

6

Mi sono imbattuto in questo quando si è verificato un errore del disco durante un'operazione di userdel e il sistema ha dovuto essere riavviato. Ho dovuto eliminare tutti e quattro i seguenti file per procedere:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock

6

Se hai -R /some/chrootaggiunto al tuo useraddcomando, questo potrebbe essere il problema.

Ho pensato che significasse che l'utente sarebbe stato imprigionato al momento dell'accesso, ma non è così. Osservando l'output di strace, ho visto useradd chroot nella directory specificata, dopodiché ovviamente non è più possibile trovare / etc / passwd. Quindi non sono sicuro di quale sia l'opzione, ma c'è il tuo (bene, il mio) problema.


Era esattamente quello che stavo provando. Dopo aver rimosso l' -R [dir]opzione sono stato in grado di creare l'utente.
Gustavo Straube,

Bella supposizione! Grazie. Ho anche capito che il chroot per useraddnon è quello che pensi sia :) Utilizza solo la directory specificata come root per il sistema dell'utente . È utile per il sottosistema isolato clonato, che raramente è quello che vuoi ...
Ninj

2

Mi sono imbattuto in questo quando si è verificato un errore del disco durante un'operazione di userdel e il sistema ha dovuto essere riavviato. Ho dovuto eliminare tutti e quattro i seguenti file per procedere:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock

Questo comando mi ha davvero aiutato. Molte grazie.


Questo è un commento di ringraziamento a una risposta precedente.
suspectus,

1

Una demo di questo errore su Ubuntu 14.04:

user@mybox:/home$ sudo useradd eric
user@mybox:/home$ userdel eric
userdel: Permission denied.
userdel: cannot lock /etc/passwd; try again later.

sudo ti dà il permesso di bloccarlo.

user@mybox:/home$ sudo userdel eric
user@mybox:/home$


1

Aveva lo stesso problema, poiché / etc era pieno. Questo è il motivo per cui / etc / passwd non può essere scritto. Assicurati di avere abbastanza spazio su / etc, in caso contrario ingrandiscilo o pulisci le cose non necessarie.

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.