Cuando conecto mi disco duro externo, inserto un DVD o intento ver lo que tengo en mi unidad USB, el resultado habitual es un comportamiento peculiar.
Los sistemas de archivos se montan bien. Cuando inicio sesión como root sudo su
, puedo ver el contenido de la /media/casper/externaldrive
perfectamente bien. Sin embargo, mi usuario no casper
puede. Ubuntu responde a cada acción que involucra la ubicación Permission denied
:
casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied
Decidí investigar un poco los permisos (problemas) de la /media
carpeta. Como casper
, veo lo siguiente:
casper@casper-desktop:/media$ ls -alF
total 16
drwxr-xr-x 4 root root 4096 apr 21 17:47 ./
drwxr-xr-x 25 root root 4096 jul 29 15:43 ../
drwxr-x--- 3 root root 4096 aug 3 21:02 casper/
lrwxrwxrwx 1 root root 45 apr 21 17:47 .directory -> /etc/kubuntu-default-settings/directory-media
lrwxrwxrwx 1 root root 42 apr 21 17:47 .hidden -> /etc/kubuntu-default-settings/hidden-media
drwxr-xr-x 2 root root 4096 feb 29 23:56 home/
Lo que me llamó la atención fue que decía total 16
, aunque solo hay a lo sumo 6 listados. Entonces ejecuté el comando nuevamente, pero como root
. El resultado fue el mismo, raro. (¿Alguien puede iluminarme sobre esto?)
De todos modos, lo que me sorprendió aún más fue que el /media/casper
directorio no es mío y que tampoco puedo acceder a mí. Tuve la tentación de chown -R
sacar solo las bazinkas, pero después de recuperarme, busqué en Google algo así como "Carpeta de usuario de medios, no la mía, ayúdame".
Me tomó un tiempo, pero finalmente me topé con este hilo, donde los usuarios explican el propósito de las 750 root:root /media/user
carpetas. Se asegura de que solo la raíz pueda montar, ver y administrar sistemas de archivos allí, de los cuales los permisos individuales se cambian al usuario real.
Entonces, si mi información era correcta, los /media/casper/externaldrive
permisos deberían ser favorables para mí. Lo comprobé,
root@casper-desktop:/media/casper# ll
total 12
drwxr-x--- 3 root root 4096 aug 3 21:02 ./
drwxr-xr-x 4 root root 4096 apr 21 17:47 ../
drwxrwxrwx 1 casper casper 4096 aug 3 20:20 externaldrive/
Y este parece ser el caso.
Entonces aquí es donde estoy atrapado. El sistema de archivos tiene permisos para mí a través del árbol de directorios, pero no puedo acceder a un solo archivo. Esto es lo mismo para los CD y las unidades USB.
¿Quién puede ayudarme a acceder a mi preciosa?
Ah, y por cierto. El hilo antes mencionado habla de ACL en estas /media/user
carpetas, indicado por un +
después de los permisos regulares, como drwxr-x---+ 3 root root
. Mi sistema no muestra esto. ¿ACL en estas carpetas es estándar para Ubuntu o el usuario tenía cosas especiales que hacer? ¿Debería preocuparme de dónde es de donde viene mi problema?
Gracias por leer.
fuente
ls
total de bloques de 1 KB utilizados por los archivos en el directorio, no de forma recursiva. Ver unix.stackexchange.com/a/4110/44281 .drwxr-x--- 3*
?Respuestas:
Dado que los permisos y la propiedad de
/media/casper
sonSin no
+
para las ACL ( Listas de control de acceso ) está claro que solo el root puede abrir, ingresar, leer o escribir en este directorio. Los usuarios humildes como nosotros obtienen los permisos al final de la cadena---
:(Las personas sin privilegios obtienen permiso para acceder a esta ubicación con ACL. No estoy seguro de por qué aún no los tiene, pero puede configurarlos, lo que puede ser simple o requerir un pequeño retoque:
acl
Se requiere el paquete (consultarapt-cache policy acl
)acl
opciónPara verificar esto último (reemplace
sdxY
apropiadamente para su partición raíz):debería volver:
Las opciones de montaje predeterminadas se establecen en
/etc/mke2fs.conf
Pueden anularse, así que verifique:
se parece a algo como:
Lo anterior está bien, (
acl
no es necesario mencionarlo) pero si dicenoacl
que necesita cambiarlo.Puede agregar la opción a las opciones de montaje predeterminadas como esta:
O puede agregar
acl
a las opciones para la línea de partición raíz,/etc/fstab
por ejemplo:Con las ACL habilitadas, utilícelas
setfacl
para agregar permisos usted mismo. Para otorgarusername
permisos de lectura y ejecución en / media / casper (necesita permiso de ejecución para ingresar a un directorio o buscar su contenido):Puede reemplazar
username
con uid (probablemente lo esté1000
- verifique con elid
comando)para ver los permisos de ACL que usa
getfacl
como hizo Oli en su respuestaPara eliminar los permisos de ACL de un usuario
Para borrar todos los permisos de ACL
Nota: hice trampa y me hice una pregunta sobre por qué hay tantas entradas
/media
. La respuesta esta aquifuente
apt-cache policy acl
devoluciones ACL está instalado y más reciente.Default mount options
mencionesacl
.cat /proc/mount
no mencionanoacl
. Así que supongo que ahora necesito agregar los permisos de ACL manualmente, ya que por alguna razón no están hechos. Utilicé los comandos que describiste para darme permisos rx para el/media/casper
directorio y me alegra decir que puedo acceder a mis medios externos nuevamente. Gracias Zanna!Cuando desee otorgar permiso de acceso a una unidad de Windows desde Ubuntu
El
chmod
comando normal no funcionará si se trata de una unidad Windows NTFS.Lo siguiente funciona para mí.
Abre el archivo
/etc/mtab
:Encuentre el nombre de la unidad en este archivo (simplemente pase el mouse sobre la unidad para la que está buscando una solución, en mi caso, la GUI muestra un nombre diferente y al mostrar el mouse sobre ella
/media/user-name/drive-name
)Ahora en
/etc/mtab
:Busque el nombre de la unidad en el archivo y verifique a qué unidad está asignada su unidad montada (en mi caso -
/dev/sda4
)Ahora monte esta unidad con:
Ahora puedo ejecutar mis ejecutables, pero no podré ver el contenido del nombre de la unidad, así que desmonté la unidad y la volví a montar.
fuente