Outils pour utilisateurs

Outils du site


montage_linux_utilisateur

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

montage_linux_utilisateur [2007/12/15 09:20] (Version actuelle)
tyrtamos créée
Ligne 1: Ligne 1:
 +====== Montage d'une partition formatée linux avec droit d'​écriture pour un utilisateur ======
 +
 +===== Problématique =====
 +
 +Vous avez une partition, par exemple /dev/sda5, que vous voulez affecter à l'​utilisateur "​toto"​ (identifiant rare en informatique :-D).
 +
 +Vous créez le répertoire,​ par exemple, /​home/​toto/​donnees:​
 +
 +  # mkdir /​home/​toto/​donnees
 +
 +Vous assurez le montage de la partition sur ce répertoire en ajoutant une ligne dans /etc/fstab:
 +
 +  /​dev/​sda5 ​ /​home/​toto/​donnees ​ ext3  acl,​user_xattr ​ 0 0
 +
 +et vous faites "mount -a" en console sous root (ou vous rebootez) pour appliquer cette modif.
 +
 +L'​utilisateur toto essaye alors de créer un fichier dans /​home/​toto/​donnees,​ et... **//ça ne marche pas: droit insuffisant//​**.
 +
 +Pourtant, le montage a bien été fait en lecture/​écriture (rw) puisque c'est une l'une des options par défaut.
 +
 +Oui, mais le montage a affecté le répertoire /​home/​toto/​donnees à root:root avec des droits rwxr-xr-x (755), et donc c'est normal: un utilisateur n'a pas le droit de créer un fichier dans un tel répertoire.
 +
 +Alors, je cherche dans la page man de mount ("​RTFM"​ = "Relis Ton Foutu Manuel"​ en français ;-)!), et je constate que ni uid ni umask ne sont reconnus pour un formatage linux comme "​ext3":​ il n'y a apparemment aucune option permettant d'​affecter le répertoire de montage à un utilisateur!
 +
 +Alors, comment peut-on faire pour que l'​utilisateur puisse utiliser sa partition montée?
 +
 +===== Solutions possibles =====
 +
 +==== Modification après montage par un script shell ====
 +
 +Une fois le montage terminée, on peut ajuster le propriétaire du répertoire /​home/​toto/​donnees (qui porte le montage de la partition) par une commande shell en console sous root (ou par konqueror en mode root):
 +
 +  # chown toto:users /​home/​toto/​donnees
 +
 +Si on ne veut pas recommencer à chaque boot, il faut créer un fichier script avec cette commande, et l'​intégrer dans le processus de boot. Exemple de ce script très simple:
 +
 +  #! /bin/sh
 +  chown toto:users /​home/​toto/​donnees
 +
 +On peut le mettre dans /​home/​toto/​.kde/​Autostart et le rendre exécutable. Il s'​exécutera à chaque ouverture de session (et pas seulement à chaque boot), mais ce n'est pas grave. ​
 +
 +Cela résoud le problème, mais ce n'est pas forcément élégant.
 +
 +==== Montage bind ====
 +
 +On monte la partition /dev/sda5 sur le répertoire (à créer avant) /​media/​donnes avec la ligne classique dans fstab:
 +
 +  /​dev/​sda5 ​ /​media/​donnees ​ ext3  acl,​user_xattr ​ 0 0
 +
 +Dans ce répertoire ainsi monté, on créé un sous répertoire "​toto"​ avec pour propriétaire toto:users et des droits "​rwxr-xr-x"​ (755):
 +
 +  # mkdir /​media/​donnees/​toto
 +  # chown toto:users /​media/​donnees/​toto
 +  # chmod 755 /​media/​donnees/​toto
 +
 +On fait ensuite un montage "​bind"​ avec la ligne dans fstab:
 +
 +  /​media/​donnees/​toto ​ /​home/​toto/​donnees ​  ​none ​ bind  0 0
 +
 +Et voilà, le répertoire "/​home/​toto/​donnees"​ a le propriétaire qu'il faut (toto:​users) et les droits qu'il faut (rwxr-xr-x ou 755), et l'​utilisateur toto pourra donc faire tout ce qu'il veut dans la nouvelle partition, et ceci avec la simple application du fstab au boot.
 +
 +**Option supplémentaire**
 +
 +L'​utilisateur toto peut ne pas être le seul à utiliser la partition /dev/sda5. On pourrait ainsi créer d'​autres répertoires pour les autres utilisateurs:​ /​media/​donnees/​user2,​ /​media/​donnees/​user3,​ etc...
 +chacun avec le bon propriétaire et les bons droits, avec les lignes équivalentes dans fstab pour faire autant de montages bind:
 +
 +  /​media/​donnees/​user2 ​ /​home/​user2/​donnees ​  ​none ​ bind  0 0
 +  /​media/​donnees/​user3 ​ /​home/​user3/​donnees ​  ​none ​ bind  0 0
 +  etc...
 +
 +On peut même faire en sorte que chacun soit le seul à accéder dans son répertoire:​ il suffit, par exemple pour toto, que /​media/​donnees/​toto ait un droit rwx------ (700). De même pour les autres répertoires utilisateurs.
 +
 +Amusez-vous bien!
  
montage_linux_utilisateur.txt · Dernière modification: 2007/12/15 09:20 par tyrtamos