我在系统范围的/etc/security/limits.conf中添加了以下两行:

*       soft    rtprio      55
*       hard    rtprio      55

系统重新启动后,根据我在计算机上访问用户帐户的方式,我会得到两个不同的结果。
user@client# ssh user@server

user@server# ulimit -r
55

然后我注销并再次以root身份登录
user@client# ssh root@server

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

我既没有在.bashrc中也没有在任何其他地方进行任何特殊设置,或者至少,我认为是。

为什么会这样呢?

最佳答案

您必须查看sshsu的PAM配置。我想他们不一样。

例如在我的系统上:

$ 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

如您所见,在其中一种情况下,pam_limits行被注释。我想你也有类似的东西。

09-28 06:47