Résolution des problèmes d'autorisation lors de l'utilisation d'un disque dur externe EXT4 avec plusieurs installations Linux


18

J'ai un disque dur externe et comme j'utilise uniquement Ubuntu et Fedora, je décide de formater mon disque dur en ext4, tout va bien.

Le problème est que lorsque je monte le lecteur, je dois modifier l'autorisation pour pouvoir lire et écrire.

Quel type d'autorisation dois-je utiliser? adm mon nom d'utilisateur?

Réponses:


5

Même si cela peut être de moi, je vais devoir répondre à la question par une autre question. Si tout ce dont nous parlons est pour un système d'exploitation, ce serait soit

sudo chown -R (user name) /dev/(device name)

( Ubuntu )

ou juste

chown -R (user name) /dev/(device name)

fedora - nonsudo, il suffit d'exécuter la commande depuis root.

La partie de scratcher de nouilles, et la partie pour laquelle je n'ai pas de bonnes réponses, est de savoir comment le faire pour que vous n'ayez pas à retaper manuellement lorsque vous faites des allers-retours entre les distributions. Je serais presque tenté d'ajouter la ligne à mon ~/.bashrc, mais il y a probablement un meilleur moyen que je ne connais pas ou auquel je n'ai pas encore pensé.


C'est ce que je dois changer de permission à chaque fois que je change de distribution
Javier Gonzalez

1
Juste pour m'assurer et satisfaire ma propre curiosité intellectuelle, je suis retourné et j'ai revérifié avec un lecteur USB EXT4 que j'ai. Je ne savais pas si l'appropriation de l'appareil est la même chose que l'appropriation du système de fichiers, et c'est le cas. sudo chown -R (nom d'utilisateur) / dev / (nom de périphérique) vous permet de devenir propriétaire de tous les fichiers sur le lecteur, même si vous ne les avez pas créés.
user2367

Ouais, à moins d'ajouter simplement la ligne à ~ / .bashrc pour qu'elle s'exécute automatiquement chaque fois que vous exécutez un terminal, je n'ai pas de réponse à cela. Peut-être pourriez-vous l'ajouter à cron? Mais il semble qu'il devrait y avoir simplement un moyen de l'arranger lorsque la distribution démarre.
user2367

J'adore vraiment ext4 mais c'est une merde de continuer à changer la permission haha
Javier Gonzalez

10

La solution la plus simple consiste à vous assurer que vos comptes d'utilisateurs Ubuntu et Fedora ont le même ID utilisateur (UID).

Je pense que Fedora démarre les comptes d'utilisateurs à 500 par défaut, tandis que Debian et Ubuntu les démarrent à 1000, il est donc très probable que dans un système d'exploitation vous êtes le numéro d'utilisateur 500 et dans l'autre vous êtes le numéro d'utilisateur 1000. Le système de fichiers utilise ce numéro UID pour garder une trace des autorisations, donc si vous vous assurez qu'ils ont le même UID, ils seront considérés comme le même utilisateur et aucun problème d'autorisation ne se produira.

Je pense que le mieux que vous puissiez faire est de les rendre tous les deux UID = 1000, alors changez l'UID dans le système Fedora, puis assurez-vous que tous les fichiers sur le disque externe et dans le $ HOME de l'utilisateur dans l'installation de Fedora appartiennent à l'UID 1000. Après que vous ne devriez plus avoir de problèmes d'autorisation.


Ouais je vais le faire merci pour votre temps :)
Javier Gonzalez

1
Veuillez également lire mon ajout ou l'utilisateur Fedora ne pourra pas se connecter!
janvier 2010

Tout est clair, je vais le tester en ce moment, merci aussi d'avoir édité le titre de la question maintenant est très clair.
Javier Gonzalez

3

Dans / etc / fstab, vous pouvez mettre uid = 1000 (dans Ubuntu - c'est 500 dans Fedora) pour que le lecteur appartienne à votre utilisateur (en supposant que vous êtes le premier utilisateur, yada yada yada ... sinon, votre utilisateur uid from id) et umask = 000 si vous vouliez que tous les utilisateurs aient accès (ou 077 pour celui spécifié par uid = - c'est un masque, alors vous mettez l'opposé de ce que vous chmod)

Pour plus d'informations sur l'utilisation de / etc / fstab: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html


1
Si j'ai défini l'autorisation sur 077, je n'ai pas besoin de modifier à nouveau l'autorisation lorsque je passe d'Ubuntu à Fedora?
Javier Gonzalez

@Dracirate: Je pense que vous pourriez avoir besoin de 000 plutôt que de 077. Si vous mettez une entrée fstab pour le lecteur dans chaque système (Ubuntu et Fedora), ils le monteront automatiquement pour qu'il soit utilisable.
maco

3

Malheureusement, le noyau Linux applique l'autorisation POSIX sur ext2 / ext3 / ext4 FS.

Vous pouvez contourner l'autorisation POSIX avec un groupe partagé. Je pose la question correspondante: /unix/273144/predefined-group-ids-across-linux-distros/ mais après tout j'ai fait mes propres recherches.

Je découvre que le groupe sys partage l'ID 3 sur Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris.

Avec une telle découverte à l'esprit, une solution peut ressembler à:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

et la saveur de cela (chaque fois que vous êtes sur Linux / FreeBSD / MacOSX / Solaris):

$ sudo adduser user sys

Voir également:


En utilisant cette méthode, l' exécution cd /mnt/data/dir; touch example.txt; ls example.txt ... montre ... -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt. L'exécution plus tard mv example.txt ~; ll ~/example.txt... affiche ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, avec cela +à la fin des autorisations. Donc, beaucoup +vont finir par apparaître dans beaucoup d'endroits, ce qui fait que les gens se demandent pourquoi ces fichiers sont spéciaux (simplement parce qu'ils se sont avérés être copiés / déplacés d'un dossier particulier). Y a-t-il un moyen d'arrêter de les produire +automatiquement?
Ganton

2

Vous pouvez simplement essayer d'utiliser exfat ou ntfs. Pour moi, cela fonctionne de cette façon. Mais je ne le sais pas maintenant si cela fonctionne avec chaque autorisation de fichier. Je crois que non.


2

Il s'agit d'une légère variation de l'approche de @ gavenkoa consistant à utiliser des groupes partagés, et n'implique pas de modification du lecteur monté.

Vérifiez l'ID de groupe (GID) utilisé dans le lecteur monté.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

Disons que vous voyez quelque chose de similaire à ce qui suit:

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

Cela signifie que 12000le GID actuel des données dans le lecteur, et les données peuvent être lues et exécutées (ne peuvent pas être écrites, cependant) par tout autre utilisateur du groupe. Créez un nouveau groupe (par exemple driveusers) et ajoutez votre utilisateur actuel au nouveau groupe:

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive

1

J'ai trouvé ces autres solutions:

/unix/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//a/273705

Avec ça:

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

et la saveur de cela:

sudo adduser user sys  

votre utilisateur peut lire / écrire n'importe quel fichier /dir.

@jadelord @ gavenkoa pensez-vous s'il vous plaît qu'il y a une amélioration qui pourrait être faite de nos jours sur vos solutions suggérées pour les utilisateurs d'Ubuntu (ou Fedora)? Merci

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.