CentOS 6/Linux su: 无法设置用户ID: 资源暂时不可用
系统环境:CentOS 6.5
今天在使用su切换用户doiido的的时候,出现了如下报错:
# su - doiido
su: 无法设置用户ID: 资源暂时不可用
同时使用SecureCRT等远程SSH工具均无法使用doiido用户连接。
查找相关资料,发现是在CentOS 6中,存在/etc/security/limits.d/90-nproc.config文件,此文件限制了普通权限用户的最大线程数,当此用户的最大线程数max user processes到达最高限制数,就无法连接登录。因此在无法减少线程的情况下只能修改此参数,具体修改方法如下:
1、查看max user processes
# su - doiido
su: 无法设置用户ID: 资源暂时不可用
# ulimit -u
1024
由此可以看出最大线程数为1024
2、修改max user processes
# vi /etc/security/limits.d/90-nproc.conf
* soft nproc 1024
root soft nproc unlimited
上面可以看除了root用户外的所有用户均限制为1024,因此通过可以注释此行或者将值改大来解决该问题
修改完成后保存退出,这样的修改是立马生效的(经测试成功)
3、还可以通过修改/etc/security/limits.conf文件,修改结果如下
# cat /etc/security/limits.conf
doiido soft nproc 2047
doiido hard nproc 16384
doiido soft nofile 1024
doiido hard nofile 65535
注:在CentOS 5中无此文件