> Tous les forums > Forum Linux
 Donner Permissions pour accès à une partitionSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
theorobi
  Posté le 23/10/2015 @ 02:19 
Aller en bas de la page 
Petit astucien

Bonjour,

Habituellement, je parviens à résoudre mes problèmes sans trop de difficultés, mais aujourd'hui, je ne peux rien résoudre comme problème

J'ai un ordinateur avec quelques distros Linux en multiboot et une partition que j'ai crée pour être commune à tous les Linux, mais je n'ai d'accès que pourvoir le contenu, je ne peux créer de dossier ou de fichier sur cette partition.

Je ne suis pas familier avec les commande chmod et chown, j'aurais besoin d'un peu d'aide.

La partition que je voudrais accessible à tous les Linux est en /dev/sda4, elle a été crée avec GParted à partir de Ubuntu Mate 15.04.

Merci

Publicité
reivillo
 Posté le 23/10/2015 à 11:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Tu peux aussi ouvrir ton Gestionnaire de Fichier en ROOT,
puis dans /media/, chercher ta partition et une fois trouvée,
Clique droit dessus ==> Permission ( et donner les permissions à tout le monde [ Création et suppression des fichiers ] )

NOTE: De préférence donne une Étiquette( nom, label ) à ta partition.
Capture non-contractuelle!



Modifié par reivillo le 23/10/2015 11:39
Logicien
 Posté le 23/10/2015 à 11:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

reivillo, je ne sais pas si tu as conscience de ce que tu fais présentement, mais ça n'a pas de sens. D'abord, l'option -R n'est pas pour la commande sudo, mais pour la commande chmod. Elle devrait donc commencer par

sudo chmod -R 777 /point/de/montage

Ensuite, donner le droit de lecture, d'écriture et d'exécution (777) à tous n'est pas sécuritaire. De plus, le répertoire ou le fichier /etc/sda4 n'existe selon toute vraisemblance pas. Ta commande sera donc sans objet.

theorobi,

avant d'aller plus loin, il faut qu'on sache quel est le système de fichiers avec lequel a été formaté la partition sda4. Est-ce Ext4, Reiser, Fat (12, 16, 32) ou encore Ntfs? Parce-que, sous Linux, changer les permissions ne se fait pas de la même façon avec un système de fichiers Linux que Windows.

Aussi, quel est le point de montage où est monté le système de fichiers de la partition /dev/sda4? C'est au point de montage que seront modifiés les permissions dans le cas d'un système de fichers Linux, alors qu'on modifie les permissions d'un système de fichiers Windows avec des options de montage.



Modifié par Logicien le 23/10/2015 11:38
reivillo
 Posté le 23/10/2015 à 11:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

@ Logicien...

Je me suis sûrement mal réveillé ce matin.
Merci pour ce rectificatif, et donc je supprime le post en question.

D'ailleurs personnellement, je fais toujours à la façon du message ( Posté le 23/10/2015 à 11:12 )



Modifié par reivillo le 23/10/2015 11:51
Logicien
 Posté le 23/10/2015 à 12:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

C'est très correct de ta part reivillo.

Je vais parler par la même occasion de ce que je comprend de la gestion des permissions sous Linux. Elle est très sophistiquée et on peut s'y perdre facilement. Paradoxalement, les permissions des systèmes de fichiers Windows (Fat, Ntfs) sont plus facile à gérer sous Linux que les sytèmes de fichiers natifs Linux (Ext4, Reiser, etc).

Sauf exception, je ne modifie jamais les permissions d'un fichier de périphérique comme ici /dev/sda4.

Pour un système de fichiers Linux, j'utilise le groupe users dont le numéro est 100 . Ce groupe existe par défaut dans toutes les distributions Linux et son numéro est aussi le même d'une distribution à une autre. J'ajoute à ce groupe tous les utilisateurs que je veux qui aient accès aux données partagées. Exemple de l'utilisateur toto sous Ubuntu

sudo usermod -a -G users toto

Cette commande ajoute l'utilisateur toto au groupe users. Je dois fermer la session (si ouverte) de cet utilisateur et la réouvrir pour que les changements soient pris en compte. J'ajoute au groupe users seulement les utilisateurs que veux et ce, dans chacune des distributions.

Ensuite, j'applique des modifications directement sur les fichiers et sous-répertoires du répertoire partagé. En supposant ici que le point de montage du système de fichiers Linux, disons Ext4, de la partition /dev/sda4 est /mnt/sda4 je fais

sudo chown -R root:users /mnt/sda4

Le propriétaire du répertoire partagé /mnt/sda4, des fichiers et des sous-répertoires est dorénavant root alors que leurs groupe est users. Ensuite, je modifie encore les permissions afin de donner accès en lecture, écriture et exécution à root et aux utilisateurs du groupe users, alors que les autres n'ont accès qu'en lecture et exécution aux données partagées:

sudo chmod -R 0775 /mnt/sda4

À partir de ce moment, tous les utiisateurs de toutes les distributions Linux qui sont dans le groupe users ont accès en lecture, écriture et exécution aux données partagées.

Les deux dernières commandes doivent être réexécutées périodiquement. Le raison en est qu'un utilisateur qui créé un fichier ou sous-répertoire dans le répertoire partagé /mnt/sda4 en deviendra le propriétaire et lui donnera aussi son groupe par défaut.

Exemple, l'utilisateur toto dont le numéro est 1000 et dont le groupe par défaut est toto avec le numéro 1000 devient le propriétaire et donne aussi son groupe par défaut aux fichiers et répertoires qu'il créé. De même l'utilisateur titi avec le numéro 1001 et dont le groupe par défaut est titi avec le numéro 1001 devient le propriétaire et donne aussi son groupe par défaut aux fichiers et répertoires qu'il créé.

