Sugerencias rápidas sobre la línea de comandos: más información sobre los permisos

Un artículo anterior cubrió algunos conceptos básicos sobre los permisos de archivo en su Fedora sistema. Esta entrega le muestra formas adicionales de usar los permisos para administrar el acceso y uso compartido de archivos. También se basa en el conocimiento y los ejemplos del artículo anterior, así que si no lo ha leído, échele un vistazo.

simbólica y octal

En el artículo anterior vio cómo hay tres conjuntos de permisos distintos para un archivo. El usuario propietario del archivo tiene un conjunto, los miembros del grupo propietario del archivo tienen un conjunto y luego un conjunto final es para todos los demás. Estos permisos se expresan en pantalla en un listado largo (ls -l) en modo simbólico.

Cada conjunto tiene r, w, y X entradas para determinar si un usuario en particular (propietario, miembro del grupo u otro) puede leer, escribir o ejecutar ese archivo. Pero hay otra forma de expresar estos permisos: en octales modo.

Estás acostumbrado a la decimal sistema de numeración, que tiene diez valores distintos (0 a 9). El sistema octal, por otro lado, tiene ocho valores distintos (0 a 7). En el caso de los permisos, octal se usa como abreviatura para mostrar el valor de la r, w, y X campos. Piense en cada campo como si tuviera un valor:

  • r = 4
  • w = 2
  • X = 1

Ahora puede expresar cualquier combinación con un solo valor octal. Por ejemplo, el permiso de lectura y escritura, pero no el permiso de ejecución, tendría un valor de 6. El permiso de lectura y ejecución solo tendría un valor de 5. El permiso de un archivo rwxr-xr-x permiso simbólico tiene un valor octal de 755 .

Puede usar valores octales para establecer permisos de archivo con el comando chmod de manera similar a los valores simbólicos. Los siguientes dos comandos establecen los mismos permisos en un archivo:

                      chmod u=rw,g=r,o=r myfile1
                      
chmod 644 myfile1

Bits de permisos especiales

Hay varios bits de permisos especiales también disponibles en un archivo. Estos se llaman setuido (o Sur ), setgid (o sgid ), y el poco pegajoso (o borrar inhibir ). Piense en esto como otro conjunto de valores octales:

  • setuido = 4
  • setgid = 2
  • pegajoso = 1

los setuido bit se ignora a menos que el archivo sea ejecutable. Si ese es el caso, el archivo (presumiblemente una aplicación o un script) se ejecuta como si lo hubiera iniciado el usuario propietario del archivo. Un bien example de setuid es la utilidad /bin/passwd, que permite al usuario establecer o cambiar contraseñas. Esta utilidad debe poder escribir en archivos que ningún usuario debe poder modificar. Por lo tanto, está cuidadosamente escrito, es propiedad del usuario raíz y tiene un bit setuid para que pueda alterar los archivos relacionados con la contraseña.

los setgid bit funciona de manera similar para los archivos ejecutables. El archivo se ejecutará con los permisos del grupo al que pertenece. Sin embargo, setgid también tiene un uso adicional para directorios. Si se crea un archivo en un directorio con permiso setgid, el propietario del grupo para el archivo se establecerá en el propietario del grupo del directorio.

Finalmente, el sticky bit, aunque se ignora para los archivos, es útil para los directorios. El sticky bit establecido en un directorio evitará que un usuario elimine archivos en ese directorio propiedad de otros usuarios.

La forma de configurar estos bits con chmod en modo octal es agregar un prefijo de valor, como 4755 para agregar setuid a un archivo ejecutable. En modo simbólico, el tu y gramo se puede utilizar para establecer o eliminar setuid y setgid, como tu+s,g+s . El bit pegajoso se establece usando o+t . (Otras combinaciones, como o+s o tu+t no tienen sentido y se ignoran).

Compartir y permisos especiales

Recuerda el example del artículo anterior sobre un equipo de finanzas que necesita compartir archivos. Como puede imaginar, los bits de permiso especiales ayudan a resolver su problema de manera aún más efectiva. La solución original simplemente creaba un directorio en el que todo el grupo podía escribir:

                      drwxrwx---. 2 root finance 4096 Jul  6 15:35 finance
                      

Un problema con este directorio es que los usuarios dwayne y jill, ambos miembros del grupo de finanzas, pueden borrar los archivos de cada uno. Eso no es óptimo para un espacio compartido. Puede ser útil en algunas situaciones, ¡pero probablemente no cuando se trata de registros financieros!

Otro problema es que es posible que los archivos de este directorio no se compartan realmente, ya que serán propiedad de los grupos predeterminados de dwayne y jill; lo más probable es que los grupos privados de usuarios también se llamen dwayne y jill.

Una mejor manera de resolver esto es configurar tanto setgid como el sticky bit en la carpeta. Esto hará dos cosas: hará que los archivos creados en la carpeta sean propiedad del grupo financiero automáticamente y evitará que dwayne y jill eliminen los archivos del otro. Cualquiera de estos comandos funcionará:

                      sudo chmod 3770 finance
                      
sudo chmod u+rwx,g+rwxs,o+t finance

La lista larga del archivo ahora muestra los nuevos permisos especiales aplicados. El bit pegajoso aparece como T y no t porque la carpeta no se puede buscar para usuarios fuera del grupo financiero.

                      drwxrws--T. 2 root finance 4096 Jul  6 15:35 finance
                    

Related Posts