Gestión de permisos y cuentas de Linux

Resumen de cuentas de usuario y cuentas de grupo

1. Introducción a la cuenta

  • cuenta de usuario
  1. Superusuario: el usuario root es la cuenta de superusuario predeterminada en el sistema operativo Linux y tiene la máxima autoridad en el host. El superusuario es el único en el sistema.
    2. Usuarios ordinarios: creados por usuarios root u otros usuarios administradores, sus permisos serán limitados, generalmente solo tienen permisos completos en el propio directorio de inicio del usuario.
    3. Usuarios del programa: al instalar el sistema operativo Linux y algunas aplicaciones, se agregarán ciertas cuentas de usuario con pocos privilegios. Por lo general, estos usuarios no pueden iniciar sesión en el sistema y solo se utilizan para mantener el funcionamiento normal del sistema o un programa, como bin, Daemon, ftp, mail, etc.
  • Cuenta de grupo

Grupo básico (grupo privado): solo hay una cuenta de grupo básico, generalmente el grupo especificado al crear un usuario.
El cuarto campo registrado en el archivo / etc / passwd es el número GID del grupo básico del usuario.
Grupo adicional (grupo público): además del grupo básico, el usuario agrega un grupo específico.

2. UID y GID

  • UID y GID

UID (User IDentity, número de identificación de usuario)
GID (Group IDentify, número de identificación de grupo)
El número de UID y GID de la cuenta de usuario raíz son valores fijos 0 El número de UID y GID de la
cuenta de usuario del programa El valor predeterminado es 1 ~ 499
UID y UID de la cuenta de usuario normal El valor predeterminado del número GID es 500 ~ 60000

3. Archivo de cuenta de usuario / etc / passwd

  • Guarde información básica como nombre de usuario, directorio de inicio, shell de inicio de sesión, etc.
    Ubicación del archivo: / etc / passwd
    Cada línea corresponde al registro de la cuenta de un usuario
    [root @ localhost ~] # head -2 / etc / passwd
    root: x: 0 : 0: root: / root: / bin / bash
    bin: x: 1: 1: bin: / bin: / sbin / nologin
  • El archivo de cuenta de usuario / etc / passwd se
    basa en las necesidades de operación y administración del sistema. Todos los usuarios pueden acceder al contenido del archivo passwd, pero solo el usuario root puede realizar cambios.
    En los primeros sistemas operativos UNIX, la información de la contraseña de la cuenta de usuario se almacena en el archivo passwd. Los usuarios sin escrúpulos pueden obtener fácilmente la cadena de contraseña y realizar un craqueo por fuerza bruta, por lo que existen ciertos riesgos de seguridad. Después de la mejora, la contraseña se transfirió a un archivo de sombra especial y solo el marcador de posición de contraseña "x" se mantuvo en el archivo de contraseña.
    Inserte la descripción de la imagen aquí

root: x0: 0: root: / root /: / bin / bash
Campo 1: El nombre de la cuenta de usuario
Campo 2: El marcador de posición de la contraseña del usuario "x"
Campo 3: El número de UID de la cuenta de usuario
Campo 4: La cuenta del grupo básico al que pertenece Número de GID
Campo 5: Nombre completo del usuario
Campo 6: Directorio del host
Campo 7: Información del shell de inicio de sesión (/ bin / bash es el sistema de inicio de sesión, / sbin / nologin y / bin / false están prohibidos a los usuarios iniciar sesión en el sistema)

4. Archivo de cuenta de usuario / etc / shadow

  • Guarde la contraseña del usuario, el período de validez de la cuenta y otra información
    Ubicación del archivo: / etc / shadow
    Cada línea corresponde al registro de contraseña de un usuario
    [root @ localhost ~] # head -2 / etc / shadow
    root: $ 1 $ 55HB4pbx $ acHqk4IZiHTZ9cw0ZJe8f0: 14374 : 0: 99999: 7:… bin: *: 14374: 0: 99999: 7 :.
    [root @ localhost ~] # tail -1 / etc / shadow
    teacher: $ 1 $ BT7teaYX $ s2sr6uFUwKhtU.8 / 8VpzB1: 14374: 0 : 99999: 7:…:
  • El archivo de cuenta de usuario / etc / shadow, de
    forma predeterminada, solo el usuario root puede leer el contenido del archivo shadow y no se le permite editar directamente el contenido del archivo.
    Inserte la descripción de la imagen aquí
    raíz :: 18665: 0: 99999: 7 :::

