Un problème d'autorisation sur / media / dossier utilisateur m'empêche d'accéder aux médias externes

11

Lorsque je branche mon disque dur externe, insère un DVD ou essaie de voir ce que j'ai sur ma clé USB, un comportement particulier est le résultat habituel.

Les systèmes de fichiers se montent bien. Lorsque je me connecte en tant que root sudo su, je peux voir le contenu de /media/casper/externaldriveparfaitement bien. Mon utilisateur, cependant, casperne peut pas. Ubuntu répond à chaque action impliquant l'emplacement Permission denied:

casper@casper-desktop:/media$ ll /media/casper/externaldrive
ls: cannot access '/media/casper/externaldrive': Permission denied

J'ai décidé de creuser dans la permission (problèmes) du /mediadossier. Comme casper, je vois ce qui suit:

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/

Ce qui m'a frappé, c'est qu'il est dit total 16, alors qu'il n'y a que 6 listes au maximum. J'ai donc exécuté à nouveau la commande, mais comme root. Le résultat était le même, bizarre. (est-ce que quelqu'un peut m'éclairer à ce sujet?)

Quoi qu'il en soit, ce qui m'a encore plus frappé, c'est que le /media/casperrépertoire n'est pas le mien et que je ne peux pas non plus y accéder. J'ai été tenté de ne faire que chown -Rles bazinkas, mais après avoir pris possession de moi-même, j'ai googlé quelque chose comme "Dossier utilisateur multimédia pas le mien, aidez-moi".

Cela a pris du temps, mais finalement je suis tombé sur ce fil, où les utilisateurs expliquent le but des 750 root:root /media/userdossiers. Il s'assure que seul root peut y monter, afficher et gérer des systèmes de fichiers, dont les autorisations individuelles sont modifiées pour l'utilisateur réel.

Donc, si mes informations étaient correctes, les /media/casper/externaldriveautorisations devraient être favorables pour moi. J'ai vérifié,

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/

Et cela semble être le cas.

C'est donc là que je suis coincé. Le système de fichiers a des autorisations pour moi tout au long de l'arborescence des répertoires, mais je ne peux pas accéder à un seul fichier. C'est la même chose pour les CD et les lecteurs USB.

Qui peut m'aider à accéder à mon précieux?

Oh, et au fait. Le fil susmentionné parle d'ACL sur ces /media/userdossiers, indiqué par un +après les autorisations régulières, comme drwxr-x---+ 3 root root. Mon système ne le montre pas. L'ACL sur ces dossiers est-elle standard pour Ubuntu ou l'utilisateur a-t-il des choses spéciales en cours, et dois-je craindre que ce soit l'origine de mon problème?

Merci d'avoir lu.

MicroParsec
la source
1
J'utilise une configuration à double démarrage (16.04 et Win7) et je vois un + à la fin des autorisations de dossier / média / utilisateur. Je pense donc que c'est de là que vient votre problème. J'ai trouvé ces ( 1 , 2 ) grâce à Google, mais je n'ai jamais utilisé acl avant pour savoir s'ils sont suffisants pour résoudre votre problème.
Karsus
2
Le lsnombre total de blocs de 1 Ko utilisés par les fichiers du répertoire, de manière non récursive. Voir unix.stackexchange.com/a/4110/44281 .
amotzg
@Karsus Merci, je pense que vous avez trouvé mon problème. Je vais essayer la réponse de Zanna ci-dessous et je vous tiendrai au courant. @ amotzg Aha, ça clarifie les choses. Merci :)
MicroParsec
Par simple curiosité, que signifie "3" drwxr-x--- 3*?
thephoenix01

Réponses:

15

Étant donné que les autorisations et la propriété de /media/casperAre

drwxr-x---  root root 

