Linux debería aprender de esta manera: permisos de archivo

Permisos y propiedad de archivos

Aunque todo es un archivo en un sistema Linux, el tipo de cada archivo es diferente, por lo tanto, el sistema Linux utiliza diferentes caracteres para distinguirlos. Los caracteres comunes son los siguientes.

 -: Archivo ordinario.

d: archivo de directorio.

l: archivo de enlace.

b: Bloquear archivo de dispositivo.

c: archivo de dispositivo de caracteres.

p: archivo de tubería.

 

Los permisos de lectura, escritura y ejecución de un archivo se pueden abreviar como rwx y también se pueden representar con los números 4, 2 y 1, respectivamente. No existe correlación entre el propietario del archivo, el grupo al que pertenece, y los permisos de otros usuarios, como se muestra en la Tabla 5-5.                                       

Representación de caracteres y números de permisos de archivos

Capítulo 5 Identidad de usuario y permiso de archivo.  Capítulo 5 Identidad de usuario y permiso de archivo.

Capítulo 5 Identidad de usuario y permiso de archivo.  Capítulo 5 Identidad de usuario y permiso de archivo.

Se pueden usar números y letras para definir los permisos de archivos de un lado a otro 

 

Permisos especiales para archivos 

 

 SUR

SUID es un permiso especial para programas binarios, que permite al ejecutor del programa binario tener temporalmente el permiso del propietario (solo válido para el programa binario con el permiso de ejecución). Temporalmente efectivo, una vez.

El usuario predeterminado está viendo el archivo / etc / shadow. Si observa detenidamente este archivo, encontrará que su permiso predeterminado es 000, lo que significa que todos los usuarios, excepto el administrador raíz, no tienen permiso para ver o editar el archivo.

 SGID

SGID implementa principalmente las siguientes dos funciones:

Deje que el ejecutor tenga temporalmente el permiso del grupo (configure el programa binario con el permiso de ejecución);

Los archivos creados en un directorio heredan automáticamente el grupo de usuarios del directorio (solo se puede configurar el directorio)

 La primera función de SGID está diseñada con referencia a SUID, la diferencia es que el usuario que ejecuta el programa ya no es el permiso temporal del propietario del archivo, sino el permiso del grupo al que pertenece el archivo. Por ejemplo, en los primeros sistemas Linux, / dev / kmem es un archivo de dispositivo de caracteres utilizado para almacenar datos a los que accede el programa del kernel.

[root@myserver tmp]# mkdir 2021_test
[root@myserver tmp]# ls -ald 2021_test/
drwxr-xr-x. 2 root root 6 Jan 16 22:22 2021_test/
[root@myserver tmp]# chmod -Rf 777 2021_test/
[root@myserver tmp]# ls -ald 2021_test/
drwxrwxrwx. 2 777 root 6 Jan 16 22:22 2021_test/
[root@myserver tmp]# chmod  -Rf g+s 2021_test/
[root@myserver tmp]# ls -ald 2021_test/
drwxrwsrwx. 2 777 root 6 Jan 16 22:22 2021_test/
[root@myserver tmp]# 

 SBIT

Cuando el directorio se establece con el bit de permiso especial SBIT, el permiso de ejecución x de la parte de permiso de la otra persona del archivo se reemplazará con to T, el permiso de ejecución x original se escribirá como t, y el permiso de ejecución x original se escribirá como T.

Por supuesto, los usuarios normales no pueden eliminar, los usuarios root pueden eliminar

Atributos ocultos de archivos

El comando chattr se usa para establecer los permisos ocultos del archivo, el formato es "archivo chattr [parámetro]". Si desea agregar una función oculta al archivo, debe agregar "+ parámetro" después del comando, si desea eliminar una función oculta del archivo, debe agregar "-parámetro"

i	无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a	仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S	文件内容在变更后立即同步到硬盘(sync)
s	彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A	不再修改这个文件或目录的最后访问时间(atime)
b	不再修改文件或目录的存取时间
D	检查压缩文件中的错误
d	使用dump命令备份时忽略本文件/目录
c	默认将文件或目录进行压缩
u	当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t	让文件系统支持尾部合并(tail-merging)
x	可以直接访问压缩文件中的内容

