GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuáles son las diferentes formas de establecer permisos de archivo, etc. en gnu/linux?

chmod :cambiar bits de modo de archivo

Uso (modo octal):

    chmod <octal-mode> files...

Uso (modo simbólico):

    chmod <references><operator><modes> files..

references es una combinación de las letras ugoa , que especifica el acceso de qué usuario al files será modificado:

  • u el usuario que lo posee
  • g otros usuarios en el file grupo de
  • o otros usuarios que no están en el grupo del archivo
  • a todos los usuarios

    Si se omite, por defecto es para todos los usuarios, pero solo los permisos permitidos por umask se modifican.

    operator es uno de los caracteres +-= :

    • + agregue los bits de modo de archivo especificados a los bits de modo de archivo existentes de cada file
    • - elimina los bits de modo de archivo especificados a los bits de modo de archivo existentes de cada file
    • = agrega los bits especificados y elimina los bits no especificados, excepto el setuid y setgid bits establecidos para directorios, a menos que se especifique explícitamente.

    mode consiste en una combinación de las letras rwxXst , que especifican qué bit de permiso se va a modificar:

    • r leer
    • w escribir
    • x ejecutar (o buscar directorios)
    • X ejecutar/buscar solo si el archivo es un directorio o ya tiene un bit de ejecución establecido para algún usuario
    • s setuid o setgid (según el references especificado )
    • t bandera de eliminación restringida o sticky bit

    Alternativamente, el mode puede consistir en una de las letras ugo , en cuyo caso el modo corresponde a los permisos actualmente otorgados al propietario (u ), miembro del file grupo de (g ) o permisos de usuarios en ninguna de las categorías anteriores (o ).

Los diversos bits de chmod explicado:

  • Control de acceso (ver también setfacl )
    • rwx — permisos de lectura (r), escritura (w) y ejecución/cruce (x).
      • Leer (r) afecta si se puede leer un archivo o si se puede listar un directorio.
      • Escribir (w) afecta si se puede escribir en un archivo o si se puede editar un directorio (archivos agregados, eliminados, renombrados).
      • Ejecutar (x) afecta si se puede ejecutar un archivo, utilícelo para scripts (consulte #! ), y otros archivos ejecutables.
      • Cruz (x) afecta si se puede recorrer un directorio.
    • s y t — sticky bit (t) y setgid (s) en directorios
      • El sticky bit solo afecta a los directorios. Evitará que cualquier persona, excepto el propietario del archivo y la raíz, elimine archivos en el directorio.
      • el bit setgid en los directorios hará que los nuevos archivos y directorios tengan el grupo establecido en el mismo grupo, y los nuevos directorios tendrán el bit setgid establecido (consulte también los valores predeterminados en setfacl).
    • s — setuid, setgid, en archivos ejecutables.
      • Esto puede afectar negativamente a la seguridad si no sabe lo que está haciendo.
      • Cuando se ejecuta un ejecutable, si se establece uno de estos bits, el usuario/grupo efectivo del ejecutable se convertirá en el del archivo. Por lo tanto, el programa se ejecuta como ese usuario. ver setcap para una forma más moderna de hacer esto.

chown chgrp :

chattr :cambiar los atributos del archivo

Uso:

    chattr <operator><attribute> files...

operator es uno de los caracteres +-= :* + agrega los atributos seleccionados al attributes existente del files * - elimina el attributes seleccionado * = sobrescribe el conjunto actual de atributos que tienen los archivos con el attributes especificado .

attribute es una combinación de las letras acdeijstuADST , que corresponden a los atributos:

  • a agregar solo
  • c comprimido
  • d sin volcado
  • e formato de extensión
  • i inmutable
  • j diario de datos
  • s borrado seguro
  • t sin fusión de cola
  • u imborrable
  • A sin atime actualizaciones
  • D actualizaciones de directorio síncronas
  • S actualizaciones sincronizadas
  • T parte superior de la jerarquía de directorios

setfattr :cambiar los atributos del archivo extendido

Uso (establecer atributo):

    setfattr -n <name> -v <value> files...

Uso (eliminar):

    setfattr -x <name> files...

name es el nombre del atributo extendido para establecer o eliminar

value es el nuevo valor del atributo extendido

setfacl :cambiar las listas de control de acceso a archivos

Uso:

    setfacl <option> [default:][<target>:][<param>][:<perms>] files...

option debe incluir uno de los siguientes:

  • --set establecer la ACL de un archivo o directorio, reemplazando la ACL anterior
  • -m |--modify modificar la ACL de un archivo o directorio
  • -x |--remove eliminar entradas de ACL de un archivo o directorio

    target es una de las letras ugmo (o la forma más larga que se muestra a continuación):

  • u , users permiso de un usuario identificado por param , por defecto es el propietario del archivo uid si se omite

  • g , group permiso de un grupo con nombre identificado por param , predeterminado para el grupo propietario uid si se omite
  • m , mask máscara de derechos efectivos
  • o , other permisos de otros

    perms es una combinación de las letras rwxX , que corresponden a los permisos:

  • r leer

  • w escribir
  • x ejecutar
  • X ejecutar solo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuario

    Alternativamente, perms puede ser un dígito octal (0 -7 ) indicando el conjunto de permisos.

setcap :cambiar las capacidades del archivo

Uso:

    setcap <capability-clause> file 

Un capability-clause consta de una lista separada por comas de nombres de capacidades seguida de una lista de pares de banderas de operador.

Los operadores disponibles son = , + y - . Las banderas disponibles son e , i y p que corresponden a la Efectiva , heredable y Permitido conjuntos de capacidades.

El = El operador aumentará los conjuntos de capacidades especificados y restablecerá los demás. Si no se dan banderas junto con el = operador todos los conjuntos de capacidades se restablecerán. El + y - los operadores aumentarán o disminuirán uno o más conjuntos de capacidades especificados respectivamente.

chcon :cambiar el contexto de seguridad de SELinux del archivo

Uso:

    chcon [-u <user>] [-r <role>] [-t <type>] files...

usuario es el usuario de SELinux, como user_u , system_u o root .

rol es el rol de SELinux (siempre object_r para archivos)

tipo es el tipo de sujeto de SELinux

chsmack :cambiar los atributos extendidos de SMACK

Uso:

    chsmack -a <value> file

value es la etiqueta SMACK que se establecerá para el SMACK64 atributo de archivo extendido

setrichacl:cambiar la lista de control de acceso enriquecido.

richacls es una función que agregará ACL más avanzadas.

Actualmente es un trabajo en progreso, por lo que no puedo contarles mucho sobre ellos. No los he usado.

Consulte también esta pregunta ¿Existen ACL de sistemas de archivos más avanzadas que las tradicionales 'rwx' y POSIX ACL? y la página de manual


Linux
  1. Copiar archivos en la terminal de Linux

  2. Mover archivos en la terminal de Linux

  3. Use la terminal de Linux para ver qué archivos hay en su computadora

  4. 5 formas de usar el comando mover en Linux

  5. ¿Cuáles son los diferentes tipos de shells en Linux?

Las 6 mejores formas de ver archivos en Linux

7zip, Xz, Gzip, Tar, etc., ¿cuáles son las diferencias?

¿Qué son los inodos en Linux?

¿Qué es el archivo /etc/passwd en Linux?

¿Cuál es la limitación máxima de archivos abiertos en Linux?

¿Qué significa el 'rc' en '.bashrc', etc.?