[Gestión del sistema de recopilación de comandos de Shell] Linux agrega una nueva guía de uso del comando adduser de cuenta de usuario


Columna de comandos de Shell: análisis completo de los comandos de Shell de Linux


describir


El comando adduser se utiliza para agregar una nueva cuenta de usuario en el sistema Linux. Entre sus funciones se incluyen los siguientes aspectos:

  1. Cree una cuenta de usuario: el comando adduser puede crear una nueva cuenta de usuario y asignarle una ID de usuario única (UID). Cada cuenta de usuario tiene un nombre de usuario único y su contraseña correspondiente.

  2. Asignar directorio de inicio de usuario: al crear una cuenta de usuario, el comando adduser asignará automáticamente un directorio de inicio de usuario al usuario. El directorio de inicio del usuario es el directorio de trabajo predeterminado del usuario después de iniciar sesión en el sistema. Los usuarios pueden almacenar sus propios archivos e información de configuración en este directorio.

  3. Configure el shell de inicio de sesión del usuario: el comando adduser puede especificar el shell utilizado cuando el usuario inicia sesión. Shell es la interfaz para que los usuarios interactúen con el sistema operativo. Diferentes Shells proporcionan diferentes funciones y comandos.

  4. Crear grupos de usuarios: al crear una cuenta de usuario, el comando adduser puede elegir agregar el usuario a uno o más grupos de usuarios. Un grupo de usuarios es una colección de usuarios con los mismos permisos y derechos de acceso.

  5. Establecer contraseña de usuario: el comando adduser puede establecer la contraseña de inicio de sesión del usuario. Una contraseña es la credencial utilizada para autenticar a un usuario al iniciar sesión en el sistema.

  6. Asignar permisos de usuario: el comando adduser puede establecer diferentes permisos y controles de acceso para los usuarios. Al agregar usuarios a diferentes grupos de usuarios o establecer permisos específicos, puede restringir el acceso de los usuarios y las operaciones sobre los recursos del sistema.

Considerándolo todo, el comando adduser es una herramienta para crear nuevas cuentas de usuario en sistemas Linux. Puede asignar ID de usuario únicas a los usuarios, asignar directorios de inicio de usuarios, configurar shells de inicio de sesión, crear grupos de usuarios, establecer contraseñas y asignar permisos, etc. Estas funciones permiten a los administradores del sistema administrar y controlar fácilmente las cuentas de usuario.


Formato de sintaxis

adduser [选项] 用户名

Descripción de parámetros

  • -c, --comment COMMENT: agregue una nota para el nuevo usuario, que puede ser el nombre completo del usuario u otra información relevante.
  • -d, --home HOME_DIR: Especifique la ruta del directorio de inicio del nuevo usuario.
  • -g, --gid GROUP: Especifique el grupo de usuarios inicial al que pertenece el nuevo usuario.
  • -s, --shell SHELL: Especifique el shell de inicio de sesión del nuevo usuario.
  • -p, --password PASSWORD:Establezca una contraseña para el nuevo usuario.
  • -m, --create-home: Si el directorio de inicio no existe, cree el directorio de inicio del nuevo usuario.
  • -k, --skel SKEL_DIR: Especifique el directorio esqueleto, utilizado para inicializar el directorio de inicio del nuevo usuario.
  • -r, --system: cree un usuario del sistema.
  • -u, --uid UID:Especifique el ID de usuario del nuevo usuario.
  • -e, --expiredate EXPIRE_DATE:Establezca la fecha de vencimiento de la cuenta para nuevos usuarios.

condición de error

  • Si no tiene permisos suficientes para ejecutar el comando adduser, se mostrará el mensaje de error "adduser: Sólo el usuario raíz puede agregar un usuario o grupo al sistema".
  • Si el nombre de usuario especificado ya existe, se mostrará un mensaje de error "adduser: El usuario 'nombre de usuario' ya existe".
  • Si el directorio de inicio especificado ya existe, se mostrará un mensaje de error "adduser: El directorio de inicio '/home/nombre de usuario' ya existe".

Precauciones

Hay algunas cosas a tener en cuenta al utilizar el comando adduser del Shell de Linux:

  1. Requiere permisos de root: el comando adduser requiere permisos de root para ejecutarse porque la creación de una cuenta de usuario requiere modificaciones en el sistema. Por lo tanto, antes de utilizar el comando adduser, asegúrese de haber iniciado sesión como usuario root o de tener permisos sudo.

  2. Evite nombres de usuario duplicados: al crear nuevos usuarios, asegúrese de que el nombre de usuario sea único y evite conflictos con cuentas de usuario existentes. Puede usar grepel comando o ver /etc/passwdel archivo para verificar si ya existe el mismo nombre de usuario.

  3. Establecer seguridad de contraseña: al configurar contraseñas para nuevos usuarios, debe prestar atención a la seguridad de la contraseña. Se recomienda utilizar una contraseña segura que incluya una combinación de letras mayúsculas y minúsculas, números y caracteres especiales, y no debe tener menos de 8 caracteres de longitud.

  4. Especifique un directorio de inicio y un shell de inicio de sesión: si necesita especificar un directorio de inicio y un shell de inicio de sesión específicos para el nuevo usuario, asegúrese de que las rutas al directorio y al shell sean correctas. El directorio de inicio debe tener los permisos adecuados y el shell debe ser un shell válido que esté instalado.

  5. Gestión de grupos de usuarios: al crear un usuario, puede optar por agregarlo a uno o más grupos de usuarios. Asegúrese de que el grupo de usuarios ya exista y tenga los permisos y controles de acceso adecuados.

  6. Uso del directorio esqueleto: al utilizar -kla opción, puede especificar un directorio esqueleto para inicializar el directorio de inicio del nuevo usuario. Asegúrese de que el directorio principal contenga los archivos y la configuración necesarios para que los nuevos usuarios funcionen correctamente.

  7. Verifique la información de error: al ejecutar el comando adduser, preste atención para verificar la salida de información de error. Si aparece algún mensaje de error, debe leerse atentamente y resolverse para garantizar que la cuenta de usuario se cree correctamente.

En resumen, cuando utilice el comando adduser, asegúrese de tener permisos suficientes, evite nombres de usuario duplicados, establezca contraseñas seguras, especifique correctamente el directorio de inicio y el shell de inicio de sesión, administre grupos de usuarios, use directorios esqueleto y verifique y resuelva mensajes de error en un manera oportuna para garantizar la creación y gestión fluidas de cuentas de usuario.


implementación subyacente

En los sistemas Linux, la implementación subyacente del comando adduser se completa llamando a una serie de llamadas y herramientas del sistema. Los siguientes son los pasos aproximados de implementación:

  1. Primero, el comando adduser verifica si el usuario actual tiene permisos suficientes para ejecutar el comando. Generalmente, sólo el usuario root o un usuario con permisos sudo puede ejecutar el comando adduser.

  2. A continuación, el comando adduser llama al comando useradd para crear una nueva cuenta de usuario. El comando useradd es una herramienta de bajo nivel que se utiliza para crear y modificar información relacionada con la cuenta de usuario.

  3. El comando useradd genera una ID de usuario única (UID) y una ID de grupo inicial (GID) y guarda esta información en el archivo /etc/passwd. Al mismo tiempo, el comando useradd crea un directorio de inicio predeterminado si no existe y establece su propiedad para el nuevo usuario.

  4. El comando adduser también llama al comando groupadd para crear nuevos grupos de usuarios (si es necesario). El comando groupadd se utiliza para crear y modificar información relacionada con el grupo de usuarios y guardar esta información en el archivo /etc/group.

  5. Si es necesario, el comando adduser llamará al comando usermod para modificar algunos atributos del nuevo usuario, como la configuración del shell de inicio de sesión, el directorio de inicio, el grupo de usuarios, etc.

  6. Finalmente, el comando adduser llama al comando passwd para establecer la contraseña del nuevo usuario. El comando passwd se utiliza para modificar la contraseña del usuario y guardarla en el archivo /etc/shadow.

En general, la implementación subyacente del comando adduser es completar la creación y administración de cuentas de usuario llamando a useradd, groupadd, usermod, passwd y otras herramientas y llamadas al sistema relacionadas. Al combinar estas herramientas y llamadas al sistema, el comando adduser puede completar fácilmente operaciones como crear cuentas de usuario, configurar atributos y contraseñas.


Ejemplo

Ejemplo 1

Cree una cuenta de usuario llamada "john" y agréguela al grupo de usuarios "desarrolladores".

Ejemplo 2

Cree una cuenta de usuario llamada "mary" y especifique el shell de inicio de sesión como /bin/bash.

Ejemplo tres

Cree una cuenta de usuario llamada "invitado" y configure su directorio de inicio en /home/guest.

Ejemplo 4

Cree una cuenta de usuario llamada "testuser" y establezca su contraseña.

Ejemplo cinco

Cree un grupo de usuarios llamado "ventas" y agregue los usuarios "jane" y "peter" al grupo de usuarios.

Ejemplo 6

Cree una cuenta de usuario llamada "admin" y agréguela al archivo sudoers para obtener derechos de administrador.

Ejemplo 7

Cree una cuenta de usuario llamada "ftpuser" y establezca su directorio de inicio en /var/ftp. Al mismo tiempo, especifique su shell de inicio de sesión como /bin/false para limitar su permiso para iniciar sesión en el sistema.


Implementado en lenguaje c.


El siguiente es un ejemplo sencillo de implementación del comando adduser en lenguaje C, con comentarios que explican la función de cada paso:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(int argc, char *argv[]) {
    
    
    // 检查参数数量
    if (argc != 2) {
    
    
        printf("Usage: %s username\n", argv[0]);
        return 1;
    }

    // 创建用户账户
    if (system("useradd -m -s /bin/bash -U -p '' -d /home/%s %s", argv[1], argv[1]) == -1) {
    
    
        printf("Failed to create user account.\n");
        return 1;
    }

    // 设置用户密码
    char cmd[256];
    sprintf(cmd, "echo %s:%s | chpasswd", argv[1], argv[1]);
    if (system(cmd) == -1) {
    
    
        printf("Failed to set user password.\n");
        return 1;
    }

    // 设置用户权限
    char homeDir[256];
    sprintf(homeDir, "/home/%s", argv[1]);
    if (chown(homeDir, getuid(), getgid()) == -1) {
    
    
        printf("Failed to set user permissions.\n");
        return 1;
    }

    printf("User account created successfully.\n");

    return 0;
}

Este ejemplo utiliza llamadas al sistema en lenguaje C y funciones de biblioteca para implementar las funciones del comando adduser. En la función principal, primero verifique la cantidad de parámetros para asegurarse de que solo se pase un nombre de usuario como parámetro al programa.

Luego, use systemel useraddcomando de llamada de función para crear la cuenta de usuario. Entre ellos, -mla opción se utiliza para crear el directorio de inicio del usuario, -sla opción especifica el shell de inicio de sesión /bin/bash, -Ula opción crea un grupo de usuarios con el mismo nombre de usuario, -pla opción establece la contraseña en una cadena vacía y -dla opción especifica el directorio de inicio camino.

A continuación, establezca la contraseña del usuario mediante sprintfun chpasswdcomando de creación de funciones que canalice el nombre de usuario y la contraseña al comando chpasswd.

最后,使用chown函数设置新用户主目录的所有者为当前用户的UID和GID,以确保用户具有适当的权限。

这个示例只是一个简单的实现,实际上,adduser命令的实现要复杂得多,涉及更多的系统调用和错误处理。此示例仅用于演示基本的实现思路。


结语

在我们的探索过程中,我们已经深入了解了Shell命令的强大功能和广泛应用。然而,学习这些技术只是开始。真正的力量来自于你如何将它们融入到你的日常工作中,以提高效率和生产力。

心理学告诉我们,学习是一个持续且积极参与的过程。所以,我鼓励你不仅要阅读和理解这些命令,还要动手实践它们。尝试创建自己的命令,逐步掌握Shell编程,使其成为你日常工作的一部分。

同时,请记住分享是学习过程中非常重要的一环。如果你发现本博客对你有帮助,请不吝点赞并留下评论。分享你自己在使用Shell命令时遇到的问题或者有趣的经验,可以帮助更多人从中学习。
此外,我也欢迎你收藏本博客,并随时回来查阅。因为复习和反复实践也是巩固知识、提高技能的关键。

最后,请记住:每个人都可以通过持续学习和实践成为Shell编程专家。我期待看到你在这个旅途中取得更大进步!


阅读我的CSDN主页,解锁更多精彩内容:泡沫的CSDN主页

在这里插入图片描述

Supongo que te gusta

Origin blog.csdn.net/qq_21438461/article/details/131427436
Recomendado
Clasificación