Lorsque je connecte mon disque dur externe, insère un DVD ou tente de voir ce que j'ai sur mon lecteur USB, il en résulte un comportement particulier.
Les systèmes de fichiers montent bien. Lorsque je me connecte en tant que root via Sudo su
, je peux voir parfaitement le contenu du /media/casper/externaldrive
. Cependant, mon utilisateur, casper
, ne le 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 un peu la permission (problèmes) du dossier /media
. En tant que 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 que le code indique total 16
, alors qu'il n'y en a que 6 au maximum. J'ai donc à nouveau exécuté la commande, mais sous le nom 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 le plus frappé est que le répertoire /media/casper
n'est pas le mien et que je ne peux pas non plus y accéder. Je me suis laissé tenter par chown -R
les bazinkas, mais après avoir réussi à me maîtriser, j'ai cherché quelque chose comme Google: "Dossier de l'utilisateur multimédia, pas le mien, aide-moi".
Cela a pris un certain temps mais je suis finalement tombé sur this fil, où les utilisateurs expliquent le rôle des dossiers 750 root:root /media/user
. Il s'assure que seul root peut 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 autorisations /media/casper/externaldrive
devraient m'être favorables. 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.
Donc c'est ici que je suis coincé. Le système de fichiers a des autorisations pour moi tout au long de l'arborescence, mais je ne peux pas accéder à un seul fichier. C'est la même chose pour les CD et les clés USB.
Qui peut m'aider à accéder à mon précieux?
Oh, et au fait. Le fil mentionné ci-dessus parle d'ACL sur ces dossiers /media/user
, indiqué par un +
après les autorisations habituelles, comme drwxr-x---+ 3 root root
. Mon système ne montre pas cela. Est-ce que ACL sur ces dossiers est standard pour Ubuntu ou l’utilisateur a-t-il des tâches spéciales à faire et devrais-je craindre que c’est de là que vient mon problème?
Merci d'avoir lu.
Depuis les permissions et la propriété de /media/casper
sont
drwxr-x--- root root
Sans +
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 ---
:(
Les personnes non privilégiées ont la permission d'accéder à cet emplacement avec des 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:
acl
est requis (cochez apt-cache policy acl
)acl
name__Pour vérifier ce dernier (remplacez sdxY
de maniè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 convient, (acl
n'a pas besoin d'être mentionné), mais s'il indique noacl
name__, vous devez le changer.
Vous pouvez ajouter l'option aux options de montage par défaut comme ceci:
Sudo tune2fs -o acl /dev/sdxY
Vous pouvez également ajouter acl
aux options de la ligne de partition racine dans /etc/fstab
, par exemple:
UUID=whatever / ext4 errors=remount-ro,acl 0 1
Avec les ACL activés, utilisez setfacl
pour ajouter des autorisations pour vous-même. Pour donner à username
des autorisations 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 effectuer une recherche dans son contenu):
Sudo setfacl -m u:username:rx /media/casper
Vous pouvez remplacer username
par uid (vous êtes probablement 1000
- vérifiez avec la commande id
name__)
Sudo setfacl -m u:1000:rx /media/casper
pour voir les autorisations ACL que vous utilisez getfacl
comme 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 posé moi-même une question sur les raisons pour lesquelles il y a tant d'entrées dans /media
. La réponse est ici
La commande normale chmod
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
Recherchez le nom du lecteur dans ce fichier (passez simplement la souris sur le lecteur pour lequel vous cherchez une solution, dans mon cas, l'interface graphique affiche un nom différent et sur celle-ci, /media/user-name/drive-name
).
Maintenant dans /etc/mtab
:
Recherchez le nom de lecteur dans le fichier et vérifiez à quel lecteur votre lecteur monté est affecté (dans mon cas, /dev/sda4
)
Maintenant montez ce disque avec:
Sudo ntfs-3g /dev/sda4 /media/"$USER"
Maintenant, je peux exécuter mes exécutables, mais je ne pourrai pas voir le contenu de nom-lecteur, alors je démonte le lecteur et le monte à nouveau.