Básicamente, estoy preguntando sobre la administración de usuarios desde la línea de comandos (por ejemplo, en un sistema donde no hay herramientas gráficas disponibles). En el pasado he utilizado varios programas diferentes para agregar o grupos de usuarios y borrar o modificar sus atributos: adduser
, useradd
, usermod
, gpasswd
, y tal vez otros me han olvidado. También he escuchado un par de veces que algunos de estos programas son de bajo nivel y deben evitarse para uso general, pero nunca recuerdo cuál. Por lo tanto, me gustaría obtener una respuesta definitiva para qué programas son los recomendados para al menos las siguientes tareas:
- Crea un nuevo usuario
- Agregar un usuario a un grupo
- Eliminar un usuario de un grupo
- Cambiar el grupo primario de un usuario
- Cambiar el shell de inicio de sesión o el directorio de inicio de un usuario
- Eliminar un usuario
Estoy buscando herramientas estándar que puedo esperar que estén disponibles en casi cualquier sistema Linux (de cualquier distribución).
groupmod
. No voy a dar una respuesta a esto ... pero la forma más estándar es probablemente usar su editor de texto ... recuerde que los archivos afectados son solo texto delimitado./etc/passwd
era solo una parte de un sistema complejo)Respuestas:
Lamentablemente, ninguna de esas operaciones fue estandarizada.
Algunos sistemas operativos ofrecen esta funcionalidad como parte del sistema operativo, como Linux, pero incluso si su sistema Linux los incluye, con el tiempo y en todas las distribuciones de Linux, las herramientas y sus nombres cambiaron, por lo que realmente no puede depender de un conjunto estándar de herramientas para hacer Esas tareas.
Debe tener un conjunto de herramientas por sistema operativo.
fuente
En sistemas Debian (y derivados),
adduser
ydeluser
son envoltorios de nivel superioruseradd
y funcionalidad relacionada. La creación de usuarios de portada, la suma y resta de miembros de grupos y la eliminación de usuarios. Los comandos correspondientes de crear / eliminar grupos son, con suficiente sensatez,addgroup
ydelgroup
.usermod
parece cubrir el caso de uso restante que usted nombre.fuente
Menciona Linux en la última parte de su pregunta, pero como el título es genérico, responderé por FreeBSD.
FreeBSD tiene comandos similares a Linux pero son comandos pasados a la
pw
utilidad:y así. Sin embargo, uno puede analizar el comando en dos partes:
user
ymod
; un sustantivo y un verbo. Además, uno también puede usargroup
ydel
:para, por ejemplo, eliminar un grupo. Esto es lo que creo que es realmente genial: ¡ el orden no importa, ni el espacio! Lo que esto significa es que puedes recordar cómo llamar al pensar en lo que quieres hacer (de todos modos, en inglés):
¡y más! La
pw
utilidad también te permite bloquear y desbloquear cuentas:Las opciones y los parámetros que pasa están estandarizados (aunque no siempre se aplican a los comandos de llamada), por lo que la memorización se minimiza. En general, una buena manera de hacer las cosas.
Nota: las elipses en los ejemplos anteriores representan opciones y parámetros pasados a
pw
usuarios o grupos no adicionales.fuente
Solo para completar, en el extremo de bajo nivel del espectro mencionaría vipw (8) y vigr (8), justo arriba de "vi / etc / passwd" y "cat> / etc / passwd" pero justo debajo de "useradd ". Ah, y existen en la mayoría de las variantes de Unix.
fuente
Todas estas herramientas están diseñadas para editar archivos de texto por ti. Si desea saber cómo administrar usuarios y grupos a través de sistemas, debe familiarizarse con estos archivos de texto subyacentes. Por suerte para ti, solo hay dos,
/etc/passwd
y/etc/group
. También hay archivos complementarios/etc/shadow
y/etc/gshadow
para sombrear passwd y group respectivamente.fuente
En muchas situaciones, saber cómo editar "/ etc / passwd" sigue siendo útil.
fuente
Si está utilizando un backend que no sea el backend de la máquina local predeterminada (OpenLDAP es el más común), entonces cpu (utilidad de cambio de contraseña) podría ser el comando que está buscando. Se puede ejecutar en máquinas que no sean el maestro LDAP si está configurado correctamente, y su sintaxis es casi igual que
useradd
etc. con un prefijo decpu
. Entonces para agregarme podría hacerVea la página de manual de la CPU para más detalles.
fuente
Si su pregunta se limitó a
pero todos los sistemas tienen acceso de red a un único servidor. Podrías usar algo como NIS o YP. Por lo tanto, esta respuesta se limita a los administradores dentro de una sola organización.
Todavía tiene el problema de que casi todas las distribuciones tienen formas ligeramente diferentes de configurar YP, pero la configuración solo ocurre una vez. Además, este tipo de red no es trivial.
Dentro de un solo sitio / red, ganarás mucho haciendo esto. En combinación con el montaje automático, mi favorito es poder SSH en cualquier máquina * nix y tener todos mis archivos y herramientas de inicio disponibles para mí.
Hasta el punto, la distribución que elija para el maestro es el sistema que utiliza para administrar usuarios. Luego tendrá un único conjunto de herramientas / documentación para administrar usuarios y grupos.
Incluso es posible usar algo como herramientas LDAP y samba en el maestro. Usar samba también me permite tener mis archivos de inicio disponibles para mí en máquinas con Windows.
fuente
Lo más parecido a un estándar que obtendrá es
vi /etc/passwd
,vi /etc/shadow
yvi /etc/groups
. (Los herejes pueden sustituiremacs
.) Todo lo que he encontrado desde entonces solo funcionará en algunos sistemas.En serio, descubra qué herramientas tiene su sistema operativo y utilícelas. Simplemente no espere que funcionen igual en todos los sistemas. Sería bueno si estuvieran estandarizados, pero no lo están.
fuente
/etc/passwd
,/etc/shadow
,/etc/group
, y/etc/gshadow
. Para eso están las herramientas. Los humanos son propensos a errores, mientras que las herramientas han sido probadas y están (con suerte) libres de errores./etc/passwd
y amigos directamente. Usevipw
yvigr
, que: bloquea el archivo contra la edición concurrente; ejecuta tu editor favorito ($VISUAL
); no cambie el archivo si comete un error de sintaxis; en algunos sistemas (por ejemplo, FreeBSD) también se regeneran otros archivos que deben mantenerse sincronizados.