domingo, 12 de diciembre de 2010

Samba: compartir un sistema ntfs en Ubuntu 10.10

Hay distintos escenarios:

Nota para todos los escenarios: Voy a utilizar la herramienta de Nautilus (clic derecho, opciones de comparticion) para compartir recursos, otra forma es modificar el archivo /etc/samba/smb.conf, pero aqui intento utilizar las herramientas provistas por Ubuntu 10.10

Escenario 1: Ubuntu 10.10 desktop y automunt.

Cuando se produce un automunt o desde el menu lugares, Ubuntu hace propietario del punto de montaje al usuario, y le asigna permisos de lectura
y escritura. Sin embargo los atributos para otros usuarios son nulos: -rw------- 1 sg sg

Si el sistema montado es ntfs, el volumen montado adopta los permisos y propietario que tenga el directorio utilizado como punto de montaje y no puede ser modificado luego con chmod ni chown, al menos al dia de hoy: http://es.wikipedia.org/wiki/NTFS-3G

Si se quiere compartir algun recurso en ese punto de montaje, es posible, pero solo será accesible remotamente con el mismo usuario que montó la particion.
Digamos que el usuario "sg" montó un disco extraible con formato ntfs, entonces podrá compartir algun directorio de ese volumen, pero solo sg podrá
accederlo remotamente.
El modo de hacerlo es agregar el usuario al sistema samba:

smbpasswd sg

El comando solicita la contraseña, la cual, no necesariamente, tiene que ser la del sistema linux, incluso puede quedar vacia.
Pude comprobar que, independientemente de la contraseña, si el usuario samba es el mismo que el usuario ubuntu, ubuntu lo acepta como el mismo usuario; con lo cual puede crear y modificar archivos.

Si necesito acceder remotamente con otro usuario, digamos "operador", ese ya es un problema pues, a pesar de que puedo crear el usuario en el sistema samba, no es posible cambiarle ni propietario ni atributos al volumen montado (ver mas arriba en negrita)

No encontré solucion para este escenario. Solo el usuario, sg en este caso, puede acceder remotamente.
Eso es un problema, ya que en una red en la que todos estan acostumbrados a acceder al recurso sin ingresar usuario y pass, ya que son "operador", se complica explicarle a cada uno que deberán ingresar el usuario sg para acceder al recurso.

Obviamente que no ocurre lo mismo con un directorio en sistema ext4 (ext3, etc), ya que linux sí permite asignar distintos propietarios y atributos al sistema de archivos nativo.

Escenario 2: Ubuntu 10.10 Desktop y montaje hecho por root desde consola o fstab:

Para resolver el problema del escenario 1 hice lo siguiente:
Como root creé un directorio de montaje llamado "Disco". Aqui el problema es que el propietario del recurso será root, pero lo resuelvo asignandole permisos totales para todos:

mkdir /media/Disco
chmod 777 /media/Disco/

Luego monté la particion ntfs:

mount /dev/sda4 -t ntfs-3g /media/Disco/

El parametro -t ntfs-3g puede obviarse pero en este caso lo dejo mas que nada para destacar el tipo de sistema que se esta montando.
Para automatizar el montaje desde fstab, hay que agregar la siguiente linea:
UUID=D82C26B52C268F16 /media/Disco ntfs-3g defaults

En donde el UUID se obtiene con el comando:
blkid /dev/sda4

El comando blkid esta explicado en el mismo fstab, bueno, al menos el fstab que trae ubuntu 10.10

Con esto, el sistema queda montado con permisos de lectura y escritura para cualquier usuario. Con lo que ahora tanto sg como operador y cualquier otro usuario, podran acceder remotamente y modificar libremente, siempre y cuando samba haya permitido el acceso.
Y justamente, aqui se presentó otro problema: Al ser propietario root del directorio utilizado como punto de montaje (/media/Disco), samba, por las politicas por defecto que tiene, no permitia compartir el recurso. El mensaje que da al intentar compartir es este:

La «red compartida» devolvió el error 255: net usershare add: cannot share path /media/VERBATIM/Public as we are restricted to only sharing directories we own.
Ask the administrator to add the line "usershare owner only = false"
to the [global] section of the smb.conf to allow this.

Por suerte, ademas del codigo de error, tambien da la solucion. Ojalá todo en Ubuntu o cualquier otro SO, fuera asi.

Solo bastó agregar la siguiente linea en la seccion [global] de /etc/samba/smb.conf:
usershare owner only = false

Y luego ejecutar:
restart smbd

Este ultimo comando, para mi fue una sorpresa, ya que estaba acostumbrado a hacer:
/etc/init.d/smbd restart

Por suerte, otra vez linux me auxilio, y no solo informó de un error al ejecutar ese comando, sino que sugirió el modo de hacerlo correctamente.

Escenario 3: El sistema del recurso a compartir es ext2, ext3, etc.

Bueno, aqui las cosas son simples. Ya mencioné que linux permite adaptar los permisos de estos recursos sin problemas.

jueves, 9 de diciembre de 2010

Bug del Modo protegido de Internet Explorer 8

El modo protegido de internet explorer 8 solo funciona con sistemas operativos Windows Vista o versiones superiores.
Basicamente sirve para dar seguridad contra las vulnerabilidades. O sea, uno puede tener una vulnerabilidad pero el modo protegido evita que un codigo dañino pueda ejecutarse en nuestro equipo, sin importar la vulnerabilidad que se este aprovechando.

Me ocurrió que si intentaba imprimir una pagina web a un archivo, digamos, por ejemplo, mediante la impresora virtual tinypdf, el documento no se guardaba como era de esperar.
Sin embargo, al intentar imprimir nuevamente, el asistente para guardar el archivo, dejaba ver el archivo anterior "perdido". O sea, el archivo estaba pero no estaba. El unico medio para visualizarlo era el asistente para imprimir de IE8.
El archivo existia pero no era visible, por ningun medio, en el directorio en cuestion.
La solucion:
El modo protegido crea un directorio virtual ubicado en:
C:\Users\Usuario\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\
Con lo que, los archivos que se pretendan guardar en c:\users\Usuario\Desktop
Se guardan en primera instancia en :
......\Virtualized\C\Users\Usuario\Desktop
Luego, si se considera segura la transaccion, se guardarán en la ruta "real"
En el caso de una impresión mediante tinypdf, el proceso se trunca y el resultado final es que no se guarda el documento.
Ahora ya sabemos en donde buscar documentos perdidos a causa del modo protegido.
Una solución para evitar contratiempos es desactivar el modo protegido, a nuestro riesgo.

Gracias a José Perez que me ayudó a encontrar el maldito archivo "fantasma".