(bash) ulimit -n

Le
Ritsz
Bonjour,

je veux que les utilisateurs aient une limite d'au moins 10 000 fichiers
ouverts max, et non pas 1024 comme par défaut. Je fais donc :

ulimit -n 10000

Et ça me dit que je n'ai pas les droits. Ok, je le fais en root. Ca a l'air
de passer. Mais quand je reviens en user, ulimit -n donne toujours 1024 !

Comment faire pour que les modifs de ulimit soient appliquées de suite ?
est-ce au moins possible ?

(linux 2.6.3-7)

--
Ritsz
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
TiChou
Le #1529992
Dans le message *Ritsz* tapota sur f.c.o.l.configuration :

Bonjour,


Bonsoir,

je veux que les utilisateurs aient une limite d'au moins 10 000 fichiers
ouverts max, et non pas 1024 comme par défaut. Je fais donc :

ulimit -n 10000

Et ça me dit que je n'ai pas les droits.


Oui normal, sinon autant setuid la commande /sbin/shutdown. ;-)

Ok, je le fais en root. Ca a l'air de passer. Mais quand je reviens en
user, ulimit -n donne toujours 1024 !


Là aussi normal, l'environement père n'hérite jamais de l'environement fils,
dans l'autre sens si.
Vous pouvez vous logger en root, fixer les limites voulues et ouvrir une
session (avec 'su' par exemple) sur l'utilisateur voulu.

Comment faire pour que les modifs de ulimit soient appliquées de suite ?
est-ce au moins possible ?


Cela dépend si votre système utilise PAM ou non pour l'authentification de
vos utilisateurs.

Si votre système n'utilise pas PAM, vous pouvez fixer les limites sur un
utilisateur de deux manières :

- En utilisant le champ GECOS de l'utilisateur dans le fichier /etc/passwd
avec les arguments pri=, umask= et ulimit=.
Cela donnerait par exemple :
tichou:x:1000:100:pri=0,umask3,ulimit=N10000:/home/tichou:/bin/zsh

- En utilisant le fichier /etc/limits dans lequel il suffit d'y mettre la
ligne :

tichou N10000

ou pour tous les utilisateurs :

* N10000

A noter que les limites définies par ces deux méthodes ne s'appliquent que
si l'authentification se fait avec login.

Pour plus de précision, man 5 passwd, man limits et man login

Si votre système utilise PAM, pour fixer les limites d'un utilisateur ou
d'un groupe, il faut utiliser le module pam_limits et configurer les limites
dans le fichier /etc/security/limits.conf.

Par exemple mettre dans ce fichier la ligne :

tichou soft nofile 10000

Voir le fichier README.pam_limits dans la documentation de PAM et man
pam.conf.

--
TiChou

ritsz
Le #1529988
Le Wed, 07 Apr 2004 20:29:19 +0200, TiChou a écrit :

...
Comment faire pour que les modifs de ulimit soient appliquées de suite ?
est-ce au moins possible ?


Cela dépend si votre système utilise PAM ou non pour l'authentification de
vos utilisateurs.


Pas de PAM.

Si votre système n'utilise pas PAM, vous pouvez fixer les limites sur un
utilisateur de deux manières :

- En utilisant le champ GECOS de l'utilisateur dans le fichier /etc/passwd
avec les arguments pri=, umask= et ulimit=.
Cela donnerait par exemple :
tichou:x:1000:100:pri=0,umask3,ulimit=N10000:/home/tichou:/bin/zsh


Il me reste à essayer ça.

- En utilisant le fichier /etc/limits dans lequel il suffit d'y mettre la
ligne :

tichou N10000


Marche pas... La syntaxe ne ressemble pas à ce qui est dit dans les
commentaires du fichier, mais ce qu'ils disent ne mentionne pas le nombre
de fichiers ouverts, donc je n'ai pas su extrapoler.

A noter que les limites définies par ces deux méthodes ne s'appliquent
que si l'authentification se fait avec login.


Euh, ça veut dire que c'est censé marcher chez moi, ça... mmmpff.

Pour plus de précision, man 5 passwd, man limits et man login


Ah, j'avais fait man bash puis /ulimit. Je vais consulter tout ça.

Merci bien.

--
Ritsz


ritsz
Le #1529987
Le Wed, 07 Apr 2004 21:20:52 +0200, ritsz a écrit :

[...]
- En utilisant le fichier /etc/limits dans lequel il suffit d'y mettre la
ligne :

tichou N10000


Marche pas... La syntaxe ne ressemble pas à ce qui est dit dans les
commentaires du fichier, mais ce qu'ils disent ne mentionne pas le nombre
de fichiers ouverts, donc je n'ai pas su extrapoler.

[...]


Ca marche en respectant la syntaxe du fichier /etc/security/limits.conf :

user hard nofile 10000
user soft nofile 10000

Merci de m'avoir mis sur la piste.

Cordialement,

--
Ritsz


TiChou
Le #1529983
Dans le message *ritsz* tapota sur f.c.o.l.configuration :

Ca marche en respectant la syntaxe du fichier /etc/security/limits.conf :

user hard nofile 10000
user soft nofile 10000


Très bien. Mais cela veut alors dire que votre système utilise PAM
contrairement à ce que vous disiez.

Merci de m'avoir mis sur la piste.


De rien. :)

--
TiChou

ritsz
Le #1529982
Le Wed, 07 Apr 2004 22:12:56 +0200, TiChou a écrit :

Ca marche en respectant la syntaxe du fichier /etc/security/limits.conf :

user hard nofile 10000
user soft nofile 10000


Très bien. Mais cela veut alors dire que votre système utilise PAM
contrairement à ce que vous disiez.


L'informatique *nixienne a quelquefois des allures mystiques. La Mandrake
y contribue, puisqu'il me semble détecter quelques menus comportements
aléatoires dans les scripts de la distribution... Néanmoins sur ce coup
c'est de ma faute je m'étais mal informé. Merci encore.

--
Ritsz


Publicité
Poster une réponse
Anonyme