Sans no +pour les ACL (listes de contrôle d' accès ), il est clair que seul root peut ouvrir, entrer, lire ou écrire dans ce répertoire. Les utilisateurs modestes comme nous obtiennent les autorisations à la fin de la chaîne ---:(

Nous, les gens non privilégiés, obtenons la permission d'accéder à cet emplacement avec les ACL. Je ne sais pas pourquoi vous ne les avez pas déjà, mais vous pouvez les configurer, ce qui peut être simple ou nécessiter un peu de bricolage:

  • le aclcolis est obligatoire (vérifier apt-cache policy acl)
  • le système de fichiers doit être monté avec l' acloption

Pour vérifier ce dernier (remplacez-le de sdxYmanière appropriée pour votre partition racine):

sudo tune2fs -l /dev/sdxY | grep "Default mount options:"

devrait retourner:

Default mount options:    user_xattr acl

Les options de montage par défaut sont définies dans /etc/mke2fs.conf

Ils peuvent être remplacés, alors vérifiez:

cat /proc/mounts | grep sdxY

ressemble à quelque chose comme:

/dev/sdxY / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0

Ce qui précède est très bien, ( acln'a pas besoin d'être mentionné) mais s'il dit que noaclvous devez le changer.

Vous pouvez ajouter l'option aux options de montage par défaut comme ceci:

sudo tune2fs -o acl /dev/sdxY

Ou vous pouvez ajouter aclaux options de la ligne de partition racine /etc/fstabpar exemple:

UUID=whatever /     ext4    errors=remount-ro,acl    0       1

Avec les ACL activées, utilisez setfaclpour ajouter des autorisations pour vous-même. Pour accorder des usernameautorisations de lecture et d'exécution sur / media / casper (vous devez disposer d'une autorisation d'exécution pour entrer dans un répertoire ou rechercher son contenu):

sudo setfacl -m u:username:rx /media/casper

Vous pouvez remplacer usernamepar uid (vous l'êtes probablement 1000- vérifiez avec la idcommande)

sudo setfacl -m u:1000:rx /media/casper

pour voir les autorisations ACL que vous utilisez getfaclcomme Oli l'a fait dans sa réponse

getfacl /media/casper

Pour supprimer les autorisations ACL d'un utilisateur

sudo setfacl -x u:username /media/casper

Pour effacer toutes les autorisations ACL

sudo setfacl -b /media/casper

Remarque: J'ai triché et j'ai moi-même posé une question sur la raison pour laquelle il y a tant d'entrées /media. La réponse est ici

Zanna
la source
1
Merci @Zanna: apt-cache policy aclretourne ACL est installé et le plus récent. Default mount optionsmentions acl. cat /proc/mountne mentionne pas noacl. Je suppose donc que je dois ajouter les autorisations ACL manuellement maintenant, car pour une raison quelconque, elles ne sont pas démontées. J'ai utilisé les commandes que vous avez décrites pour me donner des autorisations rx pour le /media/casperrépertoire et je suis heureux de dire que je peux à nouveau accéder à mes médias externes. Merci Zanna!
MicroParsec
Oui, heureux que vous ayez réglé le
problème
2

Lorsque vous souhaitez accorder une autorisation d'accès à un lecteur Windows à partir d'Ubuntu

La chmodcommande normale ne fonctionnera pas s'il s'agit d'un lecteur Windows NTFS.

Ce qui suit fonctionne pour moi.

Ouvrez le fichier /etc/mtab:

gedit /etc/mtab

Trouvez le nom du lecteur dans ce fichier (passez simplement la souris sur le lecteur pour lequel vous recherchez une solution, dans mon cas, l'interface graphique affiche un nom différent et sur la souris, elle s'affiche /media/user-name/drive-name)

Maintenant dans /etc/mtab:

Recherchez le nom du lecteur dans le fichier et vérifiez à quel lecteur votre lecteur monté est affecté (dans mon cas - /dev/sda4)

Montez maintenant ce disque avec:

sudo ntfs-3g /dev/sda4 /media/"$USER"

Maintenant, je suis en mesure d'exécuter mes exécutables, mais je ne pourrai pas voir le contenu du nom du lecteur, j'ai donc démonté le lecteur et l'ai remonté.

Hridaynath
la source