Pourquoi ne puis-je pas créer un répertoire dans / sys

8

J'apprends Ubuntu et j'expérimente avec des choses.

J'ai remarqué que je ne pouvais pas créer de répertoire dans / sys

Est-ce un répertoire spécial ou quelque chose? Existe-t-il d'autres types de répertoires?

(J'ai fait un sudo -iet un chmod a+w /sys)

spiderplant0
la source

Réponses:

17

Tout d'abord, vous devez modifier /sysles autorisations de retour (le sudo chmod a-r /sysfera, car les autorisations par défaut sont dr-xr-xr-x). /sysne doit pas être accessible en écriture!

En général, pour créer des fichiers et des répertoires dans des parties du système en dehors de votre dossier de départ, des supports externes et du /tmpdossier, vous devez le faireroot avec sudo, plutôt qu'en changeant les autorisations ou la propriété pour vous donner l'accès. Il est particulièrement déconseillé de rendre les répertoires accessibles en écriture dans le monde.

Pour plus d'informations sur la méthode recommandée, voir:

Vous pouvez même utiliser gksudo nautilus(ou sudo -H nautilussi vous n'en avez pas gksudo) pour ouvrir une fenêtre de navigateur de fichiers appartenant à root. Soyez prudent avec cela, cependant - cela peut faire à peu près n'importe quoi, et la plupart de ces choses sont des choses que vous ne voulez probablement pas faire. Notez également que si vous lancez un programme à partir d'une fenêtre de navigateur de fichiers appartenant à root, ce programme s'exécutera également en tant que root.

C'est généralement ce que vous devez faire pour modifier ou créer de nouveaux contenus de répertoires appartenant à root. Toutefois...

/sysest différent; ne rootpeut même pas créer directement des choses là-bas

Comme /procet /dev, dans Ubuntu et d'autres systèmes d'exploitation utilisant le noyau Linux, /sysest un système de fichiers virtuel , ce qu'il représente n'est pas de vrais fichiers sur votre disque (ou n'importe où).

En bref, /sysc'est une façon dont le noyau fournit des informations sur les périphériques (physiques et virtuels).

Certaines entrées du /syssystème de fichiers sont également accessibles en écriture et leur écriture est un moyen de définir dynamiquement la configuration des périphériques. (Cela ne doit pas être confondu avec le /devsystème de fichiers; l'écriture dans les entrées /devest un moyen d' envoyer des données aux périphériques. )

Mais cela doit toujours être fait en tant que root. Plutôt que de modifier l'autorisation sur /systout ou partie de celle-ci, vous devez simplement effectuer ces actions en tant que root avec sudocomme expliqué ci-dessus.

Cette réponse sur Unix.SE explique comment procéder et même comment autoriser certains non-administrateurs (qui ne peuvent pas effectuer la plupart des actions en tant que root) à modifier certains /sysparamètres.

Pour plus d'informations sur le /sysfonctionnement, voir:

Les entrées dans /syssont créées par le noyau et par les pilotes; vous ne pouvez pas simplement les créer à partir de la ligne de commande. (Comme indiqué ci-dessus, vous pouvez en modifier certains en tant que root, mais vous ne pouvez généralement pas en créer de nouveaux à partir de l'espace utilisateur, sauf en chargeant les modules du noyau ou en installant les pilotes ou en modifiant le noyau.)

Si vous êtes intéressé à écrire des pilotes, voir:

Eliah Kagan
la source
4

Oui, /sysc'est un répertoire "spécial". De Wikipédia :

Les distributions Linux modernes incluent un répertoire / sys en tant que système de fichiers virtuel (sysfs, comparable à / proc, qui est un procfs), qui stocke et permet la modification des périphériques connectés au système, tandis que de nombreux systèmes d'exploitation traditionnels UNIX et Unix utilisent / sys comme lien symbolique vers l'arborescence des sources du noyau.

Le "Stocke et permet la modification des appareils connectés au système" est assez important. Le fait qu'il /syssoit utilisé comme un système de fichiers virtuel, monté spécialement, est la raison pour laquelle vous (et root) ne pouvez pas y écrire. J'éviterais de jouer avec /sys. Avec Linux, qui est très ouvert et transparent, les choses ne changent généralement pas pour une bonne raison; soit pour des raisons de sécurité, soit, dans ce cas, car il existe un autre moyen d'atteindre votre objectif qui est beaucoup moins risqué.

Richard
la source