/etc/security/limits.conf में परिवर्तन करने के लिए रिबूट की आवश्यकता होती है?


144

क्या /etc/security/limits.confप्रभावी होने से पहले रिबूट की आवश्यकता होती है?

जैसे अगर मेरे पास एक स्क्रिप्ट है जो निम्नलिखित सीमाएँ निर्धारित /etc/security/limits.confकरता है, तो क्या इससे सिस्टम को रिबूट करने की आवश्यकता होगी, इससे पहले कि वह सीमा प्रभावी हो जाए?

* hard nofile 94000
* soft nofile 94000
* hard nproc 64000
* soft nproc 64000

2
लॉगआउट पर्याप्त होना चाहिए
यूवीवी

फ़ाइल संपादित करें /etc/security/limits.d/90-nproc.conf और आप सिस्टम को रीबूट करें

जवाबों:


108

नहीं, लेकिन आपको सभी सक्रिय सत्र विंडो बंद करनी चाहिए। उन्हें आज भी पुराने मूल्य याद हैं। दूसरे शब्दों में, लॉग आउट और बैक इन करें। हर दूरस्थ नया सत्र या एक स्थानीय सुरक्षित शेल सीमा परिवर्तन का प्रभाव लेता है ।


17
क्या होगा यदि मैं एक उपयोगकर्ता के लिए सीमाएँ सेट करना चाहता हूँ जिसके पास लॉगिन नहीं है, जैसे कि यदि मैं उपयोगकर्ता के लिए nofileसीमा निर्धारित करना चाहता हूँ ? मैं रिबूट के बिना ऐसा कैसे करूंगा? क्या मुझे सेवा को पुनः आरंभ करने की आवश्यकता होगी ? 94000mongodbmongodb
अलेक्सज मगुरा

2
@AlexejMagura आप prlimitकमांड के साथ चलने की प्रक्रियाओं के रिप्लिट्स को संशोधित कर सकते हैं ।
ब्राचली

7
@ गिलेश, प्रीडिक्शन के लिए धन्यवाद, मैंने अस्पष्टता से बचने के लिए अपना उत्तर संपादित किया। हालाँकि एक नई सेवा का उपयोग sudo service mongodb restartकरना शुरू करना सेवा को नई सीमा मानों के साथ चलने के लिए पर्याप्त है।
स्लीक्स

6
यदि आप उबंटू का उपयोग कर रहे हैं, और मोंगोडब को ऊपर की ओर से शुरू किया गया है, तो इन सीमाओं को बदलने से मोंगॉडब प्रभावित नहीं होगा। जैसा कि upstart/ etc / security config Bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669 पढ़ा / पढ़ा नहीं गया है, आपको limitइसकी अपस्ट्रीम कॉन्फ़िग फ़ाइल में श्लोक सेट करना होगा ।
HVNSweeting

5
यह एक और मुद्दा है। upstartडिज़ाइन द्वारा निर्धारित सीमाओं को अनदेखा करता है /etc/security/limits.conf
11

35

यदि आपने प्रारंभिक इंस्टॉल किया है तो परिवर्तन को सीधे चल रही प्रक्रिया पर लागू करें (उपयोग-लिनेक्स -२.२१ के साथ आता है)

prlimit --pid <pid> --<limit>=<soft>:<hard>

उदाहरण के लिए

prlimit --pid 12345 --nofile=1024:2048

यहाँ देखें


29

आपके द्वारा वर्तमान में लॉग किए गए उपयोगकर्ता (जैसे 'रूट') के लिए ओपन फाइल की सीमा अस्थायी रूप से सेट करने के लिए: आप ulimitअपने वर्तमान शेल में मानों को बदलने के लिए कमांड का उपयोग भी कर सकते हैं । हालाँकि, हार्ड लिमिट्स को केवल तब तक ही एडजस्ट किया जा सकता है जब तक आप रूट नहीं होते।

उदाहरण:

# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 62449
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

94000 में बदलने के nofileलिए आप कर सकते हैं:

ulimit -n 94000

15

सीमाएं माता-पिता की प्रक्रिया से लेकर उसके बच्चे की प्रक्रियाओं तक विरासत में मिलती हैं। रूट के रूप में चल रही प्रक्रियाएं मनमाने ढंग से सीमाएं बदल सकती हैं; अन्य प्रक्रियाएँ कठिन सीमाएँ नहीं बढ़ा सकती हैं। इस प्रकार लॉगिन प्रक्रिया द्वारा निर्धारित कठिन सीमाएं एक सत्र में सभी प्रक्रियाओं को प्रभावित करती हैं।

यदि आप बदलते हैं /etc/security/limits.conf, तो यह नए सत्रों में सभी नए सत्रों और प्रक्रियाओं को प्रभावित करेगा। यह उन प्रक्रियाओं को प्रभावित नहीं करेगा जो पहले से चल रही हैं, और न ही पहले से चल रही प्रक्रियाओं द्वारा शुरू की गई प्रक्रियाएँ।

इसलिए यदि आपको कुछ सीमाएँ बढ़ाने की आवश्यकता है, तो आपको या तो लॉग आउट करना होगा और दूसरा सत्र शुरू करना होगा (उदाहरण के लिए ssh localhost, या किसी अन्य कंसोल पर)।


4

@ समाधि के उत्तर को उद्धृत करने के लिए

रिबूट के बाद इन सीमाओं को लागू किया जाएगा।

यदि आप रिबूट के बिना परिवर्तन लागू करना चाहते हैं, तो /etc/pam.d/common-sessionफ़ाइल के अंत में इस पंक्ति को जोड़कर संशोधित करें:

session required pam_limits.so
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.