GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo crear una partición Ext4 para todos los usuarios?

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! 🙂


Ubuntu
  1. Cómo encontrar todos los usuarios de Sudo en Linux

  2. Cómo restablecer la contraseña para sudo en Debian

  3. ¿Cómo establecer variables de ruta para todos los usuarios en un servidor?

  4. ¿Cómo cambiar el propietario de nuevo a la raíz?

  5. ¿Cómo hago que Sudo solicite la contraseña de root?

Cómo crear un usuario Sudo en Ubuntu

Cómo crear un nuevo sistema de archivos Ext4 (partición) en Linux

Cómo instalar Gibbon en Ubuntu 16.04

Cómo enumerar todos los usuarios en Linux

Cómo cambiar la contraseña de sudo en Ubuntu

Cómo crear un usuario Sudo en Ubuntu Linux