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的值。

  • 相关阅读:
    STM32位带操作
    url参数 加密
    object.key 对象的键排序 可能出现的问题
    在vue项目中 获取容器的高度
    navigator 判断移动端是Android还是iOS
    Nginx下载地址
    Sublime Text3快捷键大全
    鼠标拖着元素飞
    g6 cavans
    vue img标签图片加载时 闪烁
  • 原文地址:https://www.cnblogs.com/sky-cheng/p/14035143.html
Copyright © 2011-2022 走看看