Different values returned by ulimit -r

2019-06-22 18:04发布

问题:

I added to my system-wide /etc/security/limits.conf the following two rows:

*       soft    rtprio      55
*       hard    rtprio      55

After a system reboot, I get two different results according to the way I access my user account on the machine.

user@client# ssh user@server

user@server# ulimit -r
55

Then I logout and login again as root

user@client# ssh root@server

root@server# su - user
user@server# ulimit -r
0

I have no special settings neither in .bashrc nor in any other places, or, at least, I think so.

Why is this happening?

回答1:

You must look at the PAM configuration of ssh and su. I suppose that they are not the same.

For example at my system:

$ grep limit /etc/pam.d/su
# Sets up user limits, please uncomment and read /etc/security/limits.conf
# (Replaces the use of /etc/limits in old login)
# session    required   pam_limits.so

$ grep limit /etc/pam.d/sshd
# access limits that are hard to express in sshd_config.
# Set up user limits from /etc/security/limits.conf.
session    required     pam_limits.so

As you can see in one of the cases the pam_limits line is commented. I suppose that you have something like this also.