Necesito averiguar cómo establecer los permisos de una unidad flash USB a nivel de dispositivo (no de sistema de archivos). En otras palabras, necesito conceder el usuario acceso de lectura/escritura a un dispositivo USB identificado por diskutil
que es /dev/diskX
donde X es un número entero.
Por ejemplo, inserto una memoria USB y según diskutil
su identificador es /dev/disk5
. Si compruebo los permisos de la misma:
$ ls /dev/disk5*
brw-r----- 1 root operator 1, 15 May 15 08:35 /dev/disk5
brw-r----- 1 root operator 1, 16 May 15 08:35 /dev/disk5s1
brw-r----- 1 root operator 1, 17 May 15 08:35 /dev/disk5s2
Tiene root:operator
propiedad y rw
acceso limitado a Root y r
acceso a operators
sólo (por eso debe emitir comandos que modifiquen el dispositivo como sudo
).
Lo que tengo que hacer es dar rw
acceso al operador también y no es tan simple como sólo chmod 660 /dev/disk5
. En el momento en que desenchufas el dispositivo y lo vuelves a enchufar, pierde los permisos.
¿Por qué tengo que hacer esto?
Necesito arrancar una unidad flash USB en VirtualBox. Para ello, tengo que ser capaz de crear una imagen de disco "cruda" como un passthrough al dispositivo USB real. El problema es que, para hacer esto, debo emitir el comando a través de sudo
que luego cambia el usuario que estoy ejecutando VBoxManage
lo que provoca una serie de errores ya que root
tiene un entorno completamente diferente al del usuario conectado.
Esto se puede lograr en FreeBSD (estoy seguro de que en Linux también a través de un método diferente) modificando el archivo devfs.rules
y añadiendo una línea como
add path 'da*' mode 0660 group operator
Lo que esencialmente da rw
acceso a cualquier dispositivo de almacenamiento USB (el almacenamiento USB es identificado por FreeBSD como /dev/da0
, /dev/da1
etc.)
¿Cómo puedo hacer esto en MacOS?
0 votos
Sospecho que tendrías que hacer un mapeo autofs persistente. MacOS podría almacenarlos en el directorio local (como en LDAP).