Anuncios

En este capítulo, vamos a discutir en detalle acerca de los permisos de los archivos y los modos de acceso en Unix. La propiedad de archivos es un componente importante de Unix que proporciona un método seguro para almacenar archivos., Cada archivo en Unix tiene los siguientes atributos –

  • Permisos de propietario-los permisos de propietario determinan qué acciones puede realizar el propietario del archivo en el archivo.

  • permisos de grupo: los permisos del grupo determinan las acciones que un usuario, que es miembro del grupo al que pertenece un archivo, puede realizar en el archivo.

  • Other (world) permissions-los permisos para otros indican qué acción pueden realizar todos los demás usuarios en el archivo.,

los indicadores de permisos

mientras usa el comando ls-l, Muestra información relacionada con el permiso de archivo de la siguiente manera:

$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir

Aquí, la primera columna representa diferentes modos de acceso, es decir, el permiso asociado con un archivo o un directorio.

los permisos se dividen en grupos de tres, y cada posición en el grupo denota un permiso específico, en este orden: leer (r), escribir (w), ejecutar (x) −

modos de acceso a archivos

los permisos de un archivo son la primera línea de defensa en la seguridad de un sistema Unix., Los bloques de construcción básicos de los permisos Unix son los permisos de lectura, escritura y ejecución, que se han descrito a continuación:

leer

otorga la capacidad de leer, es decir, ver el contenido del archivo.

Write

otorga la capacidad de modificar o eliminar el contenido del archivo.

Ejecutar

El usuario con permisos de ejecución puede ejecutar un archivo como un programa.

modos de acceso a directorios

Los modos de acceso a directorios se enumeran y organizan de la misma manera que cualquier otro archivo., Hay algunas diferencias que deben mencionarse:

leer

El acceso a un directorio significa que el usuario puede leer el contenido. El usuario puede mirar los nombres de archivo dentro del directorio.

Write

Access significa que el usuario puede agregar o eliminar archivos del directorio.

Ejecutar

ejecutar un directorio realmente no tiene sentido, así que piense en esto como un permiso de desplazamiento.

un usuario debe tener acceso de ejecución al directorio bin para ejecutar el comando ls o cd.,

Cambiar permisos

para cambiar los permisos del archivo o del directorio, utilice el comando chmod (change mode). Hay dos maneras de usar chmod – el modo simbólico y el modo absoluto.

usando chmod en modo simbólico

la forma más fácil para un principiante de modificar los permisos de archivos o directorios es usar el modo simbólico. Con permisos simbólicos puede agregar, eliminar o especificar el conjunto de permisos que desee utilizando los operadores de la siguiente tabla.

Sr.No., Chmod operador & Descripción
1

+

Añade el designado permiso(s) a un archivo o directorio.

2

Elimina el designado permiso(s) de un archivo o directorio.

3

=

Establece el designado permiso(s).

Aquí hay un ejemplo usando testfile., Ejecutar ls -1 en el archivo de prueba muestra que los permisos del archivo son los siguientes −

$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile

luego cada comando chmod de ejemplo de la tabla anterior se ejecuta en el archivo de prueba, seguido de ls –l, para que pueda ver los cambios de permisos −

así es como puede combinar estos comandos en una sola línea −

$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile

usando chmod con permisos absolutos

la segunda forma de modificar permisos con el comando chmod es usar un número para especificar cada conjunto de permisos para el archivo.,

a cada permiso se le asigna un valor, como se muestra en la siguiente tabla, y el total de cada conjunto de permisos proporciona un número para ese conjunto.

Aquí hay un ejemplo usando el testfile. Ejecutar ls -1 en el archivo de prueba muestra que los permisos del archivo son los siguientes −

$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile

luego cada comando chmod de ejemplo de la tabla anterior se ejecuta en el archivo de prueba, seguido de ls –l, para que pueda ver los cambios de permisos −

cambiar propietarios y grupos

mientras crea una cuenta en Unix, asigna un ID de propietario y un ID de grupo a cada usuario., Todos los permisos mencionados anteriormente también se asignan en función del propietario y los grupos.

Dos comandos están disponibles para cambiar el propietario y el grupo de archivos

  • chown − El comando chown significa «cambio de propietario» y se usa para cambiar el propietario de un archivo.

  • chgrp − El comando chgrp significa «cambio de grupo» y se usa para cambiar el grupo de un archivo.

cambiar la propiedad

el comando chown cambia la propiedad de un archivo., La sintaxis básica es la siguiente −

$ chown user filelist

El valor del usuario puede ser el nombre de un usuario en el sistema o el identificador de usuario (uid) de un usuario en el sistema.

El siguiente ejemplo ayudará a entender el concepto −

$ chown amrood testfile$

Cambia el propietario del archivo para que el usuario amrood.

Nota: el superusuario root tiene la capacidad sin restricciones de cambiar la propiedad de cualquier archivo, pero los usuarios normales solo pueden cambiar la propiedad de los archivos que poseen.,

cambiar la propiedad del grupo

el comando chgrp cambia la propiedad del grupo de un archivo. La sintaxis básica es la siguiente:

$ chgrp group filelist

el valor de group puede ser el nombre de un grupo en el sistema o el ID de grupo (GID) de un grupo en el sistema.

el siguiente ejemplo le ayuda a entender el concepto –

$ chgrp special testfile$

cambia el grupo del archivo dado a Grupo Especial.

permiso de archivo Suid y SGID

a menudo, cuando se ejecuta un comando, tendrá que ejecutarse con privilegios especiales para poder realizar su tarea.,

por ejemplo, cuando Cambia su contraseña con el comando passwd, su nueva contraseña se almacena en el archivo /etc/shadow.

como usuario normal, no tiene acceso de lectura o escritura a este archivo por razones de seguridad, pero cuando Cambia su contraseña, necesita tener el permiso de escritura para este archivo. Esto significa que el programa passwd tiene que darle permisos adicionales para que pueda escribir en el archivo /etc/shadow.

se otorgan permisos adicionales a los programas a través de un mecanismo conocido como los bits Set User ID (Suid) y Set Group ID (SGID).,

Cuando ejecuta un programa que tiene habilitado el bit SUID, hereda los permisos del propietario de ese programa. Los programas que no tienen el bit SUID establecido se ejecutan con los permisos del usuario que inició el programa.

Este es el caso con SGID también. Normalmente, los programas se ejecutan con los permisos de su grupo, pero en su lugar, su grupo se cambiará solo para este programa al propietario del grupo del programa.

los bits Suid y SGID aparecerán como la letra «s» si el permiso está disponible., El bit SUID » s » se ubicará en los bits de permiso donde reside normalmente el permiso de ejecución de los propietarios.

por ejemplo, el comando −

$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$

muestra que el bit SUID está establecido y que el comando es propiedad de la raíz. Una letra mayúscula S en la posición de ejecución en lugar de una minúscula s indica que el bit de ejecución no está establecido.,

Si el bit pegajoso (sticky) está habilitada en el directorio, los archivos sólo pueden ser removidos si eres uno de los siguientes usuarios −

  • El propietario de la pegajosa directorio
  • El propietario del archivo que está siendo eliminado
  • El super usuario, root

Para establecer el bit SUID y SGID bits para cualquier directorio de tratar el siguiente comando

$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$
Anuncios