No se puede bloquear / etc / passwd; intente nuevamente más tarde


30

Con varios comandos en Linux, obtengo el error:

cannot lock /etc/passwd; try again later.

¿Alguien sabe cómo resolverlo? Además, no entro en mi directorio / etc / shadow.


2
debes elevar tu nivel de usuario usando el comando "sudo" o "su".
Raptor

44
¿Su directorio / etc / shadow ?!? / etc / shadow debería ser un archivo. Indique el comando exacto que está intentando ejecutar.
Brian White

3
En mi caso, el sistema de archivos raíz estaba lleno :-p

Respuestas:


22

Si no hay .lockarchivos pero aún no puede crear un usuario, intente lo siguiente

sudo mount -o remount,rw /

Si ha iniciado sesión como, rootentonces use

mount -o remount,rw /

Esto resolvió el problema que tenía después de arrancar en modo de recuperación editando la entrada de grub
cervezas

pero ¿dónde se buscarán los .lockarchivos? gracias a @trevorRobinson parece que uno debería mirar /etc/, ¿correcto?
hello_there_andy

¿Qué pasa si dice mount: cannot remount /dev/dm-0 read-write, is write-protected? Estoy en ChromeOS (Linux) con el modo Dev habilitado.
trusktr

¿Por qué no es esta la respuesta aceptada?
math2001

9

Eso es porque no tienes permisos para esas operaciones

  • No puedes leer /etc/shadow
  • No puedes modificar directamente /etc/passwd

Puede cambiar ambos archivos a través de comandos especializados (por ejemplo, puede cambiar su contraseña).


1
para cambiar la contraseña, use "passwd <nombre de usuario>"
Raptor

9

El usuario al que está ejecutando los comandos carece de los privilegios necesarios. Cambie a rootusuario emitiendo el comando

su -

o si tienes / usas sudo

sudo <command to run>

6

Esto también puede ser causado por quedarse sin espacio en el sistema de archivos raíz. Úselo stracepara estar seguro. stracees tu amigo.


He estado leyendo muchos hilos con mi problema y esa fue realmente la solución. Supongo que debería ser una de las primeras cosas que se debe verificar cuando se tienen problemas con el sistema de archivos Estoy usando en dflugar de stracesin embargo. ¿Cómo straceme ayudaría? Nunca lo
usé

2
Bueno, si ya adivinó que el problema podría estar quedando sin espacio, entonces df puede ayudar. Pero strace le dirá cuál era el código de error cuando intentó bloquear el archivo, por lo que debería eliminar las conjeturas. La forma en que generalmente llamo strace es strace -f -e trace=file comando, ya que esto generalmente da los resultados más útiles.
Robin Green

6

Me encontré con esto cuando ocurrió un error de disco durante una operación de userdel y el sistema tuvo que reiniciarse. Necesitaba eliminar los cuatro archivos siguientes para continuar:

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

6

Si ha -R /some/chrootagregado a su useraddcomando, ese podría ser el problema.

Pensé que significaba que el usuario sería encarcelado al iniciar sesión, pero ese no es el caso. Al observar la salida de strace, vi useradd en el directorio especificado, después de lo cual, por supuesto, ya no puede encontrar / etc / passwd. Así que no estoy seguro de para qué es la opción, pero ahí está tu (bueno, mi) problema.


Esto era exactamente lo que estaba intentando. Después de eliminar la -R [dir]opción, pude crear el usuario.
Gustavo Straube

Buena suposición! Gracias. También entendí que el chroot para useraddno es lo que crees que es :) Solo usa el directorio especificado como raíz para el sistema del usuario . Es útil para sub-OS aislados clonados, que rara vez es lo que quieres ...
Ninj

2

Me encontré con esto cuando ocurrió un error de disco durante una operación de userdel y el sistema tuvo que reiniciarse. Necesitaba eliminar los cuatro archivos siguientes para continuar:

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

Este comando realmente me ayudó. Muchas gracias.


Este es un comentario de agradecimiento a una respuesta anterior.
sospechoso

1

Una demostración de este error en 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 te da permiso para bloquearlo.

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


1

Tuve el mismo problema, ya que / etc estaba lleno. Es por eso que / etc / passwd no se pudo escribir. Asegúrate de tener suficiente espacio en / etc, si no, amplía o limpia cosas innecesarias.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.