Unix es el SO de un sitio web y la matriz donde se gestan los hackers. Conocer el sistema de permisos de acceso donde guardas info privada, resulta tan básico como conocer cuáles son las llaves de tu casa.
¿Qué tal público?
Muchas personas no tienen presencia online por motivos informáticos como el que vamos a conocer.
El acecho del hackeo es constante.
Es verdad como templo que un pirata informático llegará hasta la propia casa, si cometemos ciertos patinazos por ignorancia.
Qué son Unix y GNU/Linux además de un galimatías
Unix
Es uno de los SO más populares del mundo debido a su extenso soporte y distribución.
Muchos hackers (fanáticos de la programación y las computadoras, no piratas informáticos) consideran que es el auténtico y único sistema operativo.
El desarrollo de GNU/Linux parte de un grupo de hackers que quisieron hacer un sistema operativo libre con sus propias manos.
Existen numerosas versiones de Unix para muchos sistemas, desde ordenadores personales hasta supercomputadoras.
GNU / Linux
Es una versión del «kernel» (nucleo) de Unix de libre distribución, que actualmente es desarrollado con la ayuda de muchos programadores y expertos de todo el mundo, comunicados a través de internet.
El proyecto GNU fue iniciado con el propósito de desarrollar un sistema operativo compatible con Unix que fuera software libre.
Existen varias distribuciones de GNU con Linux que en el mundillo del usuario final se conocen como «distribuciones o sabores de Linux».
Entre ellas existen diferencias y cada una está acomodada para un tipo de usuario final.
Así, conocemos Debian, Red Hat, SuSE, Ubuntu, Puppy…..
El artículo Viejo PC Windows en la tumba vs Puppy Linux en la nueva vida, describe la distribución Puppy Linux, capaz de ayudarte con más de un problema.
Vaya rollo con los permisos de acceso prefiero poner un guarda
Cualquier servidor compartido (share hosting) donde se aloje un sitio web, está basado en el SO Unix o alguna variante Linux, siendo Apache el nombre que recibe el servidor web de estos sistemas.
El servidor web Apache, junto con el servidor de bases de datos MySQL y su cliente de administración phpMyAdmin, son los pilares sobre los que se asienta una website.
Características de GNU/Linux
GNU/Linux es un SO multitarea y multiusuario, como cualquier otra versión de Unix.
Esto significa que pueden trabajar varios usuarios simultáneamente y cada uno de ellos puede tener varios programas en ejecución.
Esta es una razón de peso para decidir entre uno u otro servicio de hosting, a la hora de tomar una decisión para el alojamiento de la página.
Los buenos y confiables ofrecen en sus paquetes la característica «enjaulamiento de cuenta», para aislar completamente la cuenta (espacio físico del disco) de cada usuario.
De este modo si un usuario es hackeado, el pirata informático lo tendrá muy dificil para penetrar en el resto de los sitios que comparten el servidor.
Conceptos básicos de estos sistemas operativos
Para que los usuarios puedan identificarse en el sistema, deben presentarse (log in).
Este proceso consta de dos pasos:
- Introducir el nombre de usuario (login).
- Introducir una contraseña (password).
En los sistemas Unix, el administrador del sistema asignará el nombre de usuario y una contraseña inicial en el momento de crear la cuenta de usuario.
Además, cada sistema tiene un nombre (hostname) asignado, que le da nombre a la máquina.
El nombre del host sirve para identificar la computadora en una red. El host que alberga el SO debe tener un nombre, incluso si no está en red.
Introducido el nombre de usuario y la contraseña, estamos «presentados» en el sistema y listos para iniciar una sesión de trabajo, pero atención …
Sólo con los derechos de acceso que nos brinde la cuenta que nos ha creado el administrador del sistema.
Permisos de acceso a ficheros y directorios
Antes de entrar en este tema veamos lo que es «root»
- El usuario root de un sistema Unix / Linux es el administrador del mismo.
- El usuario root tiene todos los permisos necesarios para realizar cualquier tipo de tarea.
Los usuarios comunes en cambio, no tienen permisos para instalar programas o escribir en los directorios de sistema.
Al ser Unix un sistema multiusuario, los archivos de cada usuario deben ser protegidos del resto de los usuarios.
Lo mismo ocurre con los archivos del sistema, programas, configuraciones, etc.
Esto tiene que ver no sólo con la confidencialidad de la información, sino también con la protección de errores involuntarios por parte de los usuarios.
Para ello se utiliza un sistema de «permisos de archivos».
Este mecanismo permite que archivos y directorios «pertenezcan» a un usuario en particular.
Unix también permite que los archivos sean compartidos entre usuarios y grupos de usuarios.
Tipos de permisos para organizar la guardia
Cada archivo pertenece a un usuario y a un grupo en particular. Un grupo es un conjunto de usuarios definido. Cada usuario pertenece al menos a un grupo, pero puede pertenecer a varios.
Los permisos están divididos en tres tipos:
Estos permisos pueden ser establecidos para tres clases de usuarios:
- El propietario del archivo o directorio,
- Los integrantes del grupo al que pertenece,
- Todos los demás usuarios, o resto del mundo.
Los permisos de acceso me lían necesito un ejemplo
Un archivo con la cadena de permisos « – rw- r- r- » nos informa, por orden, los permisos para el propietario, los usuarios del grupo y el resto de los usuarios.
Dependencias entre archivos y directorios
Es importante remarcar que los permisos de un archivo también dependen de los permisos del directorio en el que reside el archivo.
Por ejemplo, aunque un archivo tenga los permisos rwx rwx rwx, otros usuarios no podrán acceder a él a menos que también tengan permiso de lectura y ejecución para el directorio en el cual se encuentra el archivo.
En otras palabras un usuario, para acceder a un archivo, debe tener permiso de ejecución de todos los directorios a lo largo del camino de acceso al archivo, además de permiso de lectura del archivo en particular.
Equivalencia numérica de los permisos de acceso
A la hora de manipular estos parámetros en el cPanel de nuestro hosting no utilizaremos los carácteres read – write – execute. sino su equivalencia numérica.
La orden para cambiar permisos la ejecuta en el sistema el comando chmod.
No lo veremos en la ventana que nos mostrará cPanel porque se ejecuta de forma interna por comodidad.
Por ejemplo, el siguiente comando:
chmod 777 mifichero.php
le asigna todos los permisos al archivo mifichero.php.
Primero nos situamos en el directorio que contiene el archivo mifichero.php y, dentro del mismo, ejecutar el comando.
Cómo averiguo el significado de los dígitos 777
Para entenderlo debemos saber lo siguiente:
A partir de estos valores y sumando, se puede ver que un archivo puede tener los siguientes permisos:
4 = lectura
2 = escritura
1 = ejecución
0: no hay permiso para nada
3: (2+1) escritura y ejecución
5: (4+1) lectura y ejecución
6: (4+2) lectura y escritura
7: (4+2+1) lectura, escritura y ejecución
Todo ello para los tres tipos de usuario – propietario/user, grupo/group, los demás/world -.
Así, la orden
chmod 777 archivo.php
significa que el propietario, el grupo y el resto del mundo tienen permiso de lectura, escritura y ejecución.
Como se puede ver, son tres dígitos, de izquierda a derecha, los que designan los permisos del propietario, el grupo y el resto del mundo.
A continuación se tiene su equivalente en letras:
1: – – x ejecución
2: – w – escritura
3: – w x escritura y ejecución
4: r – – lectura
5: r – x lectura y ejecución
6: r w – lectura y escritura
7: r w x lectura, escritura y ejecución
Cambiar permisos de acceso a los archivos y directorios

