No servidor Redhat logado como root
/etc/security/limits.conf
user01 - nofile 2048
comando strace logado como root
strace -o loglimit su - user01
com outro shell loglimit aberto
grep "limit" loglimit
open("/lib64/security/pam_limits.so", O_RDONLY) = 6
..........
..........
open("/etc/security/limits.conf", O_RDONLY) = 3
read(3, "# /etc/security/limits.conf\n#\n#E"..., 4096) = 1823
open("/etc/security/limits.d", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
setrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0
Eu sei que o pam_limits foi carregado e o limits.conf foi lido, se o seu pam_limits foi carregado mas você ainda vê outros valores usando o ulimit -n, verifique o seu perfil do shell como @etherfish told