dmesg: পড়ুন কার্নেল বাফার ব্যর্থ হয়েছে: অনুমতি অস্বীকার করেছে


17

যেহেতু সম্প্রতি দেবিয়ান ডিফল্ট আচরণের জন্য পরিবর্তন করেছে dmesgএবং আমি এটি কেবল স্থানীয় ব্যবহারকারীর কাছ থেকে ব্যবহার করতে পারি না।

% dmesg
dmesg: read kernel buffer failed: Operation not permitted

একই জন্য:

% cat /dev/kmsg                      
cat: /dev/kmsg: Operation not permitted

বাগ ট্র্যাকারে তারার এই নেতৃত্বটি:

আমি এই আচরণটি কীভাবে আগেরটির মতো ফিরিয়ে আনব, যেখানে স্থানীয় ব্যবহারকারীকে ডেমেসজি ব্যবহারের অনুমতি দেওয়া হয়। আমি এর জন্য একটি নির্দিষ্ট গ্রুপ খুঁজে পেলাম না (উদাঃ sudoers বা এর মতো কিছু)।

উত্তর:


22

সুতরাং এটি আসলে তুচ্ছ ছিল, বাগ রিপোর্টের শেষ বার্তাটি দেখে:

পূর্বোক্ত কার্নেল থেকে চেঞ্জলগের একটি অংশ: * সুরক্ষা, প্রিন্ট: SECURITY_DMESG_RESTRICT সক্ষম করুন, ডিফল্টরূপে কার্নেল লগ পড়ার জন্য অ-রুট ব্যবহারকারীদের বাধা দেয় (সিস্টেস্ট: কার্নেল.ডেমস_রেস্ট্রিট)

সুতরাং সমাধানটি একবার চালানো সহজ:

% sudo sysctl kernel.dmesg_restrict=0
kernel.dmesg_restrict = 0

তারপরে আপনার স্থানীয় ব্যবহারকারী আবার ব্যবহার শুরু করতে পারেন dmesg। এটি প্রাথমিকভাবে আমি ধরে নিয়েছি এমন একটি গোষ্ঠীর পরিবর্তে কোনও ব্যবহারকারীর জন্য প্রযোজ্য।

আমি যা চেয়েছিলাম তার সবকিছুই ফিরে এসেছে:

% dmesg|wc
   1307   11745   93652

এবং

% cat /dev/kmsg|head|wc
     10      82     857

এবং এটি পুনরায় বুটগুলিতে অবিচ্ছিন্নভাবে তৈরি করতে, কেবল এটি কনফ ফাইল হিসাবে সংরক্ষণ করুন:

$ cat /etc/sysctl.d/10-local.conf 
kernel.dmesg_restrict = 0

আপনি কি এই আদেশটি কার্যকর করতে সক্ষম হন: cat /dev/kmesgএকজন নিয়মিত ব্যবহারকারী হিসাবে?

এটি /dev/kmsgপ্রথম মন্তব্যে হওয়া উচিত যা একটি টাইপো ছিল।
ডায়রপ্রস

আরো সহজ যোগ করে এটা স্থায়ী করতে kernel.dmesg_restrict = 0 করতে/etc/sysctl.conf
Knobee
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.