El siguiente link lleva a una Demo de cPanel, un buen lugar para practicar estos asuntos.
Cómo asigna los permisos de acceso un hosting seguro
Para que tu sitio web funcione sin problemas y de forma adecuada, deben colocarse los siguientes permisos en sus archivos:
Archivos HTML e imágenes
Necesitan tener la capacidad de ser leídos por todos.
El valor para ellos será 644 – Lectura por el usuario, el grupo y los demás; y escritura sólo por el usuario.
Este valor se coloca automáticamente cuando subes un archivo al hosting.
Todos los directorios necesitan ser ejecutables por otros
Su valor será 755 (todos pueden leer, sólo el usuario puede escribir y ejecutable por el usuario, el grupo y cualquier otro). Este valor se coloca auto cuando creas un directorio o carpeta.
El valor para ellos será 755 – Todos pueden leer, sólo el usuario puede escribir y ejecutable por el usuario, el grupo y cualquier otro.
Este valor se coloca auto cuando creas un directorio o carpeta.
Todos los ficheros CGI necesitan ser ejecutables por otros
Los ficheros CGI son todos los que se encuentran en la carpeta cgi-bin. Su valor es 755.
No se colocan en ese valor de modo auto al subir un archivo, hay que asignarlo de modo manual.
Cómo me desenvuelvo en cPanel para cerrar estos candados
Veamos los pasos necesarios para ejecutar estas tareas desde el File Manager o Administrador de archivos de cPanel:
Paso 1. Acceso a File Manager y navegas hasta el fichero o carpeta que desees modificar.
Paso 2. Click en su nombre.
Paso 3. Click en el link de la barra superior Change permissions.
Paso 4. Click en todo lo que necesites cambiar al permiso correcto. El número de la parte inferior equivalente a los valores asignados se actualizarán automáticamente.
Paso 5. Click en botón cambiar permisos.
El artículo Tutorial bases de datos MySQL en cPanel, podría sellar un par de conceptos más sobre los permisos de acceso.