Estoy tratando de aumentar el descriptor de archivo abierto máximo para todos los usuarios en una máquina ubuntu.
Esta pregunta es algo así como un seguimiento de esta pregunta.
excepto que he agregado las entradas "root" requeridas en limits.conf
Aquí están las entradas
* soft nofile 100000
* hard nofile 100000
root soft nofile 100000
root hard nofile 100000
Las líneas relacionadas con no pam_limits.so
se han comentado en todos los archivos relevantes en /etc/pam.d/ y fs.file-max
se han configurado correctamente en /etc/sysctl.conf
Sin embargo, todavía veo
abc@machine-2:/etc/pam.d$ ulimit -n
1024
después de reiniciar.
¿Cual podría ser el problema?
Mi shell predeterminado es / bin / sh y no puedo usar chsh para cambiar mi shell predeterminado ya que mi usuario en la máquina se autentica a través de algún esquema de autenticación distribuido.
Respuestas:
Tuve un problema similar, pero solo con inicios de sesión SSH. Los inicios de sesión locales (a través de la consola) respetaron el
/etc/security/limits.conf
.Al final resultó que, cuando configuras:
en el
/etc/ssh/sshd_config
archivo, luego sshd bifurca a un hijo sin privilegios para configurar el entorno de la cuenta. Debido a que este hijo no tiene privilegios, entonces pam_limits.so establecer límites superiores no tuvo ningún efecto.Tan pronto como me puse
en
/etc/ssh/sshd_config
y rebotó el servicio SSH, entonces el archivo limits.conf se respetaron los inicios de sesión con SSH.fuente
UsePAM yes
. (+1 por señalarme a sshd-config)Sospecho que el ulimit está siendo aplicado por un / etc / profile o un ~ / .bashrc. El hecho de que su sistema tenga una pam complicada, confirmaría que algo no va mal.
También confirmaría que no hay un archivo errante en /etc/security/limits.d/ que se analiza como se menciona en pam_limits (8).
Agregaría el parámetro de depuración a la línea requerida pam_limits.conf y luego vería /var/log/auth.log al iniciar sesión.
Si su límite suave es 1024, ¿cuál es su límite duro?
su debería obtener un nuevo y nuevo inicio de sesión con su utilizando el argumento -l.
su -l -s / bin / bash
Buena suerte.
fuente
ulimit -Hn
En el servidor Redhat registrado como root
/etc/security/limits.conf
comando strace registrado como root
con otra concha abierta loglimit
De esta manera, sé que se cargó pam_limits y se leyó limit.conf, si se cargó su pam_limits pero aún ve otros valores usando ulimit -n, verifique su perfil de shell como @etherfish le dijo
fuente
Estaba con un problema como este, aquí lo que hice.
El comando strace imprimirá todas las interacciones que el proceso está haciendo con bibliotecas externas, por lo que con él podemos ver si nuestra configuración está cargada o no.
Entonces, sí, como se sugirió anteriormente:
En mi problema, el registro de strace (strace -o log su - nombre de usuario) no tiene ninguna instancia de texto de límites, por lo que el archivo limits.conf NO se cargó.
Primero me aseguro de que pam_limits.so busque /etc/security/limits.conf
Entonces, me aseguro de que el módulo pam_limits.so se cargue en la operación de autenticación en archivos ubicados en /etc/pam.d ... por ejemplo, en /etc/pam.d/su, agregué:
Ahora, puedo hacer un "su" para mi usuario y los límites se cargarán. Puede rehacer el paso de strace para asegurarse.
Mi Linux es un LFS, por lo que es mi culpa la ausencia de pam_limits.so en los archivos /etc/pam.d. En otras distribuciones, no creo que sea este problema exacto.
Pero espero que esto ayude.
fuente
En mi caso (Centos 6.10), la versión mostró que después de establecer el límite desde /etc/security/limits.conf más adelante en el proceso de inicio de sesión, se restableció desde /etc/security/limits.d/90-nproc.conf para todos los que no usuarios raíz:
fuente