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»