En Unix, hace mucho tiempo, aprendí sobre chmod
: la forma tradicional de establecer permisos, en Unix (y permitir que los programas obtengan privilegios, usando setuid, setgid).
Recientemente he descubierto algunos comandos más nuevos, en GNU / Linux:
setfacl
extiende losugo:rwx
bits tradicionales y elt
bit dechmod
.setcap
da más control de grano de aleta queug:s
pedazos dechmod
.chattr
Permite algunos otros controles (un poco de una mezcla) del archivo.
¿Hay otros?
linux
permissions
filesystems
gnu
ctrl-alt-delor
fuente
fuente
chmod
Respuestas:
chmod
: cambiar bits de modo de archivoUso (modo octal):
Uso (modo simbólico):
references
es una combinación de las letrasugoa
, que especifican qué acceso del usuariofiles
se modificará:u
el usuario que lo poseeg
otros usuarios en elfile
grupo deo
otros usuarios que no están en el grupo del archivoa
todos los usuariosSi se omite, el valor predeterminado es todos los usuarios, pero solo
umask
se modifican los permisos permitidos por .operator
es uno de los personajes+-=
:+
agregar los bits de modo de archivo especificados a los bits de modo de archivo existentes de cadafile
-
elimina los bits de modo de archivo especificados a los bits de modo de archivo existentes de cadafile
=
agrega los bits especificados y elimina los bits no especificados, excepto los bitssetuid
ysetgid
establecidos para directorios, a menos que se especifique explícitamente.mode
consiste en una combinación de las letrasrwxXst
, que especifican qué bit de permiso se va a modificar:r
leerw
escribirx
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 usuarios
setuid o setgid (según lo especificadoreferences
)t
bandera de eliminación restringida o bit fijoAlternativamente,
mode
puede consistir en una de las letrasugo
, en cuyo caso el modo corresponde a los permisos actualmente otorgados al propietario (u
), miembro delfile
grupo (g
) o permisos de usuarios en ninguna de las categorías anteriores (o
).Los diversos bits de
chmod
explicados:setfacl
)rwx
- leer (r), escribir (w) y ejecutar / cruzar (x) permisos.#!
) y otros archivos ejecutables.s
yt
- bit (t) fijo y setgid (s) en directorioss
- setuid, setgid, en archivos ejecutables.setcap
una forma más moderna de hacer esto.chown
chgrp
:chattr
: cambiar los atributos del archivoUso:
operator
es uno de los caracteres+-=
: *+
agrega los atributos seleccionados a los existentesattributes
defiles
*-
elimina los seleccionadosattributes
*=
sobrescribe el conjunto actual de atributos que tienen los archivos con los especificadosattributes
.attribute
es una combinación de las letrasacdeijstuADST
, que corresponden a los atributos:a
agregar soloc
comprimidod
sin volcadoe
formato de extensióni
inmutablej
diario de datoss
eliminación segurat
sin fusión de colau
indelebleA
sinatime
actualizacionesD
actualizaciones de directorio síncronoS
actualizaciones sincrónicasT
parte superior de la jerarquía de directoriossetfattr
: cambiar los atributos del archivo extendidoUso (conjunto de atributos):
Uso (eliminar):
name
es el nombre del atributo extendido para establecer o eliminarvalue
es el nuevo valor del atributo extendidosetfacl
: cambiar las listas de control de acceso a archivosUso:
option
debe incluir uno de los siguientes:--set
establecer la ACL de un archivo o un directorio, reemplazando la ACL anterior-m
El |--modify
modificar la ACL de un archivo o directorio-x
El |--remove
eliminar entradas de ACL de un archivo o directoriotarget
es una de las letrasugmo
(o la forma más larga que se muestra a continuación):u
,users
permiso de un usuario identificado identificado porparam
, predeterminado para el propietario del archivouid
si se omiteg
,group
permiso de un grupo con nombre identificado porparam
, predeterminado al grupo propietariouid
si se omitem
,mask
máscara de derechos efectivoso
,other
permisos de otrosperms
es una combinación de las letrasrwxX
, que corresponden a los permisos:r
leerw
escribirx
ejecutarX
ejecutar solo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuarioAlternativamente,
perms
puede ser un dígito octal (0
-7
) que indica el conjunto de permisos.setcap
: cambiar las capacidades del archivoUso:
A
capability-clause
consiste en una lista de nombres de capacidades separados por comas seguidos de una lista de pares de operador-bandera.Los operadores disponibles son
=
,+
y-
. Los indicadores disponibles sone
,i
yp
que corresponden a los conjuntos de capacidades Efectivo , Heredable y Permitido .El
=
operador elevará los conjuntos de capacidades especificados y reiniciará los demás. Si no se dan banderas en conjunto con el=
operador, todos los conjuntos de capacidades se restablecerán. El+
y-
los operadores puedan aumentar o disminuir el uno o más conjuntos de capacidades especificadas respectivamente.chcon
: cambiar el contexto de seguridad de SELinux del archivoUso:
usuario es el usuario de SELinux, como
user_u
,system_u
oroot
.role es el rol de SELinux (siempre
object_r
para archivos)tipo es el tipo de sujeto SELinux
chsmack
: cambiar los atributos extendidos de SMACKUso:
value
es la etiqueta SMACK que se establecerá para elSMACK64
atributo de archivo extendidosetrichacl : cambia la lista de control de acceso enriquecido.
Los richacl son una característica que agregará ACL más avanzadas.
Actualmente un trabajo en progreso, por lo que no puedo contarte mucho sobre ellos. No los he usado.
Consulte también esta pregunta ¿Existen ACL de sistema de archivos más avanzadas además de las tradicionales 'rwx' y POSIX ACL? y página man
fuente
desde un alto nivel:
-rwxrwxrwx
manejachmod
, junto con los identificadores de propietarios y grupos vinculados a cada archivo o carpeta en el sistema de archivos manejado porchown
ychgrp
; básicamente todos conocen esta pieza.Otros puntos clave:
user_xattr
y podría elegir no tener xattr disponible en el sistema de archivos raíz en el momento de la instalación; Creo que ahora con RHEL / CentOS 7 que xattr está allí por defecto y no puede no tenerlo.ls
si ve-rwxrwxrwx+
que+
indica que un atributo de archivo extendido está presente en ese objeto .tar
de cosas con xattr, si permanece en ese sistema no hay problema, pero si va a otra parte puede ser problemático si los xattr son importantes (es decir, samba y copia entre win10 ntfs y linux ext3 / 4, btrfs, xfs; o volver y adelante entre dispositivos de almacenamiento conectados a la red)xattr
s, entoncesxattr
s teóricamente no puede significar nada y caerse o despojarse porque en ese momento es solo equipaje adicional.El recurso compartido básico de Samba no funciona en RHEL / CentOS 7 ... porque selinux está configurado de forma predeterminada para hacer cumplir; selinux negó todo hasta que lo permitiste, así que deshabilita selinux (malo) o configúralo en permisivo. Si deja que selinux sea obligatorio, debe etiquetar la carpeta que desea compartir con un atributo extendido, para que selinux reconozca y permita el recurso compartido. Entonces, si deja que selinux se aplique con todos los comandos de selinux (que luego establecerán los
xattr
s necesarios ):usted usa además selinux, en el sistema linux con este recurso compartido de samba, para imponer restricciones en los archivos / carpetas bajo este recurso compartido de samba (usando cualquier atributo extendido). Debido a que estos archivos / carpetas se comparten, un usuario copia legítimamente algunos en su PC win10 y luego los copia de nuevo, perdiendo el atributo extendido. Ahora, después de esa copia de ida y vuelta, en ese sistema Linux, selinux restringirá el acceso a dichos archivos porque el xattr necesario ya no está presente, y los usuarios / administradores golpean sus cabezas preguntándose por qué las cosas simplemente funcionaron ahora no ... configuran selinux para permitir y reconocer el problema de la pérdida de
xattr
s que aparece en los registros de auditoría, pero no indicará directamente que fue el resultado de la copia de ida y vuelta que perdió el xattr. También considere la copia de seguridad y restauración de datos, y el trabajo potencial necesario para recordarxattr
s además de uid / gid si desea aplicar la seguridad basada en losxattr
s correctos .fuente