Alors, le répertoire partagé /mnt/sda4 contient des fichiers et répertoires dont le propriétaire est toto ou titi et le groupe toto ou titi. toto ne peut modifier les fichiers et répertoires de titi et vice-versa. En réexécutant les commandes chown et chmod précédentes, le propriétaire, le groupe et les droits sont restaurés pour un partage complet. Alors, toto peut modifier les fichiers et répertoires créés par titi et vice-versa.

Avec un système de fichiers Windows on peut gérer les permissions uniquement via le fichier /etc/fstab. Le propriétaire, le groupe et les droits de lecture, d'écriture et d'exécution peuvent être fixés complètement grâce à des options de montage. Ce n'est pas le cas des systèmes de fichiers Linux, à moins d'utiliser les ACL (Access Control List) et c'est là que ça devient le plus sophistiqué et raffiné.

Ma méthode n'est pas nécessairement la meilleure. Résumé des opérations pour un système de fichier Linux:

- s'assurer au démarrage de chaque distribution du montage automatique au même point, ici /mnt/sda4, du système de fichiers partagé à l'aide d'une ligne dans le fichier /etc/fstab, les options de montage par défaut suffisent. (Opération non détaillée).

- ajouter les utilisateurs désirés au groupe users dans chacune des distributions avec la commande usermod précédente

- modifier périodiquement le propriétaire, le groupe et les droits récursivement (-R) dans /mnt/sda4 avec les commandes chown et chmod précédentes.



Modifié par Logicien le 23/10/2015 17:56
theorobi
 Posté le 23/10/2015 à 16:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

Merci Logicien, j'ai fait les manipulations comme tu me le disais et maintenant, je peux avoir accès complet à cette partition /dev/sda4 à partir de toutes mes distros Linux. La partition /dev/sd4 avait été crée en Ext4 et tout a fonctionné parfaitement.

J'apprécie beaucoup ton aide et pour moi, c'est maintenant résolu.

Et j'ai bien pris note de modifier périodiquement le propriétaire, groupe et droits.

Et je vais tenter de mieux me familiariser avec les commandes chmod et chown, je n'avais jamais eu à les utiliser, alors j'avais négligé de m'y attarder.

Encore un grand merci.

Logicien
 Posté le 23/10/2015 à 17:51 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Heureux de voir que mes propos sont compris et repris. Je cherche une méthode plus efficace encore que celle-ci. Je vais me pencher sur le gestion des dtois avec les ACL bienôt. Bonne journée.

reivillo
 Posté le 23/10/2015 à 19:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

@ theorobi.

Merci pour le Retour.

@ Logicien.

En rentrant ce soir, j'ai bien pris note de ton Message Posté le 23/10/2015 à 12:44.
C'est mis de côté, pour mémorisation et mise en œuvre ultérieure.

Merci, et Sympa d'avoir pris le temps de nous étaler tout cela...



Modifié par reivillo le 23/10/2015 19:22
Logicien
 Posté le 24/10/2015 à 04:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Un petit complément,

le système de fichiers de données partagées doit permettre le droit d'exécution à tous (propriétaire, groupe et autres) sur le répertoire et les sous répertoires de son point de montage. Il n'est pas obligatoire de permettre le droit d'exécution sur les fichiers. Je n'ai personnellement pas besoin de le faire. Le droit de lecture et d'écriture sur les fichiers partagés me suffisent.

J'ai créé un script que j'exécute périodiquement qui a pour but de fixer le propriétaire à root et le groupe à users sur les fichiers et les répertoires du point de montage du système de fichiers partagé. Il donne les permissions de lecture, d'écriture et d'exécution à root et aux utilisateurs du groupe users sur les répertoires, alors que les autres ne peuvent que lire et exécuter les répertoires. Il donne également les permissions de lecture et d'écriture à root et aux utilisateurs du groupe users sur les fichiers, alors que les autres ne peuvent que lire les fichiers.

Appliqué à notre exemple où le point de montage du système de fichiers partagé est /mnt/sda4, le script se lit comme suit:

#!/bin/bash

PATH=/bin:/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin

chown -R root:users /mnt/sda4
find /mnt/sda4 -type d -exec chmod 0775 '{}' \;
find /mnt/sda4 -type f -exec chmod 0664 '{}' \;

La commande find se charge de donner les permissions 0775 si elle trouve un répertoire et de 0644 si elle trouve fichier dans sa recherche à partir du point de montage.

Pour terminer, tels que ce script fixe les permissions, Samba peux permettre l'accès en lecture et écriture aux données partagées aux utilisateurs de mon réseau local. Mes dernières recherches sur les ACL ne m'ont pas permis de trouver de meilleure méthode que celle-ci pour déterminer les droits avec accès réseau aux données partagées.

Note: ce script a été conçu pour être exécuté depuis une session root plutôt qu'avec la commande sudo depuis une session utilisateur non root. En session root il n'est pas nécessaire de préfixer les commandes administratives par sudo.



Modifié par Logicien le 24/10/2015 05:27
Publicité
reivillo
 Posté le 24/10/2015 à 10:18 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

@ Logicien.

Ça! C'est du livré et près à consommer...

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Crée une partition pour installer Linux et ne pas la proposer au démarrage
taille partition nécessaire pour Ubuntu 8
Problème formatage partition pour install Mandriva
Accéder à une partition pour y "Faire du ménage"
modifier les droits d'accès sur une partition
impossible créer partition pour Ubuntu
partition pour ubuntu
petit cd linux pour accès à TOUS les dd??
accès à une partition
Problème accès partition FAT32: à l'aide!
Plus de sujets relatifs à Donner Permissions pour accès à une partition
 > Tous les forums > Forum Linux