日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS6.x 下 /etc/security/limits.conf 被改错的故障经历

發布時間:2023/12/18 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS6.x 下 /etc/security/limits.conf 被改错的故障经历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Intro

我司本小廠,每個員工都是身兼數職,所以開發人員直接登錄線上服務器改東西是常態。有些開發人員,自持水平較高(的確水平也是較高,但缺乏對系統的敬畏),所以總是越俎代庖,改一些本身應該是線上運維人員改動的配置。本文提到的 /etc/security/limits.conf 兩次改錯導致的事故,皆是因為于此。

In details

The first time

第一次是在 /etc/security/limits.conf 中加了兩句:

* soft nofile unlimited * hard nofile unlimited

結果就是:
所有用戶無法登錄。一登錄,馬上被踢出來。

最后解決方法:
單用戶進系統把文件 /etc/security/limits.conf 改回來。

原因:
配置文件 /etc/security/limits.conf 中 nofile 的參數,只支持數字,"unlimited" 顯然系統不認。

The second time

第二次也是在 /etc/security/limits.conf 中加了兩句:

root soft nofile 2000000 root hard nofile 2000000

結果是:

  • root 用戶一登錄,就被踢
  • 普通用戶可登錄,但 sudo su - 一切成 root 馬上會被踢(但普通用戶只支持 sudo su -)

解決方法:
像前面文章 一次本地提權的實戰演練 有提到的:

  • 普通用戶登錄
  • 用 DirtyCow(臟牛)本地提權
  • 然后把 /etc/security/limits.conf 改回去。
  • 原因:

  • 配置文件 /etc/security/limits.conf 中 nofile 的參數,其最大值不能大于 kernel 參數 NR_OPEN 的限制
  • 而 kernel 2.6.32 里,NR_OPEN 的值缺省為 1024*1024=1048576
  • 這里的 2000000>1048576,所以出錯被踢
  • 稍稍延展一下,如果我一定要將 nofile 參數設置為 2000000呢?
    其實這也有辦法,提高 kernel 里 NR_OPEN 的值即可,具體方法是:

    [[ ! -e /etc/sysctl.d ]] && mkdir /etc/sysctl.d; echo "fs.nr_open = 2000000" > /etc/sysctl.d/nr_open.conf; sysctl -w fs.nr_open=2000000;

    總結

    總而言之,言而總之:Linux 下配置文件 /etc/security/limits.conf 文件不要隨意改動。我其實還是傾向于在啟動服務的啟動腳本里手工用 ulimit 命令來設置相關參數而不要直接在 /etc/security/limits.conf 文件里改。



    作者:haw_haw
    鏈接:https://www.jianshu.com/p/e3e7411f8afb
    來源:簡書
    簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權并注明出處。

    轉載于:https://www.cnblogs.com/augusite/p/10775115.html

    總結

    以上是生活随笔為你收集整理的CentOS6.x 下 /etc/security/limits.conf 被改错的故障经历的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。