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 descubrí algunos comandos más nuevos en GNU/Linux:
setfaclextiende el tradicionalugo:rwxbits y eltbit dechmod.setcapda más control de grano de aleta queug:sbits dechmod.chattrPermite algunos otros controles (un poco de mezcla) del archivo.
¿Hay otros?
Respuesta aceptada:
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 el acceso de qué usuario a los files será modificado:
uel usuario que lo poseegotros usuarios en elfilegrupo deootros usuarios que no están en el grupo del archivo-
atodos los usuariosSi se omite, por defecto es para todos los usuarios, pero solo los permisos permitidos por
umaskse modifican.operatores uno de los caracteres+-=:+agregue 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 elsetuidysetgidbits establecidos para directorios, a menos que se especifique explícitamente.
modeconsiste en una combinación de las letrasrwxXst, que especifican qué bit de permiso se va a modificar:rleerwescribirxejecutar (o buscar directorios)Xejecutar/buscar solo si el archivo es un directorio o ya tiene un bit de ejecución establecido para algún usuariossetuid o setgid (según lasreferencesespecificadas) )tbandera de eliminación restringida o sticky bit
Alternativamente, el
modepuede consistir en una de las letrasugo, en cuyo caso el modo corresponde a los permisos actualmente otorgados al propietario (u), miembro delfilegrupo 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 secuencias de comandos (consulte
#!), y otros archivos ejecutables. - Cruz (x) afecta si se puede recorrer un directorio.
syt— 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
setcappara 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 a los attributes existentes de los files * - elimina los attributes seleccionados * = sobrescribe el conjunto actual de atributos que tienen los archivos con los attributes especificados .
attribute es una combinación de las letras acdeijstuADST , que corresponden a los atributos:
aagregar soloccomprimidodsin volcadoeformato de extensióniinmutablejdiario de datossborrado segurotsin fusión de colauimborrableAsinatimeactualizacionesDactualizaciones de directorio síncronasSactualizaciones sincronizadasTparte 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:
--setestablecer la ACL de un archivo o directorio, reemplazando la ACL anterior-m|--modifymodificar la ACL de un archivo o directorio-
-x|--removeeliminar entradas de ACL de un archivo o directoriotargetes una de las letrasugmo(o la forma más larga que se muestra a continuación): -
u,userspermiso de un usuario identificado porparam, por defecto es el propietario del archivouidsi se omite g,grouppermiso de un grupo con nombre identificado porparam, predeterminado para el grupo propietariouidsi se omitem,maskmáscara de derechos efectivos-
o,otherpermisos de otrospermses una combinación de las letrasrwxX, que corresponden a los permisos: -
rleer wescribirxejecutar-
Xejecutar solo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuarioAlternativamente,
permspuede ser un dígito octal (–7) indicando el conjunto de permisos.
setcap :cambiar las capacidades del archivo
Uso:
setcap <capability-clause> file
Una 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 = 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.