Sé que suena como una pregunta duplicada, pero probé lo siguiente y no funcionó:
Mi unidad está montada debajo
/media/data
así que entré
sudo chown -R :users /media/data
Sin embargo, todavía no puedo escribir en esa partición como usuario.
También intenté hacer una entrada en /etc/fstab
UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0
pero después de eso mi computadora ya no pudo arrancar porque no pudo encontrar el disco.
Tengo instalado el servidor Ubuntu 14.04. La partición aparece en /dev/nvmeOn1p1
y no aparece en el /etc/fstab
(ver fotos a continuación).
(el dispositivo es un SSD "Intel DC P3700" de 800 GB)
Observación adicional:
Dado que la partición está vacía, también podría formatearla y recrearla usando gparted, por ejemplo. ¿Hay alguna forma en gparted u otros programas de interfaz gráfica de usuario de especificar que todos los usuarios deberían poder utilizar la partición?
Respuesta aceptada:
Tal vez estás haciendo las cosas en el orden incorrecto. Cuando crea un sistema de archivos con mkfs.ext4
, todo lo que contiene es propiedad del usuario raíz y del grupo raíz con los permisos predeterminados de su sistema configurados.
Cuando monta ese sistema de archivos en un directorio, ve los permisos y el propietario del sistema de archivos, independientemente del propietario original y los permisos en ese directorio.
Entonces hacer algo como esto no funcionará:
sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
sudo mount /dev/some/data /media/data
Lo correcto es crear el sistema de archivos, montarlo y luego cambiar los permisos y la propiedad en él. No importa lo que hagas en /etc/fstab.
La forma correcta de hacerlo es esta:
sudo mkfs.ext4 /dev/some/data
sudo mkdir /media/data
sudo mount /dev/some/data /media/data
sudo chown -R :users /media/data
sudo chmod -R g+rw /media/data
Esto debería responder a tu pregunta. Si necesita más detalles, siga leyendo.
Para comprender mejor lo que sucede, experimentemos un poco con un archivo de imagen
Cree un archivo vacío para formatear y montar usando fallocate -l 100MB /tmp/filesystem.img
. Luego formatéelo como un sistema de archivos ext4 con sudo mkfs.ext4 /tmp/filesystem.img
(no es un dispositivo de bloque, pero si responde que sí, puede poner un sistema de archivos ext4 en funcionamiento de todos modos) y cree un directorio para usar como punto de montaje mkdir /tmp/experiment
.
Ahora intente cambiar el propietario y los permisos en ese directorio con sudo chown -R :users /tmp/experiment
y sudo chmod -R g+rw /tmp/experiment
y verifique los permisos con ls -la /tmp/experiment
. Obtendrás algo como esto:
ls -la /tmp/experiment/
total 0
drwxrwx--x 2 gerlos users 40 feb 19 10:37 .
drwxrwxrwt 8 root root 180 feb 19 10:38 ..
Esto le indica que /tmp/experiment es propiedad del usuario gerlos y los usuarios del grupo, y los miembros del grupo pueden leer, escribir y ejecutar en él. Puede poner archivos en él, por ejemplo con touch /tmp/experiment/somefile
.
Ahora monte el sistema de archivos en ese directorio con sudo mount /mnt/filesystem.img /tmp/experiment
, y vuelve a mirar ls
salida:
$ ls -la /tmp/experiment/
total 13
drwxr-xr-x 3 root root 1024 feb 19 10:41 .
drwxrwxrwt 8 root root 180 feb 19 10:41 ..
drwx------ 2 root root 12288 feb 19 10:41 lost+found
Como puede ver, ahora /tmp/experiment parece ser propiedad de root, ¡con diferentes permisos! ¿Por qué? Porque no estamos viendo /tmp/experiment en sí mismo, sino el directorio raíz del sistema de archivos contenido en /mnt/filesystem.img, montado en /mnt/experiment.
Relacionado:18.04:¿Por qué tanto Xorg como Xwayland?
Además, su usuario normal no podrá colocar archivos allí con touch /tmp/experiment/anotherfile
.
Si ahora vuelve a intentar ejecutar chown
y chmod
como arriba, cambiará el propietario y los permisos no en el punto de montaje, sino en el sistema de archivos montado , y sus usuarios podrán utilizar el sistema de archivos. Para confirmar esto, mire la salida de ls por última vez:
$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users 1024 feb 19 10:41 .
drwxrwxrwt 8 root root 180 feb 19 10:45 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found
Como puede ver, ahora los miembros del grupo de usuarios pueden colocar archivos en el sistema de archivos. De hecho, nada impide que su usuario normal cree un nuevo archivo allí con touch /tmp/experiment/myfile
:
$ ls -la /tmp/experiment/
total 13
drwxrwxr-x 3 root users 1024 feb 19 11:05 .
drwxrwxrwt 8 root root 180 feb 19 11:02 ..
drwxrw---- 2 root users 12288 feb 19 10:41 lost+found
-rw-rw---- 1 gerlos gerlos 0 feb 19 11:02 myfile
¡Misión cumplida! 🙂