Plusieurs fois, je n'ai pas été autorisé à éditer un fichier. Même quand je chmodé à 777 et ouvre le fichier avec Sudo
. Par exemple. le fichier /sys/kernel/debug/vgaswitcheroo/switch
in this tutorial.
Tout d'abord, comment est-ce possible? Deuxièmement, comment puis-je accéder à ce type de fichiers?
Il ne suffit pas d'avoir une permission de lecture sur un fichier pour le lire. Vous devez également disposer d'une autorisation de lecture sur le répertoire auquel il appartient. Dans le cas de /sys/kernel/debug/vgaswitcheroo/switch
, le problème est /sys/kernel/debug
qui, par défaut, n'est lisible que par l'utilisateur root:
$ ls -ld /sys/kernel/debug
drwx------ 22 root root 0 Nov 20 18:25 /sys/kernel/debug
Vous devez chmod a+r /sys/kernel/debug
pour avoir accès au contenu de ce répertoire.
(Je ne le recommanderais pas, car donner un accès global à /sys/kernel/debug
n'est pas une chose sûre à faire, mais c'est un problème différent.)
Le moyen le plus courant d'accéder à de tels fichiers est d'utiliser un shell racine:
Sudo -i