Linux es un tipo de sistema operativo de cdigo abierto basado en el ncleo Linux. Se utiliza para muchos fines distintos, como alimentar servidores web, ejecutar aplicaciones de software y proporcionar un entorno para que los usuarios interacten con su ordenador.
Hay tres tipos principales de permisos de archivo que se pueden establecer: lectura, escritura y ejecucin. A cada permiso se le puede asignar un valor de 0 (sin acceso) o 1 (acceso total). Adems, tambin puedes asignar permisos especiales como el sticky bit o setuid/setgid a archivos y carpetas.
El comando chmod 777 se utiliza para establecer el permiso completo en una carpeta o archivo. El nmero 777 representa el usuario, grupo y otros usuarios que tienen acceso total para leer, escribir y ejecutar el archivo o carpeta.
El comando chmod se utiliza para cambiar los permisos de un archivo o carpeta en Linux. Cuando se utiliza con la opcin -R (para recursivo), esto puede utilizarse para modificar los permisos de todas las subcarpetas y archivos de un directorio.
Es importante tener en cuenta que establecer permisos demasiado amplios puede suponer un riesgo para la seguridad, por lo que hay que tener precaucin a la hora de conceder acceso total a archivos y carpetas.
El comando chown se puede utilizar para cambiar el propietario de un archivo o carpeta, mientras que el comando setfacl se utiliza para configuraciones de permisos ms avanzadas, como establecer valores predeterminados y de mscara.
Si alguna vez tratas de crear, por ejemplo, un archivo de texto, todo lo que tienes que hacer es escribir touch filename.txt, presionar Enter, y el archivo es creado para ti en la carpeta donde ests. Luego puedes escribir lo que quieras dentro usando el editor de archivos de tu gusto.
Djame intentar mostrarte esto con un ejemplo. Supn que quieres crear un script usando 'touch'. Escribe touch example.sh, presiona Enter, y ah lo tienes. Una vez ms, puedes escribirlo usando un editor de archivos.
Lo que hace es listar todos los archivos visibles de la carpeta en el que ests en este momento. Al agregarle la bandera -l, te provee con ms informacin sobre los archivos de la carpeta. Este es el resultado cuando escribimos ls -l y presionamos Enter:
Vemos el mismo archivo(s), pero con bastante informacin. Para empezar, tenemos una secuencia de diez guiones y letras que podran parecer sin sentido a la primera. Esto es en realidad es el mapeo de permisos que tu archivo tiene.
El primer carcter puede ser un guion (- para un archivo comn), una d (para una carpeta/directorio), o una l (para un enlace suave). Para ser ms sencillos, me enfocar en los archivos simples, aunque los permisos son vlidos para todos estos tipos de archivos/carpetas.
Despus del primer carcter, los otros 9 pueden ser divididos en grupos de tres. El primer tro muestran los permisos para el usuario actual. El prximo muestra los permisos para este grupo. Los ltimos tres son los permisos para todos los usuarios que no encajan en esta categora.
La primera r se refiere a permisos de lectura. Luego tenemos w para permisos de escritura. Finalmente, un guion, lo que significa que cualquier cosa que debera estar ah no est. Lo que debera de haber all es una x, lo que significa ejecutable.
As que, hablando del usuario actual (yo), los permisos que tengo para este archivo son los permisos de lectura y de escritura. No puedo, sin embargo, ejecutar el archivo sample.sh. Por eso, cuando tratamos de ejecutar el archivo, tengo ese mensaje 'permiso denegado'.
Bueno, he estado mencionando 'permisos' desde el inicio del artculo. Ampliemos esta explicacin un poco para denotar qu son 'permisos' para acceder a un archivo de un cierto modo. Esto significa que r denota el permiso de acceder al archivo en modo lectura, w denota el permiso de acceder al archivo en modo escritura, y x denota el permiso de acceder al archivo en modo ejecucin.
Por qu te estoy diciendo esto? Por el comando del que trata este artculo. chmod significa 'cambiar el modo'. En otras palabras, cuando uses este comando, ests cambiando el modo del archivo a cualquier modo que quieres usar.
Por ejemplo, + es el operador que usas para agregar un permiso a los que el archivo ya tiene. - remueve un permiso de la lista. Hay tambin el operador =, lo cual reinicia los permisos, as puedes definirlos nuevamente.
En nuestro caso, al escribir chmod -w sample.sh, lo que le estoy pidiendo al comando que haga es remover el permiso de escritura. As que lo que tendra que hacer para agregar el permiso de ejecucin es escribir chmod +x sample.sh.
Algo ms que vale la pena sealar es quin es el que obtiene este permiso. Vers que el 'x' es dado a todos los usuarios, al dueo del archivo, grupo y otros. Si esto no es lo que quieres, tal vez sera bueno quitar el permiso de ejecucin nuevamente con chmod -x sample.sh.
Genial! Pienso que esto cubre lo que querra mostrarte. Hay otras cosas que te interesaran, como usar chmod con valores octales o binarios para representar los permisos. Pero estos son modos que usamos para tener los mismos resultados y creo que con las letras es una forma ms sencilla de lograr estos resultados.
En caso de que quieras ms informacin sobre el comando, una cosa que puedes hacer es escribir chmod --help, el cual te dar un resumen de lo que el comando puede hacer. Una descripcin an ms detallada se puede lograr escribiendo man chmod.
Use el comando chmod para cambiar los permisos deun archivo o un directorio. El usuario debe ser el propietario del archivoo del directorio, o tener acceso al directorio raz para cambiar suspermisos. La forma general del comando chmod es:
Tambin puede cambiar los permisos de grupos de archivos o directoriosutilizando carcter comodn *. Por ejemplo,para cambiar los permisos de todos los archivos del directorio actual veggies para que slo el usuario pueda escribir en ellos,deber escribir lo siguiente:
Si tienes un Servidor Dedicado o un VPS, quizs necesites gestionar la propiedad y los permisos de las carpetas y ficheros all alojados. En Linux existen dos comandos principalmente para cambiar propietarios y modificar permisos: chmod y chown.
Despus de ejecutar ls -l . Te aparecer listado el contenido seguido de nueve caracteres. Esos nueve caracteres (rwx rwx rwx) indican los 3 permisos que tienen diferentes grupos. El primer tro corresponde al propietario del fichero, quien lo cre. El segundo tro de caracteres al grupo propietario. Y la ltima terna, al resto de usuarios.
Modificando los permisos y propietarios, incrementars la seguridad de tu servidor, pero cuidado, porque hacerlo mal, provocara todo lo contrario. A continuacin te detallamos que hace cada uno de estos comandos. Si no tienes un servidor, pero eres usuario de Linux, tambin te puede resultar interesante. ?
Este comando es mucho ms sencillo que el anterior. Para verificar que has cambiado correctamente los propietarios puedes volver a ejecutar ls -l nombre_fichero. Al igual que chmod utilizando la opcin -R podemos crear una operacin recursiva cambiando la propiedad de carpetas y archivos contenidos dentro de un directorio.
Has visto, como modificar los permisos y propietarios de archivos y carpetas en tu servidor es muy sencillo, pero hay algunas consideraciones que deberas tener en cuenta antes de hacer nada. Si necesitas conocer todas las opciones de los comandos, recuerda que puedes ejecutar man chmod y man chown para encontrar el manual completo de los comandos que proporcionan los sistemas Unix.
Como norma general, lo ms habitual es que las carpetas tengan unos permisos 755 y los ficheros 644. Aunque pienses que un archivo necesites todos los permisos de ejecucin para que todo funcione, mejor cerciorarse antes.
Si trabajar desde consola no es lo tuyo, recuerda que desde el Panel de Control de dinahosting tambin puedes modificar los permisos de archivos y carpetas que tengas en hosting. En el explorador de archivos a la derecha, cuando tengas seleccionado un archivo te aparecer unos checks en donde modificar el valor de estos permisos, sin tener que acordarte del cdigo octal que representa cada uno.
Hola. Gracias por la informacin. No me queda claro cmo quitar los permisos y dejar carpetas y archivos sin permisos para que otras personas los manipulen. Me gusta desde terminal. Le agradezco su colaboracin.
Recibe quincenalmente consejos muy tiles para tu web y ecommerce. Adems, con tu alta te regalamos 3 guas: la Gran Gua de la Digitalizacin, la Gua de WordPress ms completa y la Gua de Ciberseguridad para mantener tu web y pyme seguras.
Gana dinero recomendando dinahosting a todo el mundo: tus contactos, redes sociales, web... como t quieras! En dinahosting tienes la seguridad de estar recomendando un servicio de calidad en todos los sentidos.
Te asesoramos sin compromiso y migramos tu web completamente gratis. En dinahosting cuentas con la infraestructura de red ms segura y optimizada, mxima velocidad con discos NVMe y tutoriales y recursos de ayuda para sacarle el mximo partido a tus servicios.
Si no sabes que son los permisos, o no sabes como ver los permisos de un fichero o una carpeta, te recomiendo que leas este tutorial:
Explicacin de los permisos de carpetas y ficheros en GNU/Linux
Cambiar permisos desde la consola
Nos vamos a Aplicaciones -> Accesorios -> Terminal
Por ejemplo yo le quiero dar permisos de lectura, escritura y ejecucin para los 3 grupos a una carpeta llamada Prueba que est en el Escritorio, as que navego hasta el escritorio:
Cuando tenemos un servidor NAS basado en Linux, o directamente un sistema operativo como Debian o Ubuntu donde tenemos instalados diferentes servicios para acceder a los archivos y carpetas en red local por parte de otros usuarios, controlar el acceso de lectura, escritura y ejecucin a los archivos y carpetas que compartimos es algo fundamental. Debemos tener en cuenta que, cuando compartir va Samba o FTP nuestras carpetas y archivos, es posible que la autenticacin de los clientes sea con un usuario sin privilegios, por tanto, deberemos organizar correctamente los usuarios y grupos para proporcionar los permisos necesarios y no ms.