web-dev-qa-db-fra.com

les changements dans /etc/security/limits.conf nécessitent-ils un redémarrage?

Effectuez des modifications dans /etc/security/limits.conf nécessite un redémarrage avant de prendre effet?

Par exemple, si j'ai un script qui définit les limites suivantes dans /etc/security/limits.conf, cela nécessite-t-il un redémarrage du système avant que ces limites prennent effet?

* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000
152
Alexej Magura

Non, mais vous devez fermer toutes les fenêtres de sessions actives. Ils se souviennent encore des anciennes valeurs. En d'autres termes, déconnectez-vous et reconnectez-vous. Chaque nouvelle session distante ou un shell local sécurisé prend effet des modifications limites.

117
Slyx

Appliquez les modifications directement à un processus en cours si vous avez installé prlimit (fourni avec util-linux-2.21)

prlimit --pid <pid> --<limit>=<soft>:<hard>

par exemple

prlimit --pid 12345 --nofile=1024:2048

se référer ici

38
Ram

Pour définir temporairement la limite de fichiers ouverts pour l'utilisateur sous lequel vous êtes actuellement connecté (par exemple, 'root'): Vous pouvez également utiliser la commande ulimit pour modifier les valeurs dans votre shell actuel. Cependant, les limites strictes ne peuvent être ajustées à la baisse que si vous êtes root.

Exemple:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62449
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Pour changer le nofile en 940 vous pouvez faire:

ulimit -n 94000
30
Boogy

Les limites sont héritées d'un processus parent à ses processus enfants. Les processus s'exécutant en tant que root peuvent modifier arbitrairement les limites; d'autres processus ne peuvent pas augmenter les limites strictes. Ainsi, les limites strictes définies par le processus de connexion affectent tous les processus d'une session.

Si vous changez /etc/security/limits.conf, cela affectera toutes les nouvelles sessions et les processus de ces nouvelles sessions. Cela n'affectera pas les processus qui sont déjà en cours d'exécution, ni les processus démarrés par des processus qui sont déjà en cours d'exécution.

Donc, si vous devez augmenter certaines limites, vous devrez soit vous déconnecter puis vous reconnecter, soit démarrer une autre session (par exemple avec ssh localhost, ou sur une autre console).

Pour citer @ réponse de Tombart

Ces limites seront appliquées après le redémarrage.

Si vous souhaitez appliquer des modifications sans redémarrer, modifiez /etc/pam.d/common-session en ajoutant cette ligne à la fin du fichier:

session required pam_limits.so
6
serv-inc