ulimit -n পরিবর্তন হচ্ছে না - মান সীমাবদ্ধতাগুলির কোনও প্রভাব নেই


13

আমি একটি উবুন্টু মেশিনে সমস্ত ব্যবহারকারীর জন্য ওপেন ফাইল ডেস্ক্রিপ্টর সর্বাধিক বাড়ানোর চেষ্টা করছি am

এই প্রশ্নটি এই প্রশ্নের কিছুটা অনুসরণ follow

পাম_লিমিটস.সো প্রয়োজনীয়তার পরেও ওপেন ফাইল বিবরণকারী সীমাবদ্ধতা.কনফ সেটিংটি ইউলিমিট দ্বারা পড়া হয় না

এটি ব্যতীত আমি সীমাবদ্ধতাগুলিতে প্রয়োজনীয় "রুট" এন্ট্রি যুক্ত করেছি

এখানে এন্ট্রি দেওয়া হয়

*               soft    nofile           100000
*               hard    nofile           100000
root            soft    nofile           100000
root            hard    nofile           100000

সম্পর্কিত লাইনগুলি pam_limits.so/etc/pam.d/ এ সম্পর্কিত সমস্ত ফাইলগুলিতে অ-মন্তব্য fs.file-maxকরা হয়েছে এবং /etc/sysctl.conf এ সঠিকভাবে সেট করা হয়েছে

তবে, আমি এখনও দেখতে

abc@machine-2:/etc/pam.d$ ulimit -n
1024

পুনরায় বুট করার পরে।

কি সমস্যা হতে পারে?

আমার ডিফল্ট শেলটি / বিন / শ এবং আমি ডিফল্ট শেলটি পরিবর্তন করতে chsh ব্যবহার করতে পারি না কারণ মেশিনে থাকা আমার ব্যবহারকারীর কিছু বিতরণযোগ্য প্রমাণীকরণ প্রকল্পের মাধ্যমে প্রমাণীকরণ করা হয়েছে।


strace -o loglimit su - abc এবং তার পরে egrep "(সীমা | খোলা)" লগলিমিট, সম্ভবত আপনার প্যাম কনফিগারেশনটি ভুল
c4f4t0r

@ c4f4t0r, su - বিকল্পটি যখন যুক্তিটি শেষ যুক্তিযুক্ত তখনই নতুন লগইন ঘটায়। আমি কেবল এটি জানি কারণ আমি কেবল সেই ম্যান পৃষ্ঠাটি পড়ছিলাম। এছাড়াও, বিশদ হিসাবে, একজন নিয়মিত ব্যবহারকারী একটি স্যুইড রুট বাইনারি স্ট্রেস করতে পারে না।
ইথারফিশ

রুট হিসাবে আপনার কমান্ডটি strace -o লগলিমিট su - abc
c4f4t0r

স্প্যামের জন্য দুঃখিত তবে আমার এই জাতীয় ইস্যুটি রয়েছে unix.stackexchange.com/questions/200310/…
ভ্লাদেলি

উত্তর:


5

আমার একই সমস্যা ছিল তবে কেবল এসএসএইচ লগইন সহ। স্থানীয় লগইন (কনসোল মাধ্যমে) শ্রদ্ধা /etc/security/limits.conf

যেমনটি পরিণত হয়েছে, আপনি যখন সেট করেছেন:

UsePrivilegeSeparation yes

মধ্যে /etc/ssh/sshd_configফাইল, তারপর কাটাচামচ অ্যাকাউন্টের env সেট আপ করার জন্য একটি সমাজের নিচুতলার বাসিন্দা শিশু sshd। কারণ এই শিশুটি অনিরাপদ, তারপরে পাম_লিমিটস upper তাই উচ্চতর সীমা নির্ধারণের কোনও প্রভাব ছিল না।

আমি সেট করার সাথে সাথে

UsePrivilegeSeparation no

মধ্যে /etc/ssh/sshd_configএবং SSH সেবা ফেরত, তারপর limits.conf ফাইল, SSH লগইন সঙ্গে সম্মান করা হয়।


