nombre de groupes pour un utilisateur - Linux et OS Alternatifs
Marsh Posté le 10-01-2006 à 13:49:28
Par defaut tu es limites a 32 groupes auquel un user peut appartenir dans un systeme Linux.
Il faut modifier le kernel et/ou la glibc (google te le diras) pour augmenter cette limite.
Marsh Posté le 10-01-2006 à 13:55:16
ok, merci beaucoup HNO3 !
J'avais pensé à ça mais je n'ai trouvé aucune info concernant cette limite. Je vais voir ça de plus près !
Marsh Posté le 10-01-2006 à 15:20:39
j'ai bien trouvé plusieurs sources parlant de cette limite mais aucune n'explique comment passer outre ...
si vous avez une source, je suis preneur
Merci
Marsh Posté le 10-01-2006 à 15:29:01
Salut !
Tu dois modifier la constante NGROUPS_MAX dans le ficher limits.h se trouvant dans le repertoire include/linux/ des sources de ton kernel.
Sinon, il semblerai que par defaut (du moins ds la version 2.6.14.3 et je ne sais pas a partir de quelle version du noyau le changement a ete effectue) la limite soit de 65536
Bonne fin de journee !
Marsh Posté le 10-01-2006 à 15:30:08
on est passé de 32 à 65536 ?
Marsh Posté le 10-01-2006 à 15:31:19
En 2.6.14.3 il semberai que ce soit deja le cas !
[EDIT]
Voici le fichier en question dans sa derniere version : http://www.kernel.org/git/?p=linux [...] x/limits.h
Marsh Posté le 10-01-2006 à 15:55:05
ok merci pour ces explications !
bipparou a écrit : En 2.6.14.3 il semberai que ce soit deja le cas ! |
j'ai le même fichier limits.h excepté NGROUPS_MAX qui est à 32
il me suffit donc de modifier (32 -> 65536) et de redémarer le poste?
Marsh Posté le 10-01-2006 à 16:50:14
apparement ce n'est pas le cas, il faut que je recompile mon noyau?
Marsh Posté le 10-01-2006 à 17:00:51
Y a pas à dire mais une configuration à chaud via /proc serait quand même plus "user friendly"
Marsh Posté le 10-01-2006 à 17:04:04
ReplyMarsh Posté le 10-01-2006 à 17:15:53
Certains paramètres du noyaux peuvent être manipulé (changer la valeur) sans recompiler et installer un nouveau noyau. Par exemple pour activer/désactiver le routage.
Cette configuration peut se faire en éditant les /fichier se trouvant dans /proc ou par la commande sysctl. C'est flexible et utile...
Marsh Posté le 10-01-2006 à 17:15:56
ReplyMarsh Posté le 10-01-2006 à 17:25:39
la variable a modifier est /proc/sys/kernel/ngroups_max
essaie un echo 100 > /proc/sys/kernel/ngroups_max
et ressaie de l'affectation de groupe
si ca marche, il faut que tu modifies le fichier /etc/sysctl.conf en mettant
kernel.ngroups_max 100
Marsh Posté le 10-01-2006 à 17:27:07
ReplyMarsh Posté le 10-01-2006 à 17:27:25
je viens de tester et je me fais jeter avec le echo ("operation non permise" )
donc essaie en modifiant directement le sysctl.conf et il faudra sans doute rebooter
Marsh Posté le 10-01-2006 à 17:28:01
La commande sysctl kernel.ngroups_max renvoi kernel.ngroups_max = 65536 ...
C'est bien la valeur que je souhaite avoir ... pourtant la limite est toujours à 32.
Marsh Posté le 10-01-2006 à 17:28:03
l0ky > j'avais meme pas vu
Kelu > ah
Marsh Posté le 10-01-2006 à 17:29:40
le ngroups_max doit alors correspondre au nombre maximal de groupes definis sur le systeme
Marsh Posté le 10-01-2006 à 17:31:25
d'après ce que j'ai lu, le ngroups_max correspond bien au nombre de groupes pour un utilisateur ...
Marsh Posté le 10-01-2006 à 18:55:40
si vous avez une idée ...
comment la limite à 32 peut-elle être encore active alors que ngroups_max est bien à 65536?
Merci de votre aide
Marsh Posté le 11-01-2006 à 10:54:47
la nuit porte conseil ... je suis sûr que avez tous réfléchi à mon problème ... ;-)
alors une idée, une piste ?
Marsh Posté le 10-01-2006 à 13:07:29
Bonjour,
je fais appel à vos connaissance car là j'avoue que je sèche complétement ...
voici mon problème :
j'ai les groupes suivant de créés :
cl1, cl2, cl3 ... , cl89, cl90
j'ai un dossier pour chaque client :
client1, client2, client3 ... , client89, client90 avec pour chacun les droits suivant www-data:cl1 (www-data:cl2 ...)
je souhaite ajouter l'utilisateur dirigeant à chacun de ces 90 groupes :
gpasswd -a dirigeant cl1
gpasswd -a dirigeant cl2
gpasswd -a dirigeant cl3
...
gpasswd -a dirigeant cl89
gpasswd -a dirigeant cl90
pas de problème après avoir ajouté l'utilisateur dirigeant aux 30 premiers groupes, cet utilisateur a bien les droits d'accès sur chacun des dossiers client1 à client30
mais c'est la que ça se complique sans raison apparente : à partir du groupe cl31, je ne parviens plus à donner les droits d'accès à l'utilisateur dirigeant. La commande gpasswd est bien prise en compte mais quand je fais un simple "touch fichier" dans le répertoire client31 j'ai l'erreur "Permission non accordée" ...
Si vous avez une idée ...
Merci d'avance.
Kelu