Campo 1: El nombre de la cuenta de usuario
Campo 2: La información de la cadena de contraseña cifrada por Mos. Cuando es "*" o "!!", significa que el usuario no puede iniciar sesión en el sistema. Si el campo está vacío, el usuario no necesita una contraseña para iniciar sesión en el sistema
Campo 3: La última vez que se modificó la contraseña para indicar desde el 1 de enero de 1970 hasta la fecha de la última contraseña modificada cada vez que el número de días
Campo 4: contraseña número mínimo de días válidos Después de que se cambie la contraseña esta vez, al menos este número de días debe transcurrir antes de que la contraseña se pueda volver a cambiar. El valor predeterminado es 0, lo que significa que no hay restricciones.Campo
5: El número máximo de días que la contraseña es válida.Después de cambiar la contraseña esta vez, la contraseña debe cambiarse nuevamente después de este número de días. El valor predeterminado es 9999, lo que significa que no hay restricciones.Campo
6: cuántos días de anticipación para advertir al usuario que la contraseña caducará, el valor predeterminado es 7
Campo 7: cuántos días después de que caduque la contraseña para deshabilitar este usuario
Campo 8 : Hora de vencimiento de la cuenta, este campo especifica el usuario que anulará el número de días (calculado a partir del 1 de enero de 1970), el valor predeterminado está vacío, lo que indica que la cuenta está disponible permanentemente.
Campo 9: campo reservado (sin usar)

5. Agregue el comando user account-useradd

  • comando
    useradd useradd [opciones] ... nombre de usuario
  • Opciones comunes

-u, -d, -e, -g, -G, -M, -s
-u: Especifique el número UID del usuario, requiriendo que el número UID no sea utilizado por otros usuarios.
-d: especifica la ubicación del directorio de inicio del usuario (cuando se usa con -M, no tiene efecto). Solo se puede usar la ruta absoluta para especificar el directorio
-e: Especifique la hora de vencimiento de la cuenta del usuario y se puede usar el formato de fecha AAAA-MM-DD.
-g: Especifique el nombre del grupo básico del usuario (o use el número GID), el nombre del grupo correspondiente ya debe existir.
-G: Especifique el nombre de grupo adicional del usuario (o use el número GID), el nombre del grupo correspondiente ya debe existir.
-M: No cree un directorio de host.
-s: especifica el shell de inicio de sesión del usuario (por ejemplo, / bin / bash es el sistema de inicio de sesión, y / sbin / nologin y / bin / false tienen prohibido a los usuarios iniciar sesión en el sistema).

  • 示例
    useradd -d / ftphome / mike -g mike -G ftpuser -s / sbin / nologin mike
    useradd -d / admin -g wheel -G root admin1
    useradd -e 2020-12-31 -s / sbin / nologin admin2
  • Agregue la cuenta de usuario useradd o adduser para
    agregar el registro de la cuenta de usuario al final del archivo / etc / passwd y / etc / shadow.
    Si el directorio de inicio del usuario no se especifica explícitamente, se creará automáticamente un directorio de inicio con el mismo nombre que la cuenta de usuario en el directorio / home y se crearán varios archivos de configuración inicial del usuario en este directorio. Si el grupo al que pertenece el usuario no está claramente especificado, se crea automáticamente una cuenta de grupo básica con el mismo nombre que la cuenta de usuario, y la información de registro de la cuenta de grupo se guardará en / etc / group y / etc / archivos gshadow.

6. Establecer / cambiar la contraseña de usuario passwd

  • comando
    passwd passwd [opciones] ... nombre de usuario
  • Opciones comunes

.-d, -l, -S, u,
-d: borra la contraseña del usuario especificado e inicia sesión en el sistema usando solo el nombre de usuario.
-l: Bloquea la cuenta de usuario, la cuenta de usuario bloqueada ya no podrá iniciar sesión en el sistema.
-S: Ver el estado de la cuenta de usuario (si está bloqueada).
-u: Desbloquea la cuenta de usuario.
El usuario root puede especificar el nombre de usuario como parámetro para administrar la contraseña de la cuenta especificada; si no se especifica el nombre de usuario, modifique la contraseña de la cuenta actual. Los usuarios normales solo pueden ejecutar un único comando "passwd" para cambiar su contraseña.

  • Establecer el método de contraseña de usuario dos: echo "contraseña" l passwd --stdin username

7, modificar los atributos de la cuenta de usuario usermod

  • comando
    usermod usermod [opciones] ... nombre de usuario
  • Opciones comunes

