Je sais que cela ressemble à une question en double, mais j'ai essayé ce qui suit et cela n'a pas aidé :
Mon disque est monté sous
/media/data
donc j'ai entré
sudo chown -R :users /media/data
Cependant, je ne peux toujours pas écrire sur cette partition en tant qu'utilisateur.
J'ai également essayé de créer une entrée dans le /etc/fstab
UUID=... /media/data ext4 rw,suid,dev,exec,auto,user,async 0 0
mais après cela, mon ordinateur ne pouvait plus démarrer car il ne trouvait pas le disque.
J'ai installé le serveur Ubuntu 14.04. La partition est répertoriée sous /dev/nvmeOn1p1
et n'apparaît pas dans le /etc/fstab
(voir photos ci-dessous).
(l'appareil est un SSD "Intel DC P3700" de 800 Go)
Remarque supplémentaire :
Puisque la partition est vide, je pourrais également la formater et la recréer en utilisant gparted par exemple. Existe-t-il un moyen dans gparted ou dans d'autres programmes d'interface graphique de spécifier que la partition doit être utilisable par tous les utilisateurs ?
Réponse acceptée :
Peut-être que vous faites les choses dans le mauvais ordre. Lorsque vous créez un système de fichiers avec mkfs.ext4
, tout ce qu'il contient appartient à l'utilisateur root et au groupe root avec les autorisations par défaut de votre système.
Lorsque vous montez ce système de fichiers sur un répertoire, vous voyez les autorisations et le propriétaire du système de fichiers, quels que soient le propriétaire d'origine et les autorisations sur ce répertoire.
Donc, faire quelque chose comme ça ne fonctionnera pas :
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
La bonne chose à faire est de créer le système de fichiers, de le monter, et puis modifier les autorisations et la propriété sur celui-ci. Peu importe ce que vous faites dans /etc/fstab.
La bonne façon de procéder est la suivante :
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
Ceci devrait répondre à votre question. Si vous avez besoin de plus de détails, lisez la suite.
Pour mieux comprendre ce qui se passe, expérimentons un peu avec un fichier image
Créez un fichier vide à formater et à monter en utilisant fallocate -l 100MB /tmp/filesystem.img
. Formatez-le ensuite en tant que système de fichiers ext4 avec sudo mkfs.ext4 /tmp/filesystem.img
(ce n'est pas un périphérique bloc, mais si vous répondez oui, vous pouvez quand même y mettre un système de fichiers ext4 fonctionnel) et créez un répertoire à utiliser comme point de montage mkdir /tmp/experiment
.
Essayez maintenant de changer le propriétaire et les autorisations sur ce répertoire avec sudo chown -R :users /tmp/experiment
et sudo chmod -R g+rw /tmp/experiment
, et vérifiez les autorisations avec ls -la /tmp/experiment
. Vous obtiendrez quelque chose comme ceci :
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 ..
Cela vous indique que /tmp/experiment appartient à l'utilisateur gerlos et aux utilisateurs du groupe, et que les membres du groupe peuvent lire, écrire et exécuter dessus. Vous pouvez y mettre des fichiers, par exemple avec touch /tmp/experiment/somefile
.
Montez maintenant le système de fichiers sur ce répertoire avec sudo mount /mnt/filesystem.img /tmp/experiment
, et regardez à nouveau ls
sortie :
$ 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
Comme vous pouvez le voir, maintenant /tmp/experiment semble appartenir à root, avec des permissions différentes ! Pourquoi? Parce que nous ne regardons pas /tmp/experiment lui-même, mais le répertoire racine du système de fichiers contenu dans /mnt/filesystem.img, monté sur /mnt/experiment.
Connexe :18.04 : Pourquoi Xorg et Xwayland ?
De plus, votre utilisateur normal ne pourra pas y mettre de fichiers avec touch /tmp/experiment/anotherfile
.
Si vous essayez à nouveau d'exécuter chown
et chmod
comme ci-dessus, vous changerez le propriétaire et les autorisations non pas sur le point de montage, mais sur le système de fichiers monté , et vos utilisateurs pourront utiliser le système de fichiers. Pour confirmer cela, regardez une dernière fois la sortie de ls :
$ 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
Comme vous pouvez le constater, les membres du groupe d'utilisateurs peuvent désormais placer des fichiers sur le système de fichiers ! En fait, rien n'empêche votre utilisateur normal d'y créer un nouveau fichier avec 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
Mission accomplie! 🙂