Tip: Proteger carpetas con contraseña en Ubuntu

Una de las funciones que más esperaba al pasarme de Windows a Linux (hace años ya) era proteger una carpeta con contraseña porque, seamos sinceros, si queremos esconder algún contenido en Windows no existe forma más que poner la carpeta como oculta y esconderla entre miles de subcarpetas. Pero eso no protege nada, bastaba entrar a opciones de carpeta (desde el navegador de archivos) escoger que se muestren las carpetas  archivos ocultos y voilá, nuestro contenido privado era vulnerable de nuevo. Vulnerable no solo de ser leído por otros sino (mucho peor) de ser modificado y hasta ¡ser borrado!

Había escuchado que en Linux si se podía aplicar protección con contraseña a las carpetas pero nunca encontré como hacerlo y es que no hay una opción en algún menú que sea intuitiva. Incluso ensayando a prueba y error di con una manera de hacerlo y muy alegre la posteé aquí. Sin embargo, al ser una solución empírica (sin usar teoría), obviamente, no era el método correcto.

El asunto es bastante sencillo pero requiere ciertos conocimientos teóricos. En este caso sobre los (este tip sirve sobre cualquier distro linux). Vamos por partes:

Un sistema Linux basa su seguridad en los permisos, por eso ni siquiera nosotros mismos podremos borrar archivos del sistema por error (en Windows puedes borrar toda tu carpeta Windows apretando solo una tecla; obviamente, la PC no vuelve a arrancar). Los son de tres tipos:

  • Lectura. Significa acceder al archivo y ver su contenido (su valor es 4)
  • Escritura. Significa modificar el archivo (su valor es 2)
  • Ejecución. Significa ejecutar el proceso contenido en el archivo, o ver el contenido de una carpeta (su valor es 1)

Además, los permisos se asignan según los usuarios en el siguiente orden: propietario (el propietario del archivo o directorio,) grupo (grupo de usuarios al que pertenece el archivo), otros (los demas usuarios). Por lo tanto si un archivo tiene los permisos 764 significa:

  • 7=4+2+1 El propietario puede leer, escribir y ejecutar el archivo.
  • 6=4+2+0 El grupo puede leer y escribir el archivo pero no puede ejecutarlo.
  • 4=4+0+0 Los demás usuarios podrán leer el archivo pero no podrán modificarlo ni ejecutarlo.

Eso suponiendo un archivo en concreto. Pero, ¿y si queremos modificar los permisos de ciertos archivos? Para eso existe el comando chmod.

Comando chmod

Este comando se usa para asignar permisos a achivos o directorios y su sintaxis es la siguiente:

chmod tipo-de-permisos ruta-del-archivo-o-carpeta

Supongamos que queremos darle todos los permisos a la carpeta juegos que está dentro de nuestro home. Deberíamos escribir:

sudo chmod 777 juegos

¿Y por qué escribí el nombre de la carpeta y no la ruta como indica la sintaxis?

Eso es porque cuando abrimos la está ya está en nuestro home. Así que no era necesario indicar la ruta de la carpeta juegos porque se hallaba en la misma ubicación que la sesión de . Ahora supongamos que le daremos los mismos permisos al archivo imagen.jpg que está dentro de la carpeta fiesta que a su vez está dentro de la carpeta fotos de nuestro home. En este caso sí debemos especificar la ruta (¿sen entiende por qué, no?)

sudo chmod 777 fotos/fiesta/imagen.jpg

La otra forma sería entrando a la carpeta a través de la :

cd fotos/fiesta

Para luego aplicar los permisos (como ya estamos dentro de la carpeta no es necesario indicar la ruta, solo el nombre del archivo):

sudo chmod 777 imagen.jpg

Proteger carpetas usando permisos

Si bien esto se ha hecho un poco largo, todo lo anterior es sumamente útil si se quiere proteger una carpeta pues, tarde o temprano la tendremos que desbloquear o en casos general, aprender a asignar permisos en fundamental en Linux. Veamos, ¿qué significa que el archivo X tiene los permisos 400?

  • 4=4+0+0 El propietario puede leer (4) pero no puede modificar (0) ni ejecutar (0)
  • 0=0+0+0 El grupo no puede leer (0) tampoco modificar (0) y tampoco ejecutar (0)
  • 0=0+0+0 Los demas usuarios no pueden leer (0) ni modificar (0) ni ejecutar (0).

¿Qué nos queda en claro de todo esto? Pues, que para negar todo permiso hay que asignar el valor 0. Y si queremos anular los permisos totales (incluso para nosotros mismos) habría que asignar el valor 0 a los tres tipos de usuarios. En otras palabras, si quiero proteger la carpeta privado que esta en mi home, bastaría con escribir en la :

sudo chmod 000 privado

Así de sencillo. Ya verás como Nautilus muestra la carpeta con un candado que indica la privacidad.

Pero si quieres más privacidad aún sería mejor ocultar la carpeta. Para eso basta colocar un punto al inicio del nombre de la carpeta (o del archivo). En nuestro caso debemos renombrar privado a .privado

Sin embargo, si lo intentas notarás que no se puede porque la carpeta no tiene permisos de escritura. Habría que primero devolverle los permisos con un chmod 777, luego cambiarle el nombre y por último cancelarle los permisos nuevamente con un chmod 000.

Ten en cuenta

Ahora tu carpeta estará protegida incluso para ti mismo. Para visualizar su contenido debes acceder como root.

Por último, el manejo de permisos no significa que si alguien accede a tu computadora y tiene los conocimientos suficientes pueda acceder a tus datos (hay formas no muy complicadas de hacerlo). Pero al menos, la gran mayoría (quizás todos) de tus conocidos no podrán acceder a tus datos privados. Sin embargo, si lo que quieres es protección total (de tal manera que ni el root del sistema pueda acceder sin una contraseña especial) debes encriptar los archivos.

Si te animas, Volkan Rivera escribió un excelente how to al respecto:

http://www.volkanrivera.com/esp/?p=773

Comparte este artículo:

  • Print
  • Facebook
  • Google Bookmarks
  • email
  • Live
  • Meneame
  • Twitter
  • Bitacoras.com
  • PDF
Si este artículo te gustó también puedes leer:
This entry was posted in Informática and tagged , , , , , , . Bookmark the permalink.

5 Responses to Tip: Proteger carpetas con contraseña en Ubuntu

  1. Pingback: Bitacoras.com

  2. Alexis says:

    Hola, Álvaro. Una pregunta: ¿en qué momento colocas la contraseña?

    • Para abrir la carpeta protegida tienes que acceder como root. La forma más rápida sería abrir una terminal y escribir

      sudo nautilus

      escribes tu contraseña y voilá, puedes acceder a todas las carpetas.

      Si este artículo te fue útil vota por mi blog haciendo clic en el botón amarillo de la barra lateral izquierda.

  3. Jorge says:

    Buenos dias Alvaro.

    Siguiendo con el tema que has iniciado.. tienes idea de lo que habria que hacer para que cuando un usuario quisiese entrar en una carpeta del servidor el sistema pidiese una contraseña y si el usuario pone la contraseña correcta tenga acceso a la carpeta…

    Este seria el caso para una carpeta de documentacion solo para miembros de la organización, no para todo el publico que accede a la web.

    Gracias de antemano y un abrazo desde el sur de España

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos requeridos, están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">