¿Qué comando debo ejecutar después de hacer cambios en el archivo / etc / passwd?

12

He realizado algunos cambios en el archivo / etc / passwd, ahora quería ver si el efecto de los cambios tuvo lugar o no. ¿Qué comando debo ejecutar para eso?

Por ejemplo, después de realizar un cambio en el archivo / etc / ssh / ssh_config, ejecuto el comando /etc/init.d/sshd.

RAM
fuente

Respuestas:

19

Para verificar el archivo passwdy el correspondiente shadow, use pwck. Para verificar el archivo groupy el correspondiente gshadow, use grpck'. Consulte las páginas de manual para conocer los detalles de las acciones que realizan.

La edición manual de /etc/passwdse realiza mejor (si es que existe) con vipwy vipw -spara el shadowarchivo. Para el /etc/groupy /etc/gshadowuso vigry vigr -s, respectivamente. El uso de estas herramientas proporciona no solo un bloqueo para evitar múltiples actualizaciones simultáneas de usuarios, sino que también ofrece verificación de validez.

En general, las modificaciones a la contraseña y los archivos de grupo se realizan mejor utilizando el estándar user(add|mod|del)y las group(add|mod|del)herramientas.

JRFerguson
fuente
7

No existe dicho comando para aplicar cambios desde el archivo / etc / passwd.

Si el usuario cuyos detalles ha cambiado está conectado, debería volver a iniciar sesión para aplicar los cambios. De lo contrario, estarán disponibles inmediatamente después de iniciar sesión.

Esto se debe a que el inicio de sesión lee los detalles del archivo passwd durante el inicio de sesión y lo guarda en la memoria hasta que finaliza la sesión.

prisa
fuente
2
"... no existe ese comando ..." en Linux . Muchos otros * ixes tienen tales comandos. El passedarchivo se compila en un formato binario que es más rápido de procesar, o se mantiene solo por compatibilidad y los datos deben traducirse al formulario DB de contraseña nativa del sistema operativo.
Warren Young
2

Tuve éxito con el update-passwdcomando después de editar manualmente el archivo / etc / passwd en sistemas basados ​​en Debian (por ejemplo, Ubuntu). Sé que este NO es el uso previsto de este comando, pero también funciona para este propósito. Vea su página de manual para más detalles: http://manpages.ubuntu.com/manpages/precise/man8/update-passwd.8.html

En los sistemas basados ​​en Red Hat / CentOS no encontré un comando equivalente, en esos sistemas tuve que reiniciar el sistema para que los cambios surtan efecto.

Como alguien ya mencionó, es mejor no editar el archivo / etc / passwd manualmente. En su lugar, uso los comandos useradd / userdel / usermod siempre que sea posible. La única razón válida para editar los archivos / etc / passwd y / etc / group IMO es cuando necesito copiar muchas cuentas de otro sistema. Después de agregar, por ejemplo, 100 cuentas de esta manera, generalmente hago un reinicio completo del sistema. Además, cuando edite manualmente / etc / passwd y / o / etc / groups, no debe olvidar editar también los archivos shadow apropiados.

Zoltan
fuente
1

No creo que exista dicho comando, ya que no es necesario en primer lugar. Tampoco es aconsejable editar ese archivo directamente, en su lugar use los comandos apropiados como useradd y passwd

Si no está convencido, simplemente reinicie después de editar ese archivo y todos los cambios serán efectivos

Hinklo
fuente
0

No debe modificarlo /etc/passwdmanualmente; utilizar usermoden su lugar

Por ejemplo:

Si desea cambiar el directorio de inicio del usuario, use este comando:

usermod --home /path/to/home/dir username
Sun Kuo
fuente
1
A veces es necesario editar el archivo a mano, pero luego vipwdebe usarse.
Kusalananda
Lo tengo @Kusalananda
Sun Kuo