Gestión de permisos y cuentas de Linux
- Resumen de cuentas de usuario y cuentas de grupo
-
- 1. Introducción a la cuenta
- 2. UID y GID
- 3. Archivo de cuenta de usuario / etc / passwd
- 4. Archivo de cuenta de usuario / etc / shadow
- 5. Agregue el comando user account-useradd
- 6. Establecer / cambiar la contraseña de usuario passwd
- 7, modificar los atributos de la cuenta de usuario usermod
- 8. Elimina la cuenta de usuario userdel.
- 9. El archivo de configuración inicial de la cuenta de usuario.
- 10. Archivo de cuenta de grupo
- 11. Agregar cuenta de grupo groupadd
- 12. Agregar y eliminar miembros del grupo gpasswd
- 13, elimine la cuenta de grupo groupdel
- 14. Consultar información de la cuenta
- En segundo lugar, la autoridad y propiedad del directorio de archivos.
Resumen de cuentas de usuario y cuentas de grupo
1. Introducción a la cuenta
- cuenta de usuario
- 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.
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.
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
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
-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
- 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
-
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)