Acceso de escritura a las particiones de NTFS de Windows desde GNU/Linux Debian

0
12479

Creación: 26-07-2008

Índice de contenidos

1.Introducción
2. Entorno
3. Instalación
4. Configuración
5. Montando la partición con un usuario que no sea root
6. Conclusiones
7. Sobre el autor

1. Introducción

Desde hace mucho tiempo tenemos en el kernel de Linux un driver que nos permite acceder en modo lectura a las particiones NTFS de Windows. Incluso este driver nos permite acceder en modo de escritura, o más bien deberíamos decir en modo de sobreescritura, ya que sólo podemos sobreescribir archivos ya existentes y sin cambiar el tamaño.

Evidentemente esta forma de acceso es muy limitada, así que en este tutorial vamos a ver otro driver para poder acceder a las particiones NTFS de Windows en modo lectura/escritura sin restricciones.

El driver en cuestión se llama ntfs-3g, (http://www.ntfs-3g.org/), y ya lleva bastante tiempo entre nosotros, aunque no es muy conocido.


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Asus G1 (Core 2 Duo a 2.1 GHz, 2048 MB RAM, 120 GB HD).
  • Sistema Operativo: GNU / Linux, Debian (unstable), Kernel 2.6.25, KDE 3.5
  • ntfs-3g 1:1.253-1


3. Instalación

En Debian el driver ntfs-3g lo podemos encontrar en los repositorios oficiales, así que para instalarlo basta con hacer:

# apt-get install ntfs-3g

4. Configuración

Sólo con el punto anterior, root ya podría montar los discos manualmente con mount.

Si queremos facilitarnos la visa un poco, podemos dar de alta el dispositivo en el fichero /etc/fstab. Supongamos que tenemos una partición NTFS en /dev/sda1, podríamos poner algo como:

/dev/sda1 /media/windows ntfs-3g
defaults 0 1

Con esto le estamos diciendo que el dispositivo /dev/sda1 lo monte en el directorio /media/windows, usando el driver ntfs-3g con las opciones por defecto.

Al arrancar el sistema se montaría la partición automáticamente.


5. Montando la partición con un usuario que no sea root

Otra opción sería que no montáramos esta partición cada vez que arrancamos el sistema, sino que lo haga el usuario bajo demanda. Para esto tendríamos que configurar las siguientes cosas:

Primero cambiar la línea del fichero /etc/fstab y usar:

/dev/sda1 /media/windows ntfs-3g
defaults,user,noauto 0 1

Respecto al apartado anterior, hemos añadido la opción user para que cualquier usuario pueda montar esta unidad, y la opción noauto para que no se monte automáticamente al arrancar el sistema.

Ahora necesitamos que el usuario que va a ha montar la partición tenga permisos de escritura sobre el fichero /dev/sda1 (según nuestro ejemplo, es donde está partición NTFS). Para ello podemos meter al usuario en el grupo del fichero /dev/sda1, por ejemplo:

# adduser alex disk

Nota: El fichero /dev/sda1 se genera automáticamente en el arranque del sistema, así que si le cambiamos manualmente el grupo, al rearrancar el sistema se perderá el cambio. Si queremos crear un grupo específico para este fichero deberemos cambiar la configuración del sistema, pero eso se escapa del ámbito de este tutorial.

Ahora tenemos que activar el bit setuid-root del ejecutable /usr/bin/ntfs-3g. Esto puede suponer un agujero de seguridad ya que estamos indicando que el usuario que ejecute este comando tendrá privilegios de root (podría suponer una escalada de poder). Por esto tenemos que limitar lo más posible el uso de este comando. Vamos a limitar la ejecución al usuario root y al grupo disk. Para ello podemos ejecutar:

# chown root:disk
/usr/bin/ntfs-3g
# chmod 4750 /usr/bin/ntfs-3g

Nota: Otra posibilidad sería configurar el su para dar estos privilegios a un usuario concreto, pero esto se escapa del ámbito de este tutorial.

Ahora podemos reiniciar para asegurarnos de que los cambios los reconoce correctamente el sistema.

Ahora cualquier usuario del grupo disk podrá montar el dispositivo. Si usamos KDE será tan fácil como entrar con el konqueror en system:/media, y pinchar sobre el icono de la partición NTFS.

6. Conclusiones

Linux avanza cada vez más rápido, y es fácil perderle la pista, así que conviene estar al tanto de este tipo de cosas que pueden facilitarnos mucho el trabajo del día a día. Desde Autentia (www.autentia.com), con estos pequeños tutoriales, pretendemos echaros una manita.

7. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software)

Socio fundador de Autentia (Formación, Consultoría, Desarrollo de sistemas transaccionales)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – «Soporte a Desarrollo»

http://www.autentia.com

 

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad