/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
লগআউট যথেষ্ট হওয়া উচিত
ইউভিভি

উত্তর:


108

না তবে আপনার সমস্ত সক্রিয় সেশন উইন্ডো বন্ধ করা উচিত। তারা এখনও পুরানো মূল্যবোধ মনে রাখে। অন্য কথায়, লগ আউট করে ফিরে। প্রতিটি দূরবর্তী নতুন সেশন বা স্থানীয় সুরক্ষিত শেল এর প্রভাবী সীমা পরিবর্তন।


17
যদি আমি কোনও ব্যবহারকারীর সীমা নির্ধারণ করতে চাই যার লগইন নেই, যেমন আমি যদি ব্যবহারকারীর জন্য nofileসীমাটি সেট করতে চাই ? পুনরায় বুট না করে কীভাবে করব? আমার কি কেবল পরিষেবাটি পুনরায় চালু করার দরকার আছে ? 94000mongodbmongodb
আলেকজ মাগুরা

2
@ আলেকজেগুড়া আপনি prlimitকমান্ডটি দিয়ে চলমান প্রক্রিয়াগুলির rlimits পরিবর্তন করতে পারেন ।
ব্র্যাচলে

7
@ গিলিস, যথার্থতার জন্য ধন্যবাদ, আমি অস্পষ্টতা এড়াতে আমার উত্তর সম্পাদনা করেছি। তবে sudo service mongodb restartনতুন সীমা মান সহ পরিষেবাটি চলমান দেওয়া ব্যবহার করে একটি নতুন পরিষেবা শুরু করা যথেষ্ট।
স্লিক্স

6
আপনি যদি উবুন্টু ব্যবহার করেন, এবং মংডোবটি আপস্টার্ট দ্বারা শুরু করা হয়, তবে এই সীমাগুলি পরিবর্তন করা মঙ্গোদবকে প্রভাবিত করবে না। যেমন upstart/ ইত্যাদি / সুরক্ষা কনফিগারেশনগুলি না পড়েন bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669 আপনাকে অবশ্যই limitএটির আপস্টার্ট কনফিগারেশন ফাইলে স্তব তৈরি করতে হবে ।
এইচভিএনএনএস 3

5
এটি আর একটি বিষয়। upstartডিজাইন দ্বারা সেট সীমাবদ্ধতা উপেক্ষা /etc/security/limits.conf
স্লাইক্স

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

পরিবর্তন করার জন্য nofileকরতে 94000 আপনি কি করতে পারেন:

ulimit -n 94000

15

সীমাবদ্ধতা পিতামাতার প্রক্রিয়া থেকে তার শিশু প্রক্রিয়াগুলিতে উত্তরাধিকার সূত্রে প্রাপ্ত হয়। রুট হিসাবে চলমান প্রক্রিয়াগুলি নির্বিচারে সীমা পরিবর্তন করতে পারে; অন্যান্য প্রক্রিয়া কঠোর সীমা বাড়াতে পারে না। সুতরাং লগইন প্রক্রিয়া দ্বারা নির্ধারিত হার্ড সীমাগুলি একটি সেশনে সমস্ত প্রক্রিয়াগুলিকে প্রভাবিত করে।

আপনি যদি পরিবর্তন করেন তবে এটি /etc/security/limits.confনতুন সেশনগুলির সমস্ত নতুন সেশন এবং প্রক্রিয়াগুলিকে প্রভাবিত করবে। এটি ইতিমধ্যে চলমান প্রক্রিয়াগুলিকে প্রভাবিত করবে না বা ইতিমধ্যে চলমান প্রক্রিয়াগুলি দ্বারা শুরু হওয়া প্রক্রিয়াগুলি প্রভাব ফেলবে না।

সুতরাং আপনার যদি কিছু সীমাবদ্ধতা বাড়ানোর দরকার হয় তবে আপনাকে লগ আউট করতে হবে এবং আবার সাইন ইন করতে হবে, বা অন্য সেশন শুরু করতে হবে (উদাহরণস্বরূপ ssh localhost, বা অন্য কনসোলে)।


4

টোম্বার্টের উত্তরটি উদ্ধৃত করতে

এই সীমাগুলি পুনরায় বুটের পরে প্রয়োগ করা হবে।

আপনি যদি রিবুট ছাড়াই পরিবর্তনগুলি প্রয়োগ করতে চান /etc/pam.d/common-sessionতবে ফাইলের শেষে এই লাইনটি যুক্ত করে সংশোধন করুন:

session required pam_limits.so
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.