zoukankan      html  css  js  c++  java
  • linux 打开文件句柄数nofile设置不当,引起root用户登录“permission denied”错误

    一、将/etc/security/limits.conf文件添加

    *                -       nofile         6525000

    后,造成root用户登录“permission denied”错误

    二. 问题定位

    由于正常登录被拒绝了,因此准备通过单用户模式去查看系统日志。在这之前,通过询问开发人员最近几次的操作,发现开发人员修改过nofile参数,并且修改为unlimited了。

    启动linux时出现启动菜单时,按"e"键,然后修改第16行将"ro"修改为"rw init=/sysroot/bin/sh",按ctrl+x启动 进入单用户模式,并chroot /sysroot,查看/etc/security/limits.conf文件,果然nofilenproc被修改了,将nofile设置删除,保存,重启机器正常

    三. 知识扩展

    ulimit命令是用来设置shell启动进程所占用的资源限制的,而nofile是一个有限的值,并不是unlimited的。设置该值的时候不能超出nr_open定义的范围(在2.6.25内核之前nr_open定义为1024*1024)。 
    nr_open是一个进程最多同时打开的文件句柄数量,默认nr_open的值为1048576,可以通过cat /proc/sys/fs/nr_open查看。

    如果我们想要增大nofile的值,比如300万,则首先需要修改nr_open的值,通过直接sysctl -w fs.nr_open=或者直接写入sysctl.conf文件来修改nr_open的值,之后在增大nofile的值。

  • 相关阅读:
    Ubuntu设置文件默认打开方式
    车险与费用计算(仅做参考)
    房贷计算
    PHP敏感词处理
    记一次,接口pending
    layer confirm确认框,多个按钮
    crontab vim 模式
    git指定迁出目录
    mysql树形结构
    Kubeflow实战: 入门介绍与部署实践
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/14035143.html
Copyright © 2011-2022 走看看