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 especifican qué acceso del usuario files
se modificará:
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, 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 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 los bits setuid
y setgid
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 lo especificado references
)
t
bandera de eliminación restringida o bit fijo
Alternativamente, 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 ( g
) o permisos de usuarios en ninguna de las categorías anteriores ( o
).
Los diversos bits de chmod
explicados:
- Control de acceso (ver también
setfacl
)
rwx
- leer (r), escribir (w) y ejecutar / cruzar (x) permisos.
- Leer (r) afecta si se puede leer un archivo o si se puede enumerar un directorio.
- Write (w) afecta si se puede escribir en un archivo o si se puede editar un directorio (archivos agregados, eliminados, renombrados).
- Execute (x) afecta si se puede ejecutar un archivo, usarlo para scripts (ver
#!
) y otros archivos ejecutables.
- Cross (x) afecta si se puede atravesar un directorio.
s
y t
- bit (t) fijo y setgid (s) en directorios
- El bit adhesivo solo afecta a los directorios. Evitará que cualquiera, excepto el propietario del archivo y la raíz, eliminen archivos en el directorio
- el bit setgid en los directorios hará que los nuevos archivos y directorios tengan el grupo configurado en el mismo grupo, y que los nuevos directorios tengan allí el bit setgid establecido (vea también los valores predeterminados en setfacl).
s
- setuid, setgid, en archivos ejecutables.
- Esto puede afectar la seguridad de mala manera, 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. vea
setcap
una forma más moderna de hacer esto.
chattr
: cambiar los atributos del archivo
Uso:
chattr <operator><attribute> files...
operator
es uno de los caracteres +-=
: * +
agrega los atributos seleccionados a los existentes attributes
de files
* -
elimina los seleccionados attributes
* =
sobrescribe el conjunto actual de atributos que tienen los archivos con los especificados attributes
.
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
eliminación segura
t
sin fusión de cola
u
indeleble
A
sin atime
actualizaciones
D
actualizaciones de directorio síncrono
S
actualizaciones sincrónicas
T
parte superior de la jerarquía de directorios
Uso (conjunto de atributos):
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 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 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 identificado por param
, predeterminado para el propietario del archivo uid
si se omite
g
, group
permiso de un grupo con nombre identificado por param
, predeterminado al 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
) que indica el conjunto de permisos.
Uso:
setcap <capability-clause> file
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 son e
, i
y p
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.
Uso:
chcon [-u <user>] [-r <role>] [-t <type>] files...
usuario es el usuario de SELinux, como user_u
, system_u
o root
.
role es el rol de SELinux (siempre object_r
para archivos)
tipo es el tipo de sujeto 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 : 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
chmod