2
আমার ক্ষেত্রে আমি sshd-config এ পরিবর্তন করেছি UsePAM yes। (আমাকে sshd-
র‌্যান্ডাল হুইটম্যান

4

আমি সন্দেহ করি যে উলিমিটটি একটি / ইত্যাদি / প্রোফাইল বা একটি। / .Bashrc দ্বারা প্রয়োগ করা হচ্ছে। আপনার সিস্টেমে একটি জটিল প্যাম রয়েছে তা নিশ্চিত করেই আমি নিশ্চিত করব যে কিছু খারাপ হচ্ছে না।

আমি এটিও নিশ্চিত করেছিলাম যে পাম_লিমিটস (8) তে উল্লিখিত হিসাবে /etc/security/limits.d/ এ কোনও ভুল ফাইল নেই ed

আমি সেশনটির প্রয়োজনীয় পাম_লিমিট.কনফ লাইনে ডিবাগ প্যারামিটার যুক্ত করব এবং তারপরে আপনি লগ ইন করার সাথে সাথে /var/log/auth.log দেখুন।

যদি আপনার নরম সীমা 1024 হয় তবে আপনার হার্ড সীমাটি কী?

su -l আর্গুমেন্ট ব্যবহার করে su দিয়ে আপনাকে একটি নতুন, নতুন লগ ইন করা উচিত।

su -l -s / বিন / বাশ

শুভকামনা


আমার হার্ড সীমা 4096 অর্থাত্ulimit -Hn
নার্ভ

4

রেডহ্যাট সার্ভারে রুট হিসাবে লগইন হয়েছে

/etc/security/limits.conf

user01  -       nofile  2048

strace কমান্ডটি রুট হিসাবে লগ হয়েছে

strace -o loglimit su - user01

অন্যান্য শেল ওপেন লগলিমিটের সাথে

grep "limit" loglimit
open("/lib64/security/pam_limits.so", O_RDONLY) = 6
 ..........
 ..........
 open("/etc/security/limits.conf", O_RDONLY) = 3
 read(3, "# /etc/security/limits.conf\n#\n#E"..., 4096) = 1823
 open("/etc/security/limits.d", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
 setrlimit(RLIMIT_NOFILE, {rlim_cur=2*1024, rlim_max=2*1024}) = 0

আমি এইভাবে জানি যে, পাম_লিমিটগুলি লোড করা হয়েছিল এবং সীমাবদ্ধতাগুলি পড়ানো হয়েছিল, যদি আপনার পাম_লিমিটগুলি লোড করা হয় তবে আপনি এখনও ইউলিমিট-এন ব্যবহার করে অন্যান্য মান দেখতে পান তবে আপনার শেল প্রোফাইলটি @ টেরফিশকে যেমন বলেছে ততক্ষণ দেখুন


3

আমি এই মত একটি ইস্যু নিয়ে ছিলাম, এখানে আমি কী করেছি।

স্ট্রেস কমান্ড প্রসেসটি সমস্ত বাহ্যিক লাইব্রেরিগুলির সাথে করা ইন্টারঅ্যাকশন মুদ্রণ করবে, সুতরাং এটির সাহায্যে আমরা দেখতে পাব যে আমাদের কনফিগারটি লোড হয়েছে কিনা।

সুতরাং, আমি যেমন উপরে প্রস্তাব মত:

root:/etc/pam.d$ strace -o ~/loglimit su - glaudiston
glaudiston:~$ exit
logout
root:/etc/pam.d$ cat ~/loglimit | grep limits.conf

আমার ইস্যুতে, স্ট্রেস লগ (strace -o লগ su - ব্যবহারকারীর নাম) এর সীমাবদ্ধতা পাঠ্যের কোনও উদাহরণ নেই, সুতরাং ফাইলের সীমাবদ্ধতা ফাইলটি লোড করা হয়নি।

প্রথমে আমি নিশ্চিত হয়েছি যে পাম_লিমিটস.ও /etc/security/limits.conf সন্ধান করে

root:/etc/pam.d$ strings /lib/security/pam_limits.so | grep limits.conf
/etc/security/limits.conf

সুতরাং, আমি নিশ্চিত করেছি যে মডিউল pam_limits.so /etc/pam.d এ অবস্থিত ফাইলগুলিতে লেখার অপারেশনে লোড হয়েছে ... উদাহরণস্বরূপ, /etc/pam.d/su এ, আমি যুক্ত করেছি:

session   required    pam_limits.so

এখন, আমি আমার ব্যবহারকারীর কাছে "su" তৈরি করতে পারি এবং সীমাগুলি লোড করা হবে। এটি নিশ্চিত করতে আপনি স্ট্রেস স্টেপটি আবার করতে পারেন।

আমার লিনাক্স একটি এলএফএস, তেমনি আমার ত্রুটি /etc/pam.d ফাইলগুলিতে pam_limits.so এর অনুপস্থিতি। অন্যান্য ডিস্ট্রোজে আমি এই সঠিক সমস্যা বলে মনে করি না।

তবে আশা করি এটি সাহায্য করবে।


1

আমার ক্ষেত্রে (সেন্টোস 10.১০) স্ট্রেস দেখিয়েছিল যে পরে লগইন প্রক্রিয়াতে /etc/security/limits.conf থেকে সীমা নির্ধারণ করার পরে এটি সমস্ত অ-এর জন্য /etc/security/limits.d/90-nproc.conf থেকে পুনরায় সেট করা হয়েছিল -মূল ব্যবহারকারীগণ:

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