Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Distributions > Debian

Debian Vos questions sur la distribution Debian

Réponse
 
Outils de la discussion
Vieux 12/07/2008, 10h05   #1 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2006
Messages: 21
Par défaut Quota pour un utilisateur sur un dossier

Bonjour,

Comment puis-je définir un quota sur un dossier pour un utilisateur donné ?

Je veux par exemple définir une taille de 600Mo pour nom_user dans le dossier /home/nom_user.

Sachant que par la suite je créerai plusieurs nom_user, et que les nom_user peuvent déposer des fichiers dans /home/dépot_commun sans que leurs quota soit affecté.

Et sachant que je souhaite partager l'espace des utilisateurs avec l'espace depot_commun (pour permettre l'utilisation maximale de l'espace dispo sur la partition /home).

Merci !
delcedo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 12/07/2008, 14h39   #2 (permalink)
Membre régulier
 
Avatar de SYL666
 
Date d'inscription: novembre 2003
Messages: 132
Envoyer un message via MSN à SYL666
Par défaut

A ma connaissance, les quotas ne sont valable que pour les systèmes de fichier, et non les répertoires induviduels. Je te propose 2 methodes pour contourner le problème :

1. déplacer dépot_commun hors de /home.... en effet, de toute manière, il n'a rien a faire la, sauf si dépot_commun est aussi un utilisateur. tu peux le mettre dans / ou dans /var

2. faire un système de fichier par répertoire utilisateur via un loop : chaque utilisateur a son propre système de fichier perso et de toute maniere le quota sera determine par la taille du fichier à l'intérieur duquel se trouve le repertoire home de l'utilisateur. ca te permettra en plus de crypter. Mais bon, c'est un peu tordu.
SYL666 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/07/2008, 00h39   #3 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2006
Messages: 21
Par défaut

Hello, merci pour ta réponse :-)

Mais en fait, J'ai une partition de 200Go montée sur /home et j'aimerai qu'il y ait le moins d'espace libre disponible dessus. C'est donc pour cette raison que j'ai mis le pot commun et les dossiers des utilsiateurs dans la même partition, car si je dois allouer des partitions de 600 Mo pour chaque utilisateur et que ceux-ci n'utilisent que 20 Mo... Ca me fera beaucoup de perte de taille.

Il me semble que malheureusement tes deux solutions ne résolvent pas mon problème :/. Aurais-tu autre chose à me proposer ?

C'est vraiment dommage que Linux gère les quotas sur les partitions et pas sur les dossiers... Il y a sûrement une raison, plus facile sans doute à réaliser.
delcedo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 13/07/2008, 10h43   #4 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2006
Messages: 21
Par défaut

Re :-)

En fait je crois que je vais partir sur ta deuxième solution. Enfin, ce à quoi j'ai réfléchi s'apparente plutôt à ta deuxième solution.