-l, -L, -U (las siguientes opciones tienen el mismo significado que en el comando useradd)
-u, -d, -e, -g, -G, -s
-u: modifica el número UID del usuario.
-d: modifica la ubicación del directorio de inicio del usuario.
-e: modifica la fecha de vencimiento de la cuenta del usuario, puede usar el formato de fecha AAAA-MM-DD.
-g: modifica el nombre del grupo básico del usuario (o usa el número GID).
-G: modifica el nombre de grupo adicional del usuario (o usa el número GID).
-s: especifica el shell de inicio de sesión del usuario.
-l: cambia el nombre de inicio de sesión de la cuenta de usuario.
-L: Bloquea la cuenta de usuario.
-U: Desbloquea la cuenta de usuario.

  • Ejemplo
    Cambie el nombre de inicio de sesión del usuario de zhangsan a zhangsan1
    usermod -l zhangsan1 zhangsan

8. Elimina la cuenta de usuario userdel.

  • comando
    userdel userdel [-r] nombre de usuario (cuando se agrega la opción -r, significa conectar el directorio de inicio del usuario y eliminar)
  • Ejemplo
    [root @ localhost ~] # useradd zs
    [root @ localhost ~] # Is -ld / home / zs /
    drwx ------ 2 stu01 stu01 4096 09-09 12:38 / home / zs /
    [root @ localhost ~] # userdel -r zs (eliminar cuenta zs)
    [root @ localhost ~] # Is -ld / home / zs /
    ls: / homelstuo1 /: No existe tal archivo o directorio

9. El archivo de configuración inicial de la cuenta de usuario.

  • Origen del archivo El
    comando ouseradd agrega una nueva cuenta de usuario y crea algunos archivos de configuración inicial en el directorio de inicio del usuario.
    Estos archivos provienen del directorio de plantillas de cuenta / etc / skell, y básicamente son archivos ocultos.
  • Archivo de configuración inicial del usuario principal

El archivo de configuración inicial en el directorio de inicio del usuario solo es válido para el usuario actual
~ / .bash_profile # Los
comandos en este archivo se ejecutarán cada vez que el usuario inicie sesión. Establecerá algunas variables de entorno y llamará al usuario ~ /. Bashrc file
~ / .bashrc #Los
comandos en este archivo se ejecutarán cada vez que se abra un nuevo shell bash (incluido el sistema de inicio de sesión), y el archivo / etc / bashrc se llamará
~ / .bash_logout #Los comandos en
este archivo se Ejecutar cada vez que el usuario cierra sesión o sale del shell bash

  • El archivo de configuración global es válido para todos los usuarios

/ etc / profile #Este
archivo es un archivo de configuración para las variables globales del sistema. El archivo de perfil se puede leer reiniciando el sistema o ejecutando el comando fuente / etc / profile.
/etc/profile.d/
Este archivo es en realidad / etc / profile El subdirectorio almacena los scripts de inicio requeridos por algunas aplicaciones.
/ etc / bashrc #Cada
usuario que ejecute el shell bash ejecutará este archivo, y el archivo bashrc se puede leer cuando se abre un nuevo shell bash ejecutando el comando bash
vi / etc /
bashrc alias myls = '/ bin / ls -lhr' tipo
bash
myls

  • El cambio de PATH se usa más para establecer la ruta de búsqueda predeterminada de los programas ejecutables. El principio de que PATH tiene efecto:

Cada vez que se inicia el sistema, el comando se inicializará y se ejecutarán / etc / profile y ~ /, bash_profile. / etc / profile agregará las rutas / usr / local / bin, / usr / bin, / usr / local / sbin y / usr / sbin a la RUTA. Luego llame al script en el directorio /etc/profile.d.

10. Archivo de cuenta de grupo

  • Similar al archivo de cuenta de usuario
    / etc / group: guarde la información básica de la cuenta de grupo
    / etc / gshadow: guarde la información de contraseña de la cuenta de grupo
    grep "postfix" / etc / group
    Inserte la descripción de la imagen aquí

mail: x: 12: postfix (nombre de cuenta de grupo)
(lista de miembros del grupo) postfix: x: 89:
campo 1: el nombre de la cuenta de grupo
campo 2: marcador de posición "x"
campo 3: el número GID de la cuenta de grupo
campo 4: los miembros de usuario incluidos en la cuenta de grupo (generalmente excluyendo la cuenta de usuario correspondiente al grupo básico), varios miembros están separados por una coma ","

11. Agregar cuenta de grupo groupadd

  • comando
    groupadd groupadd [-g GID] nombre de cuenta de grupo
    -g: especificar el número de GID
    groupadd -g 1000 mercado
  • Ejemplo
    [root @ localhost ~] # groupadd -g 1000 market (agregar mercado de cuenta de grupo)
    [root @ localhost ~] # tail -1 / etc / group
    market: x: 1000:

12. Agregar y eliminar miembros del grupo gpasswd

  • Comando gpasswd
    Establecer la contraseña de la cuenta del grupo (rara vez se usa), agregar / eliminar miembros del grupo gpasswd [opciones] ... nombre de la cuenta del grupo
  • Opciones comunes

-a, -d, -M
-a: agregar un miembro de usuario al grupo
-d: eliminar un miembro de usuario del grupo
-M: definir una lista de miembros del grupo, separados por comas

13, elimine la cuenta de grupo groupdel

  • comando
    groupdel nombre de la cuenta del grupo groupdel
  • Ejemplo
    Eliminar la cuenta de grupo market
    [root @ localhost ~] # groupdel market
    [root @ localhost ~] # grep “market” / etc / group

14. Consultar información de la cuenta

  • comando grupos
    Consulta los grupos a los que pertenece el usuario
    grupos [nombre de usuario]
  • comando id
    Consulta de identificación de usuario
    id [nombre de usuario]
  • comando finger para
    consultar los atributos de inicio de sesión de la cuenta de usuario (nota: el paquete de software del dedo debe instalarse primero)
    yum install -y finger
    finger [nombre de usuario]
  • w, who, los comandos de los usuarios para
    consultar la información de los usuarios que han iniciado sesión en el host

En segundo lugar, la autoridad y propiedad del directorio de archivos.

1. Autoridad de acceso

  • Permiso de acceso
    Leer r: permitir ver el contenido del archivo y mostrar la lista de directorios
    Escribir w: permitir modificar el contenido del archivo, permitir crear, mover, eliminar archivos o subdirectorios en el directorio
    Ejecutable x: permitir ejecutar programas y cambiar de directorio
  • Propiedad (propiedad)
    Propietario: la cuenta de usuario
    que posee el archivo o directorio Grupo de propiedad: la cuenta de grupo que posee el archivo o directorio
  • Ejemplo
    [root @ localhost ~]
    #ls -l drwxr-xr-x. 3 root root 101 6 de febrero 10:30 abrt
    -rw-r - r--. 1 root root 16 de febrero 6 10:34 adjtime
    Inserte la descripción de la imagen aquí

-rw-r - r - representa el tipo de archivo y los permisos
root root representa al propietario y al grupo

Elemento de permiso leer escribir llevado a cabo leer escribir llevado a cabo leer escribir llevado a cabo
Representación de personajes r w X r w X r w X
Representacion digital 4 2 1 4 2 1 4 2 1

Asignación de permisos | propietario del archivo | grupo al que pertenece el archivo | otros usuarios
rw- es igual a 4 + 2 + 0 = 6
rx es igual a 4 + 0 + 1 = 5

2. Establecer los permisos de archivos y directorios-comando chmod

  • comando chmod
  • chmod [ugoa] [± =] [rwx] archivo o directorio ...
    u, g, o. a representa al propietario, grupo, otros usuarios, todos los usuarios
    r, w, x representan permisos de lectura, escritura y ejecución respectivamente
    + , -, = significa agregar, eliminar y establecer permisos respectivamente
  • chmod nnn archivo o directorio ...
    nnn representa un número octal de 3 dígitos
  • Ejemplo
    toque aa
    chmod ugo + x aa
    chmod a + x aa
    chmod -x aa
    Inserte la descripción de la imagen aquí
  • Opciones de uso común
    -R: modifica recursivamente los permisos de todos los subelementos en el directorio especificado.
    Cuando se modifica aa, se modifican aa / bb / cc

3. Establecer la propiedad de archivos y directorios-comando chown

  • comando
    chown chown propietario archivo o directorio
    chown: archivo o directorio de grupo (chgrp)
    chown owner: archivo o directorio de grupo chown owner.archivo o directorio de
    grupo
  • Opciones comunes
    -R: modifica de forma recursiva la propiedad de todos los archivos y subdirectorios en el directorio especificado

4. Establezca los permisos predeterminados de los directorios y el comando files-umask

  • La función de umask
    controla
    los permisos de los archivos o directorios recién creados. Los permisos predeterminados se eliminan. Los permisos de umask son los permisos de los archivos o directorios recién creados.

  • Configuración de umask: umask 022

  • umask 查 觥: umask

  • Ejemplo
    Establezca umask en 000, cree un nuevo directorio o archivo y vea los permisos.
    Establezca umask en 022, cree un nuevo directorio o archivo y luego vea los permisos
    Inserte la descripción de la imagen aquí

  • Establezca los permisos predeterminados de directorios y archivos. Umask
    especifica los permisos de usuario actuales al
    crear nuevos archivos o directorios. El valor predeterminado de permisos para nuevos archivos o directorios es el máximo de permisos predeterminado menos umake (el máximo de permisos predeterminados para archivos normales es 6, los permisos máximos predeterminados para directorios es 0)

Supongo que te gusta

Origin blog.csdn.net/s15212790607/article/details/113241223
Recomendado
Clasificación