En mi Mac, estoy usando una partición HFS no marcada para compartir archivos entre OSX 10.8 y Ubuntu 12.04.
Al principio fue un buen pensamiento, porque Time Machine automáticamente respaldará el volumen en OSX, pero pronto me di cuenta de que OSX y Ubuntu se meten con el permiso de una manera que me complica las cosas.
Entonces, para ver y cambiar completamente los archivos, sigo usando chmod
para aplicar permisos que me permitirán usar completamente un documento. Pero no entiendo por qué tengo que seguir aplicando cambios una y otra vez .
¿Es posible establecer algún tipo de permiso de forma permanente para que ambos sistemas operativos lo respeten permanentemente?
Supongo que 777 funcionará, pero pensé que esto no es algo inteligente. Pero mientras 'otros' no tengan acceso completo (terceros siete), veo un icono de candado en el archivo en ubuntu.
12.04
macosx
partitions
hfs+
Seth
fuente
fuente
774
permisos.Respuestas:
Los nombres de usuario son irrelevantes. Los permisos tanto en los sistemas de archivos nativos de HFS + como de Linux se almacenan en términos de ID de usuario (UID), que son números asociados con nombres de usuario. En Ubuntu, como en la mayoría de las distribuciones modernas de Linux, el primer usuario recibe un UID de 1000 por defecto. En OS X, el primer usuario recibe un UID de 501 por defecto. Por lo tanto, al compartir medios que codifican valores de UID, es probable que los valores de UID no coincidan.
Una forma de solucionar esto es estableciendo permisos sueltos (el valor del modo, como en
rwxr-xr-x
, o 755 en octal). Tenga en cuenta que el código octal de permisos no es el mismo que el valor UID. En cualquier sistema operativo, puede establecer los permisos predeterminados utilizados en los archivos con elumask
comando, que especifica el valor de bit que se eliminará de los permisos de archivo. Por ejemplo,umask 022
elimina el permiso de escritura para el grupo y otros permisos, lo que resulta en 755 (rwxr-xr-x
) permisos en archivos nuevos (o 644 si algo elimina el bit de permiso de ejecución, que es una práctica común para los archivos). Sin embargo, esta es en gran medida una herramienta de línea de comandos; si es en gran medida un usuario de GUI, necesitará encontrar otra herramienta para hacer el trabajo, probablemente relacionada con los valores predeterminados de su entorno de escritorio. Esto puede ser oscuro y estar mal documentado. Además, establecer permisos sueltos de esta manera puede tener inconvenientes de seguridad, especialmente si el suyo es un sistema multiusuario.Un mejor enfoque es sincronizar los UID de su cuenta en Linux y OS X. Puede cambiar fácilmente el valor de UID en Linux con el
usermod
comando, como en:Este comando establece el UID para
dale
501. Sin embargo, hay algunas advertencias importantes:usermod
debe usarse comoroot
. Puede ejecutarlo a través desudo
, pero hacerlo desde la cuenta que está modificando es extremadamente desaconsejable. Por lo tanto, deberá proporcionarroot
una contraseña e iniciar sesiónroot
directamente o usarlasudo
desde una segunda cuenta de usuario.usermod
comando no cambiará la propiedad de ningún archivo propiedad del usuario en cuestión. Para ajustar la propiedad de esos archivos, deberá localizarlos y luego cambiar su propiedad conchown
. La mayoría de los archivos estarán en el directorio de inicio del usuario, por lo quechown -R dale: /home/dale
, escritaroot
después de cambiardale
el UID, cambiará la mayoría dedale
los archivos para usar el nuevo número de UID. Sin embargo, algunos de los archivos del usuario pueden estar ubicados en otro lugar. Al escribirfind / -uid 1000
encontrará todos los archivos que usan el UID anterior (suponiendo que fuera 1000). Tenga en cuenta que estefind
comando probablemente tardará varios minutos en completarse. Para acelerarlo, desmonte cualquier sistema de archivos en el que esté seguro de que no encontrará resultados, como los volúmenes FAT o NTFS./etc/fstab
entrada, es posible que deba ajustar el valor de UID que especifica./etc/login.defs
. Si no cambia elUID_MIN
valor en este archivo, es probable que descubra que su cuenta parecerá "desaparecer" de la pantalla de inicio de sesión de la GUI, y quizás de algunos otros sistemas. Por lo tanto, debe editar ese archivo.En teoría, podría cambiar el UID de su (s) cuenta (s) OS X de una manera similar para lograr el mismo objetivo. Sin embargo, estoy menos familiarizado con las herramientas de mantenimiento de cuentas de OS X, por lo que no puedo proporcionar instrucciones explícitas para hacerlo. Ajustar los valores de OS X tendría la ventaja de no tener que ajustar
UID_MIN
en Linux.Si tiene varias cuentas en su computadora, debe ajustarlas todas para mantenerlas sincronizadas en las instalaciones de su sistema operativo.
Un punto más: el valor de ID de grupo (GID) se almacena de manera similar. IIRC, Ubuntu asigna un valor GID para cada cuenta que es idéntico a su valor UID. No recuerdo qué hace OS X por defecto. Es posible que desee ajustar los valores de GID para los dos sistemas operativos de forma análoga a los cambios de UID, pero es probable que esto no sea tan importante como ajustar los valores de UID.
EDITAR: si desea cambiar su UID (y GID, si lo desea) en macOS / OS X en lugar de en Ubuntu, puede hacerlo. Como esta modificación en macOS está más allá del alcance de este sitio, solo enlazaré a algunas páginas que proporcionan procedimientos para hacerlo en macOS:
fuente
UID_MIN
.He descubierto que a veces puede hacer clic en una carpeta que le gustaría compartir y presionar comando + I. Luego haga clic en el candado e ingrese su contraseña si no está desbloqueada. Luego, donde dice "todos", elija leer y escribir.
Otra cosa que funciona es configurar una carpeta como una "carpeta compartida", puede hacerlo en el panel de preferencias de uso compartido en las preferencias del sistema.
Vaya a las preferencias del sistema> compartir> compartir archivos. Luego, comparta que la casilla para compartir archivos está marcada y agregue la carpeta que desea compartir con el botón más. Luego puede cambiar los permisos para leer y escribir.
UNA NOTA: ¡usar la segunda opción también abrirá su computadora para permitir el acceso a la carpeta de su elección a través de Internet (solo mientras se inicia en os x)! Haga que tenga una contraseña segura y que probablemente la desactive en lugares públicos (¡no olvide obtener su sombrero de papel de aluminio!)
fuente
774
.Abra una terminal y:
En OS X, intente esto
En Ubuntu, ejecuta esto
Ahora debería poder usar
774
o incluso770
para permisos de archivo.fuente
<ubuntu-username>
con tu nombre de usuario real en Ubuntu (idem for<os-x-usernanme>
)? ¿Y puede ser más específico sobre los errores que OS X le da al intentar ejecutar este comando?adduser
no sale.