Actualmente estoy montando una partición NTFS al inicio usando la siguiente línea en / etc / fstab:
/dev/sda3 /media/data ntfs nls=iso8859-1,umask=000
Para mi instalación de Ubuntu 11.10, parece que todos los archivos y carpetas son propiedad de root
, y dado que NTFS realmente no admite el mismo sistema de administración de derechos, no hay forma de que pueda cambiarlo una vez que se complete el montaje. No importa lo que haga, en ls -l
cualquier lugar de la partición NTFS se enumerarán todos los archivos y carpetas que sean de su propiedad root:root
.
Sin embargo, esto me causa algunos problemas. En particular, algunas aplicaciones que se ejecutan en mi cuenta (llamada tomas
) se quejan de los derechos de acceso. Además, cada vez que intento copiar ( cp
) o mover ( mv
) archivos de una de mis particiones ext3 a la partición NTFS, recibo mensajes de error que dicen
mv: preserving times for `[path to new file]`: Operation not permitted
o, de manera similar
mv: preserving permissions for ...
¿Montar la partición en mi nombre en lugar de la ayuda de root? Si es así, ¿cómo lo logro en fstab?
Actualizar:
Ahora he cambiado las opciones de acuerdo con las sugerencias, y llegué a esto:
nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas
ls -l
ahora muestra todos los archivos que poseo en lugar de root, y parece que algunos de los problemas que tenía antes están resueltos. Sin embargo, no todos ellos.
Cuando inicio Eclipse, aparece el error de que no se puede ejecutar un archivo relacionado con Android-SDK: permiso denegado. ls -l
me dice lo siguiente sobre el archivo:
-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*
Esto se ve como yo quiero. Pero si trato de ejecutarlo ( ./adb
en un terminal) también obtengo errores de permiso denegado. Pero si lo ejecuto sudo
, funciona (creo, al menos no me da un mensaje de error, pero no me da ningún resultado, lo que creo que no debería ...)
¿Por qué el archivo anterior, con permisos de ejecución para cualquier persona , aún no es ejecutable por nadie más que root
? ¿Cómo cambio la forma en que monto el sistema de archivos?
Actualización 2:
Bien, ahora he llegado un poco más lejos. Al montar con estas opciones
nls=iso8859-1,permissions,users,auto
Obtuve todos los permisos configurados de la manera que espero, chown
y chmod
realmente cambié la configuración de los archivos (al menos según ls -l
) = D
PERO mi sistema todavía se comporta de una manera extraña. Los permisos para el adb
archivo de script aparecen como arriba, pero ni yo ni Eclipse podemos ejecutarlo sin errores de "Permiso denegado". Pero por lo que puedo ver, el archivo tiene todas las banderas requeridas establecidas ( o=rwx
debería ser suficiente, ¿verdad?). ¿Por qué no funciona?
Actualización 3
OK, tengo todo funcionando en el lado de Ubuntu, con las siguientes opciones:
nls=iso8859-1,permissions,users,auto,exec
Sin embargo, cuando intento acceder a los archivos en la partición desde Windows, la configuración de seguridad está en mal estado. En todos los archivos (de los pocos que he examinado), Account Unknown(long GUID)
se ha agregado una nueva cuenta llamada a la lista de usuarios, y tiene todos los derechos. Los derechos para la mayoría de los demás usuarios se reducen, por lo que no tengo derechos para hacer las cosas que espero. En particular, "Todos" ya no parece tener derecho a "Recorrer carpeta / ejecutar".
Esto podría resolverse simplemente seleccionando la partición y permitiendo a Todos hacer cualquier cosa en la carpeta raíz, y luego decirle que lo haga de forma recursiva, pero prefiero no hacerlo, ya que me temo que llevará días completarlo ...
fuente
users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid)
. Por lo tanto, agregueexec
a sus opciones y creo que el problema de permiso denegado para la ejecución debe resolverse.Respuestas:
En la columna de opciones, agregue
permissions
yauto
(y probablementeuser
ousers
)permissions
: (Opción NTFS-3G) Establezca permisos estándar en archivos creados y use control de acceso estándar.auto
: Se montará en el arranque y desdemount -a
user
: Permitir que un usuario normal monte el sistema de archivosusers
: Permitir que cada usuario monte y desmonte el sistema de archivosLuego cambie la propiedad del sistema de archivos:
Mi linea en
/etc/fstab
Montar y enumerar permisos
Cambiar la propiedad y enumerar nuevos permisos
Por defecto, ntfs-3g monta la partición noexec, nosuid y nodev.
noexec
: No permita la ejecución directa de ningún binario en el sistema de archivos montado.nosuid
: No permita que los bits set-user-identifier o set-group-identifier tengan efecto.nodev
: No interprete caracteres ni bloquee dispositivos especiales en el sistema de archivos.Para anular esto y permitir la ejecución de archivos, use
exec
Ahora tenemos
fuente
nls=iso8859-1,permissions,users,umask=000
:) y reiniciar, ahora puedo mover y copiar archivos sin mensajes de error. Sin embargo, todos los archivos siguen apareciendo como propiedadroot:root
, incluso despuéssudo chown -R tomas:tomas /media/data
. No parece ser un problema por ahora, pero por curiosidad: ¿por qué es eso?umask=000
umask=000
es equivalente achmod 777
- umask define todos los indicadores que no desea establecer en los archivos. Estoy de acuerdo en que es contraintuitivo, pero todo está aquí: ubuntuforums.org/showpost.php?p=9092899&postcount=4Use las opciones
uid
ygid
(o use la función de mapeo de usuario) de mount.ntfs (8)fuente
uid
ygid
trabajo, pero los permisos ahora son compatibles con ntfs-3g, y esas opciones anulan lapermissions
opción. Ver: b.andre.pagesperso-orange.fr/permissions.htmlnls=iso8859-1,permissions,users
, desmonte y vuelva a montar la partición?root:root
y Eclipse se queja de los permisos.El mío funciona ahora perfectamente cuando cambio la línea de fstab a
fuente
¿Qué hay de usar
udisks
? Puede montar fácilmente particiones NTFS con su usuario como propietario.Ejemplo (escríbalo en la línea de comando):
También puede agregar ese comando a las aplicaciones de inicio y se montará automáticamente cuando inicie sesión.
Referencia: AutomaticallyMountPartitions
fuente