comando lsattr

El comando lsattr se usa para mostrar los permisos ocultos de un archivo, y el formato es "lsattr [parámetro] archivo". En el sistema Linux, los permisos ocultos de los archivos deben visualizarse usando el comando lsattr, pero los ls habituales y otros comandos no muestran la pista:

[root@myserver tmp]# lsattr  chattr_test2021 
----ia-A---------- chattr_test2021
[root@myserver tmp]# 

Lista de control de acceso a archivos

Debe utilizar la lista de control de acceso a archivos (FACL). En términos sencillos, configurar ACL basadas en archivos o directorios comunes es en realidad configurar permisos de operación de archivos o directorios para usuarios o grupos de usuarios específicos. Además, si FACL está configurado para un directorio, el archivo en el directorio heredará su FACL; si el FACL está configurado para un archivo, el archivo ya no heredará la ACL del directorio donde se encuentra.

comando setfacl

El comando setfacl se utiliza para administrar las reglas de ACL de archivos, y el formato es "setfacl [parámetro] nombre de archivo". File ACL proporciona un control de permisos especial además de los permisos de lectura / escritura / ejecución del propietario, el grupo y otros. El comando setfacl se puede usar para leer / escribir / escribir en un solo usuario o grupo de usuarios, un solo archivo o directorio. Control de la autoridad de ejecución. Entre ellos, debe usar el parámetro recursivo -R para archivos de directorio; use el parámetro -m para archivos normales; si desea eliminar la ACL de un archivo, puede usar el parámetro -b. Establezcamos los permisos del usuario en el directorio / root

 comando getfacl

El comando getfacl se usa para mostrar la información de ACL establecida en el archivo, y el formato es "nombre de archivo getfacl". Los comandos del sistema Linux son muy bonitos y fáciles de recordar. Para configurar la ACL, use el comando setfacl; para ver la ACL, use el comando getfacl. A continuación, se utiliza el comando getfacl para mostrar toda la información de ACL establecida en el directorio de inicio del administrador raíz.

comando su y servicio sudo

El comando su puede resolver la necesidad de cambiar las identidades de usuario, de modo que el usuario actual pueda cambiar sin problemas a otros usuarios sin cerrar la sesión, como cambiar de administrador raíz a usuario normal, hay una reducción entre el comando su y el nombre de usuario anterior .Signo (-), que significa cambiar completamente al nuevo usuario, es decir, cambiar la información de la variable de entorno a la información correspondiente del nuevo usuario en lugar de conservar la información original.

El comando sudo se utiliza para proporcionar a los usuarios normales permisos adicionales para completar tareas que solo puede completar el administrador raíz. El formato es "sudo [parámetro] nombre del comando"

-h Lista de información de ayuda
-l Enumere los comandos ejecutables por el usuario actual
-u nombre de usuario o valor UID Ejecute el comando como el usuario especificado
-k Borre la hora efectiva de la contraseña, la próxima vez que ejecute sudo, deberá verificar la contraseña nuevamente
-B Ejecuta el comando especificado en segundo plano.
-pag Cambiar el mensaje para solicitar una contraseña
sudo命令具有如下功能:

限制用户执行指定的命令:

记录用户执行的每一条命令;

配置文件(/etc/sudoers)提供集中的用户管理、权限与主机等参数;

验证密码的后5分钟内(默认值)无须再让用户再次验证密码。

Editar archivo de configuración de visudo

 Si necesita permitir que un usuario ejecute el comando especificado solo como administrador raíz, recuerde dar la ruta absoluta del comando , de lo contrario, el sistema no lo reconocerá. Primero podemos usar el comando whereis para encontrar la ruta de guardado correspondiente al comando, y luego modificar el parámetro de permiso del usuario en la línea 99 del archivo de configuración a la ruta correspondiente.

Supongo que te gusta

Origin blog.csdn.net/yanghuadong_1992/article/details/112725674
Recomendado
Clasificación