J'ignore s'il est possible de réaliser cela (j'espère que oui !).

Plutôt que de créer un fichier pour chaque utilisateur dans lequel ils pourront mettre leurs fichiers personnels, j'aimerai créer un fichier que je monterai en tant que partition :
/home/fichier_user --> /home/users/

Je mets ensuite les quotas sur cette nouvelle partition et supprime ceux de /home. Du coup, le pot commun se trouvant sur une partition différente, il ne sera pas soumis au quota.

Maintenant, il ne reste plus qu'un petit point à apporter, il faudrait que le fichier qui /home/fichier_user soit de taille variable, c'est à dire, qu'un utilisateur crée ou supprime un fichier, le fichier /home/fichier_user s'agrandisse ou se rétrécir.

Aller... dîtes moi que c'est possible, et comment faire ?
delcedo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/07/2008, 10h23   #5 (permalink)
Membre régulier
 
Avatar de SYL666
 
Date d'inscription: novembre 2003
Messages: 132
Envoyer un message via MSN à SYL666
Par défaut

aïe... un masochiste :p

J'ai peur de ne pas avoir tout compris, il va falloir que tu ré-explique.
Mais je crains qu'il ne soit pas possible de faire sans risque un elargissement de partition dans un fichier. Théoriquement :
* dd pour concaténer des 0 dans ton fichier-partition,
* resize2fs pour elargir la partition elle même
Devrait marcher..... mais c'est un truc de geek. Ne pas faire si tu te trouve en entreprise ou dans un truc ou les données sont un minimum important et sans downtime.

Bref, après reflexion, je pense que ce que tu cherches, c'est peut etre simplement LVM : change la taille de tes partitions online et sans risque. Avec un environnement LVM complet, tu n'a plus a proprement parler de "disque physique", uniquement un espace virtuelle, et tu fais ce que tu veux, partitionne comme tu veux, etc.... Ensuite, manque de place? rachete un nouveau disque, insere le dans ton LVM, et partage ne nouvelle espace entre tes partitions.
SYL666 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/07/2008, 18h22   #6 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2006
Messages: 21
Par défaut

Erf :-P

On vient de me donner la solution sur ce topic
http://forum.ubuntu-fr.org/viewtopic.php?id=236219

Ca revient un peu à ce que tu as dit, ça marche et finalement c'est pas trop trop horrible comme solution je trouve

En tout cas merci de m'avoir aiguillé :-)

D'ailleurs, j'ai plus qu'un dernier petit soucis ici : http://forum.ubuntu-fr.org/viewtopic.php?id=236572

Si tu veux bien m'aider :-)
delcedo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 14/07/2008, 21h15   #7 (permalink)
Membre régulier
 
Avatar de SYL666
 
Date d'inscription: novembre 2003
Messages: 132
Envoyer un message via MSN à SYL666
Par défaut

Oui, c'est ca, c'est bien la solution que je te déconseillais (sic). Ca parait facile comme ca, mais il manque la partie ou ton script va agrandir le fichier à la demande

Je continue à dire qu'il vaut mieux repartir à 0 avec un LVM tout propre. Peut être plus chiant au début et ça fait moins geek... Mais sur le long terme :
1. tu apprendras à utiliser une technologie qui devient incontournable
2. Plus propre, plus simple, moins douloureux sur le long terme
3. Si jamais un autre admin prend ta place, "au plus que tu restes simple, au moins qu'il aura a s'arracher les cheuveux".

Je suis sur que tu pourras trouver de l'espace disque temporaire pour faire ca en douceur. Si tes données sont séparées de l'OS, tu peux laisser l'OS en dehors du LVM et tu n'auras même pas à réinstaller ta machine.


------------------
pour ton autre topic, je vais répondre ici car j'ai pas de ubuntu.

D'après ton poste, il semble que ton script mettent des sticky bits partout. si c'est bien pour les répertoire, je ne sais pas trop se que fait Ubuntu vis-a-vis des fichiers qui ont le stiky bit.

Bref, théoriquement, grace au sticky bit, ce qu'il se passe ne devrait pas avoir lieu.
Je te propose un test : essaie, via un shell (pas ftp) de te logger en tant que Alpha et de supprimer un fichier de Beta. Normalement, ta machine va refuser.

2 possibilites :

1. La machine accepte la suppression et la je ne comprend pas et passe pour un con. Vérifie que le répertoire a bien le sticly bit (le 't' apres les 'rwx' ) via la commande : "ls -ld /repertoire/"

2. La machine refuse la suppression. Dans ce cas la, le probleme vient de ton serveur FTP qui manage lui même les droits. La je ne peux plus t'aider car je n'utilise pas ce serveur FTP.

Bon courage

Cedric
SYL666 est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 17/07/2008, 22h03   #8 (permalink)
Candidat au titre de Membre du Club
 
Date d'inscription: juillet 2006
Messages: 21
Par défaut

Je ferai un LVM quand notre association aura un peu plus de moyen pour investir dans un deuxième serveur que je pourrai reconfigurer avec LVM . Pour l'instant il est déjà partiellement en production et je veux pas me risquer à le faire crasher...
Et puis... Ca marche :-P

Citation:
Je te propose un test : essaie, via un shell (pas ftp) de te logger en tant que Alpha et de supprimer un fichier de Beta. Normalement, ta machine va refuser.
Et ben non ! Le shell ne voit aucun problème à ce que le propriétaire du dossier supprime le fichier. En même temps c'est logique, le propriétaire du dossier (Alpha) a les droits d'écriture dans celui-ci, donc, il a les droits de suppression et renommage.

Je crois que juste en disant ca je viens de trouver la solution, il faut que je supprime les droits d'écriture pour les propriétaires et que j'empêche au niveau du serveur FTP de faire un CHMOD.

Hum, je viens de tester, ca permet en effet d'éviter que le propriétaire supprime les fichiers des autres utilisateurs, mais du coup, il peut pas supprimer ses propres fichiers dans ses répertoires (normal vu qu'il n'a pas les droits d'écriture dans son répertoire...). Pfiou, j'arrive pas à trouver la solution là. Une idée ?
delcedo est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 18/07/2008, 21h28   #9 (permalink)
Membre régulier
 
Avatar de SYL666
 
Date d'inscription: novembre 2003
Messages: 132
Envoyer un message via MSN à SYL666
Par défaut

Citation:
Et ben non ! Le shell ne voit aucun problème à ce que le propriétaire du dossier supprime le fichier. En même temps c'est logique, le propriétaire du dossier (Alpha) a les droits d'écriture dans celui-ci, donc, il a les droits de suppression et renommage.
Oui, pour si l'utilisateur et propriétaire du répertoire c'est normal... Pardon, j'ai peut être lu trop vite le post...

Sans les droits d'écriture pour le propriétaire, j'ai peur que celui-ci ne puisse plus créé de fichier non plus.

Apres relecture du post, tout ca me parait bien complexe. N'y a t il pas moyen de simplifier le plan :
* pourquoi souhaites tu interdire X de modifier les fichiers d'un repertoire qui lui appartient ?
* Pourquoi Y doit il donner des fichiers à X sans qu'il puisse y toucher?
* Pourquoi ne pas interdire purement est simplement toute suppression ou remplacement ?
* si ni X ni Y n'est le proprietaire du répertoire, alors X ne peut pas toucher aux fichiers de Y, et vice-versa. La notion de propriété du répertoire est-elle vraiment utiile ?

Voici quelques pistes au hazard, version foure-tout, ca te donnera peut etre une idée :

-- Que fait tu exactement avec FTP ? si c'est du partage local, tu peux faire du Samba ou du NFS qui gèrent mieux les droits.

-- Sinon, tu peux peut être trouver un système via les ACL (Access Control List) qui permettent de rafiner les droits : tu n'es plus limité a 1 utilisateur, 1 groupe et les autres.
man acl pour plus de détails. (malheureusement pas encore au niveau des droits NTFS)

-- As tu pensé à jouer avec le groupe par défaut des utilisateurs qui se connectent ?

-- As tu bien regardé les options de config de proftpd ?

Bon courrage
SYL666 est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Linux > Distributions > Debian



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide