Usar chmod en Linux

Todos los sistemas de archivos basados en Unix, como lo es Linux, manejan tres tipos de permisos: lectura, escritura y ejecución. Los mismos se otorgan a tres categorías posibles: el usuario (usuario), el grupo al que pertenece el usuario (grupo) y todos los demás usuarios del sistema (global).

Para ver los permisos de un directorio podemos ejecutar el comando ls -l en un terminal y obtener una salida como la siguiente:

$ ls -l
lrwxrwxrwx  1 usuario grupo    14 may 21  2018  Datos -> /datos/usuario/
-rw-r--r--  1 usuario grupo     0 abr 11 17:11  ejemplo.txt
drwxr-xr-x  2 usuario grupo  4096 mar 24 11:19  Escritorio

Los primeros 10 caracteres representan los permisos, para el ejemplo anterior corresponden a:

Tipo de archivo Usuario Grupo Global
l Enlace simbólico rwx rwx rwx
- Archivo rw- r-- r--
d Directorio rwx r-x r-x

El primero corresponde al tipo de archivo. Los restantes 9 agrupados en 3 grupos de 3 letras representan los permisos del usuario, el grupo y todos los demás (global) respectivamente. Cada letra representa:

Ya comprendido lo anterior, la sintaxis a seguir para asignar permisos a un archivo o directorio es la siguiente:

$ chmod [u,g,o,a][+,-,=][r,w,x] archivo_o_directorio

Donde los parámetros corresponden a:

Parámetro Significado
u Usuario
g Grupo
o Global
a Todos
+ Otorgar
- Revocar
= Copiar
r Lectura
w Escritura
x Ejecución

Por ejemplo, si un usuario quiere otorgarle permisos de escritura al archivo ejemplo.txt a todos los usuarios de su mismo grupo, debe ejecutar chmod con los parámetros g+w de la siguiente manera:

$ chmod g+w ejemplo.txt

Para revocar el permiso se cambiar el parámetro por g-w:

$ chmod g-w ejemplo.txt

Si lo que desea es que el grupo tenga los mismos permisos que el usuario sobre el directorio Escritorio, debe ejecutar chmod con los parámetros g=u:

$ chmod g=u Escritorio

Si se indica la categoría a o no se indica ninguna categoría, los permisos se aplica a todas las categorías:

# Se otorga permiso de ejecución a usuario, grupo y global
$ chmod a+x ejemplo.txt
# Equivalente a
$ chmod +x ejemplo.txt

Se pueden especificar diferentes permisos al mismo tiempo utilizando coma:

$ chmod g+w,o-rw,a+x ejemplo.txt

Y se pueden aplicar permisos recursivamente utilizando el parámetro -R:

$ chmod -R +r Escritorio

El anterior ejemplo, le otorga permisos de lectura al directorio Escritorio al igual que a todo su contenido.

Otro método de establecer permisos es mediante el uso de la notación octal, la cual consiste en representar los 3 permisos (lectura, escritura y ejecución) en binario, donde 0 es que no tiene el permiso y 1 que si tiene el permiso y pasarlos luego a su representación en base 8, utilizando los dígitos del 0 al 7.

Binario Octal Permiso
000 0 ---
001 1 --x
010 2 -w-
011 3 -wx
100 4 r--
101 5 r-x
110 6 rw-
111 7 rwx

La sintaxis de la notación octal sería igual a la anterior, remplazado los parámetros por el valor octal:

$ chmod 750 ejemplo.txt

Así por ejemplo el parámetro 750 significa que el usuario tiene permisos rwx, el grupo tiene permisos r-x y los otros no tiene permisos ---.

Las notaciones octales más frecuentes son:

Octal Permisos
777 rwxrwxrwx Todos tienen todos los permisos
755 rwxr-xr-x Usuario tiene todos los permisos, los demás solo leer y ejecutar
644 rw-r--r-- Usuario puede leer y escribir, los demás solo leer
600 rw------- Usuario puede leer y escribir, los demás sin permisos

asciicast

Descargar Legalmente Máquinas Virtuales de Windows para probar Internet Explorer y Edge

Microsoft cuenta con una página donde se pueden descargar Máquinas Virtuales con Windows versión 7, 8.1 y 10 instalado para que los desarrolladores puedan realizar pruebas de Internet Explorer de sus versiones del 8 al 11 y también Edge.

Estas imágenes de Máquinas Virtuales se pueden bajar gratis y legalmente y se pueden usar por un periodo de 90 día, con el único propósito de realizar pruebas sobre el navegador de Microsoft, en este link se detalle los requisitos y licencia.

Indirectamente también se puede probar estas versiones de Windows ya que vienen con una instalación del sistema operativo totalmente funcional.

La imágenes de las Máquinas Virtuales se pueden descargar en el siguiente link.

Se recomienda usar una máquina con suficientes recursos para poder usar estas imágenes, dado por ejemplo la de Windows 10 ocupa más de 4GB en disco duro comprimida y se recomienda usar de 1 a 2GB de RAM libres para la misma.

Las Máquinas Virtuales disponibles son:

Para las plataformas:

Longitud máxima de una dirección IP

Si estas diseñando una base de datos de un sitio WEB, y requieres almacenar en un campo de una tabla el valor de la IP de las personas que visitan el sitio, debes de especificar el tamaño máximo de ese campo, es ahí donde surge la pregunta: ¿Cuál es el tamaño máximo de una dirección IP?

Actualmente, los protocolos más usados en Internet son IPv4 u IPv6, por lo que usaremos estos como base.

IPv4

Para el caso de IPv4, la dirección esta compuesta por 32bit o 4 octetos que cumple el siguiente formato: 255.255.255.255

Por lo que la dirección ocupará una longitud máxima 15 caracteres.

IPv6

Por su parte, IPv6 esta compuesta por 64bit de prefijo de red y 64bit de dirección, separados por el signo : (dos puntos), y cumple el siguiente formato: 2001:0db8:85a3:0000:0000:8a2e:0370:7334

Por lo que la dirección ocupará una longitud máxima de 39 caracteres.

Solución

Es aconsejable crear el campo de al menos 39 caracteres para almacenar ambos tipos de protocolos.

Tutorial básico de Yaourt

¿Qué es Yaourt?

yaourt (Yet AnOther User Repository Tool, Yogurt en francés) es un programa de interfaz de línea de comandos que completa pacman para la instalar software en Archlinux y derivadas.

A diferencia de pacman que instala paquetes solamente de los repositorios oficiales, yaourt permite instalar paquetes desde Arch User Repository (AUR) que es un repositorio promovido por los usuarios de la comunidad de Arch.

Actualmente, el proyecto se encuentra descontinuado, por lo que se recomiendan otras herramientas similares como aurman, pakku o yay.

Como instalar

yaourt se puede instalar desde pacman ejecutando: $ sudo pacman -S yaourt

[Actualización 19/04/2019]

yaourt ya no se encuentra dentro de los repositorios oficiales de Manjaro Linux por lo que no se puede instalar directamente mediante el uso de pacman, se recomienda el uso de otras herramientas similares, sin embargo, aún existe la posibilidad de instalarlo siguiendo la guía de LinOxide.

Uso básico

Una de las ventajas que tiene yaourt es que no requiere iniciar la orden con sudo a diferencia de pacman, sino que nos solicitará los privilegios de administrador solo si los requiere.

Ahora bien, esta es una lista de comandos básicos comparados contra los tradicionales comandos de pacman:

Buscar paquetes

Se pueden buscar paquetes o grupos de paquetes por su nombre, y nos retornará una lista con todos los resultados encontrados para el nombre de paquete indicado.

# con yaourt
$ yaourt -Ss paquete
# o simplemente
$ yaourt paquete
# con pacman
$ sudo pacman -Ss paquete

Actualizar sistema

Se pueden actualizar todos los paquetes del sistema a sus versiones más actualizadas.

# con yaourt
$ yaourt -Syyu
# actualizar tambien paquetes de AUR
$ yaourt -Syyua
# con pacman
$ sudo pacman -Syyu

Instalar/reinstalar paquete

Ya identificado el paquete que se quiere instalar, simplemente se debe ejecutar el siguiente comando, el cual se encargará no solo de instalarlo, sino instalar todas las dependencias requeridas para su funcionamiento.

# con yaourt
$ yaourt -S paquete
# con pacman
$ sudo pacman -S paquete

Eliminar paquetes y sus dependencias

Si por algún motivo ya no se requiere o desea tener un paquete instalado, se pude ejecutar el siguiente comando para eliminar el paquete y todas las dependencias y configuraciones que fueron instaladas con él.

# con yaourt
$ yaourt -Rnsc paquete
# con pacman
$ sudo pacman -Rnsc paquete

Buscar paquetes huérfanos

En algunas ocasiones quedan paquetes huérfanos, los cuales son paquetes que fueron instalados como dependencias de otros paquetes que posteriormente fueron eliminados, sin embargo, no se eliminaron sus dependencias y ya no son dependencias de ningún otro paquete, por lo que ya no son necesarios.

# con yaourt
$ yaourt -Qdt
# con pacman
$ sudo pacman -Qdt

Finalmente les dejo el Link de repositorio en Github.

Hola Mundo

Primera publicación del Blog ;)


Las publicaciones más antiguas están disponibles en el archivo.