Article / 文章中心

使用SSH登录ECS提示“Could not set limit for ‘nofile’: Operation not permitted”的解决方法

发布时间:2021-01-22 点击数:890

点击查看原图

问题描述

在limits.conf文件中修改可打开的文件数后,通过SSH登录ECS实例,提示以下信息。

pam_limits(crond:session): Could not set limit for ’nofile’: Operation not permitted

问题原因

若需要修改可打开的文件数,一般修改limits.conf文件的nofile即可,但是如果将此值修改太大,会导致SSH无法登录,因为打开的文件数会超过内核可打开的文件数。

解决方案

阿里云提醒您:

如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。

如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。

如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。

1.在修改可打开文件数,建议先修改内核可打开文件数。在/etc/sysctl.conf中修改fs.file-max和fs.nr_open值。

说明:

▫fs.file-max:系统内核级别所有进程可打开的文件数。

▫fs.nr_open:系统内核级别单个进程可打开的文件数。

2.修改完成后,编辑/etc/security/limits.conf文件,修改如下配置,本文将值修改为65535,具体数值以实际环境为准。

* soft nofile 65535

* hard nofile 65535

3.重启系统,然后依次执行以下命令,确认fs.file-max和fs.nr_open值修改成功。

cat /proc/sys/fs/file-max

cat /proc/sys/fs/nr_open

 

    如果您有其他问题,可以联系北京志远天成阿里云代理商,为您提供一对一专业全面的技术服务,同时新老阿里云会员,均可享受我公司代理商价格,欢迎咨询欢迎咨询.gif