aunque ya hay muchas buenas características de seguridad integradas en los sistemas basados en Linux, una vulnerabilidad potencial muy importante puede existir cuando se concede el acceso local – – que es problemas basados en Permisos de archivo resultantes de un usuario no asignar los permisos correctos a archivos y directorios. Así que basado en la necesidad de permisos adecuados, voy a ir sobre las formas de asignar permisos y mostrar algunos ejemplos donde la modificación puede ser necesaria.,
permisos básicos de archivo
grupos de permisos
cada archivo y directorio tiene tres grupos de permisos basados en usuarios:
- propietario: los permisos de propietario se aplican solo al propietario del archivo o directorio, no afectarán las acciones de otros usuarios.
- group-los permisos de grupo se aplican solo al grupo que se ha asignado al archivo o directorio, no afectarán las acciones de otros usuarios.
- todos los usuarios: los permisos de todos los usuarios se aplican a todos los demás usuarios del sistema, este es el grupo de permisos que más desea ver.,
tipos de permisos
cada archivo o directorio tiene tres tipos de permisos básicos:
- Lectura: el permiso de lectura se refiere a la capacidad del usuario para leer el contenido del archivo.
- write-los permisos de escritura se refieren a la capacidad de un usuario para escribir o modificar un archivo o directorio.
- execute-el permiso Execute afecta la capacidad del usuario para ejecutar un archivo o ver el contenido de un directorio.,
Ver los permisos
Puede ver los permisos comprobando los permisos de archivo o directorio en su administrador de archivos GUI favorito (que no cubriré aquí) o revisando la salida del comando «ls-l» mientras está en el terminal y mientras trabaja en el directorio que contiene el archivo o carpeta.
el permiso en la línea de comandos se muestra como: _rwxrwxrwx 1 owner:group
- User rights/Permissions
- El primer carácter que he marcado con un subrayado es el indicador de permiso especial que puede variar.,
- El siguiente conjunto de tres caracteres (rwx) es para los permisos de propietario.
- El segundo conjunto de tres caracteres (rwx) es para los permisos de grupo.
- El tercer conjunto de tres caracteres (rwx) es para los permisos de todos los usuarios.
- Después de esa agrupación, ya que el número entero / number muestra el número de enlaces duros al archivo.
- La última pieza es la asignación Owner y Group formateada como Owner: Group.
modificar los permisos
Cuando se encuentra en la línea de comandos, los permisos se editan mediante el comando chmod., Puede asignar los permisos explícitamente o utilizando una referencia binaria como se describe a continuación.
definir explícitamente los permisos
para definir explícitamente los permisos, deberá hacer referencia al grupo de permisos y a los tipos de permisos.
Los grupos de permisos utilizados son:
minus); se utilizan para indicar al sistema si debe agregar o eliminar los permisos específicos.,
los tipos de permisos que se utilizan son:
- r – Read
- w – Write
- x – Execute
así que para un ejemplo, digamos que tengo un archivo llamado file1 que actualmente tiene los permisos establecidos en _rw_rw_rw, lo que significa que el propietario, el grupo y todos los usuarios tienen permisos de lectura y escritura. Ahora queremos eliminar los permisos de lectura y escritura del grupo todos los usuarios.,
para hacer esta modificación invocarías el comando: chmod a-RW file1
para agregar los permisos anteriores invocarías el comando: chmod a+RW file1
Como puedes ver, si quieres otorgar esos permisos cambiarías el carácter menos a un más para agregar esos permisos.
usar referencias binarias para establecer permisos
ahora que comprende los grupos y tipos de permisos, este debería sentirse natural. Para establecer el permiso usando referencias binarias, primero debe entender que la entrada se realiza ingresando tres números enteros.,
una cadena de Permisos de ejemplo sería chmod 640 file1, lo que significa que el propietario tiene permisos de lectura y escritura, el grupo tiene permisos de lectura y todos los demás usuarios no tienen derechos sobre el archivo.
el primer número representa el permiso de propietario; el segundo representa los permisos de grupo; y el último número representa los permisos para todos los demás usuarios. Los números son una representación binaria de la cadena rwx.
- r = 4
- w = 2
- x = 1
añadir los números para obtener el entero/número que representa el número de permisos que desea configurar., Tendrá que incluir los permisos binarios para cada uno de los tres grupos de permisos.
así que para establecer un archivo en permisos en file1 para leer _rwxr_____, ingresaría chmod 740 file1.
propietarios y grupos
he hecho varias referencias a los propietarios y grupos anteriores, pero aún no le he dicho cómo asignar o cambiar el propietario y el grupo asignados a un archivo o directorio.,
se utiliza el comando chown para cambiar las asignaciones de propietario y grupo, la sintaxis es simplechown owner:group filename, por lo que para cambiar el propietario de file1 a user1 y el grupo A family se introduciría chown user1:family file1.
permisos avanzados
la bandera de permisos especiales se puede marcar con cualquiera de los siguientes:
- _ – Sin permisos especiales
- d – directorio
- l– el archivo o directorio es un enlace simbólico
- s – Esto indica los permisos setuid / setgid., Esto no se muestra en la parte de permisos especiales de la pantalla de permisos, pero se representa como una s en la parte de lectura de los permisos de propietario o grupo.
- t-Esto indica los permisos de bit pegajoso. Esto no se muestra en la parte de permisos especiales de la pantalla de permisos, sino que se representa como una t en la parte ejecutable de los permisos de todos los usuarios
permisos especiales de Setuid/Setgid
los permisos de setuid/setguid se utilizan para indicar al sistema que ejecute un ejecutable como propietario con los permisos del propietario.,
tenga cuidado al usar los bits setuid / setgid en los permisos. Si asigna permisos incorrectamente a un archivo propiedad de root con el bit setuid/setgid establecido, puede abrir su sistema a intrusión.
solo puede asignar el bit setuid/setgid definiendo explícitamente los permisos. El carácter para el bit setuid/setguid es S.
así que establece el bit setuid/setguid en file2.sh usted emitiría el comando chmod g + s file2.sh.,
Sticky Bit permisos especiales
El sticky bit puede ser muy útil en entornos compartidos porque cuando se le ha asignado a los permisos en un directorio lo establece para que solo el propietario del archivo pueda renombrar o eliminar dicho archivo.
solo puede asignar el bit adhesivo definiendo explícitamente los permisos. El carácter para el bit pegajoso es t.
para establecer el bit pegajoso en un directorio llamado dir1, emitiría el comando chmod + t dir1.,
cuando los permisos son importantes
para algunos usuarios de computadoras basadas en Mac o Windows, no piensa en los permisos, pero esos entornos no se centran tan agresivamente en los derechos basados en el usuario sobre los archivos a menos que se encuentre en un entorno corporativo. Pero ahora está ejecutando un sistema basado en Linux y la seguridad basada en permisos se simplifica y se puede usar fácilmente para restringir el acceso a su gusto.
así que le mostraré algunos documentos y carpetas en los que desea centrarse y le mostraré cómo se deben establecer los permisos óptimos.,
- directorios personales-los directorios personales de los usuarios son importantes porque no desea que otros usuarios puedan ver y modificar los archivos en los documentos de otro usuario del escritorio. Para remediar esto, querrá que el directorio tenga los permisos drwx______ (700), así que digamos que queremos hacer cumplir los permisos correctos en el directorio personal del usuario user1 que se puede hacer emitiendo el comando chmod 700 /home/user1.,
- archivos de configuración del gestor de arranque: si decide implementar una contraseña para arrancar sistemas operativos específicos, querrá eliminar los permisos de lectura y escritura del archivo de configuración de todos los usuarios, excepto root. Para ello puede cambiar los permisos del archivo a 700.
- archivos de configuración del sistema y del demonio – es muy importante restringir los derechos a los archivos de configuración del sistema y del demonio para restringir a los usuarios la edición del contenido, puede que no sea aconsejable restringir los permisos de lectura, pero restringir los permisos de escritura es una necesidad., En estos casos puede ser mejor modificar los derechos a 644.
- scripts de firewall-puede que no siempre sea necesario bloquear a todos los usuarios de leer el archivo de firewall, pero es aconsejable restringir a los usuarios de escribir en el archivo. En este caso, el script de firewall es ejecutado por el usuario root automáticamente al arrancar, por lo que todos los demás usuarios no necesitan derechos, por lo que puede asignar los permisos 700.