/ সিএস / স্থায়ীভাবে কীভাবে অনুমতি সেট করবেন?


12

আমি ব্যবহারকারী হিসাবে এক্স শুরু করছি এবং আমার কীবোর্ডের উজ্জ্বলতাটি সেট করা দরকার /sys/class/leds/asus\:\:kbd_backlight/brightness/sys/ডিরেক্টরি, পুনরায় বুট করার পরে recreated পরার তাই অনুমতি খুব পুনরায় সেট করবে। আমি কীভাবে এটি সেট আপ করব যাতে আমার প্রতিটি বুটের পরে সমস্ত ব্যবহারকারীদের দ্বারা ফাইলটি লিখনযোগ্য করা দরকার না?

আমি এসডিডিএম এর সাথে আর্চলিনাক্স লগইন ম্যানেজার এবং ডিপি হিসাবে কে ডি কে ব্যবহার করছি।


2
আপনি সিস্টেমযুক্ত বুট সার্ভিসে একটি কমান্ড রাখতে পারেন।
স্বর্ণলোকস

আপনি কি নিজস্ব সিস্টেমড সার্ভিস তৈরি করার অর্থ দিচ্ছেন যা অনুমতিগুলি সেট করে? অথবা আপনি কোনও নির্দিষ্ট ফাইল থেকে কথা বলছেন?
04

সাবেক. "পরিষেবা" সিস্টেমড শব্দটি, যদিও এই ক্ষেত্রে এটি কেবলমাত্র এক-অফ-কমান্ড হবে এবং ডেমন নয়। আপনি এটিকে এক ধরণের "বিবিধ জিনিস" পরিষেবা তৈরি করতে পারেন যেমন rc.local sysV এর অধীনে। এই ক্ষেত্রে পরিষেবাটি কেবল একটি শেল স্ক্রিপ্ট চালায় এবং আপনি কমান্ডটি সেখানে রেখে দেন।
স্বর্ণলোকস

উত্তর:


13

না আপনি পারবেন না, sysfs এর অনুমতি কার্নেল স্পেসে সংজ্ঞায়িত করা হয়েছে এবং ইউজারস্পেস সরঞ্জাম (কার্নেলের পাশ সমর্থন না করে) দিয়ে পরিবর্তন করা যাবে না।

তবে আপনার নিজের সমস্যার জন্য আপনি একটি সুডো এন্ট্রি সেটআপ করতে পারেন যা প্রত্যেককে সেই পথে লিখতে দেয়, যেমন ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/class/leds/asus\:\:kbd_backlight/brightness

এবং আপনি যখন সেই ডিরেক্টরিতে লিখেন, তখন এর মতো স্ক্রিপ্ট ব্যবহার করুন, echo 1 | sudo /usr/bin/tee "/sys/class/leds/asus::kbd_backlight/brightness"


আমি চেষ্টা করেছিলাম, তবে এটি সর্বদা পাসওয়ার্ডের জন্য জিজ্ঞাসা করে। আমি একটি NOPASSWD যুক্ত করার চেষ্টা করেছি: (সমস্ত) এর পিছনে।
xoned

@ টিমো আপনি আবার চেষ্টা করতে পারেন? আমার আপডেটগুলি দেখুন
ডেইজি

এখন এটা কাজ করে. সমস্যাটি হ'ল আমার প্রবেশটি NOPASSWD ছাড়াই অন্য একটি দ্বারা ওভাররাইট করা হয়েছিল। এবং আমি আপনার উত্তর গ্রহণ করেছি কারণ এটি অন্যান্য উত্তরগুলির মতো সহজ ছিল। সবাইকে ধন্যবাদ.
xoned

আমি লোনাক্স মিন্ট ডেবিয়ানকে সনি ভাইওতে ব্যবহার করছি /sys/devices/platform/sony-laptop/kbd_backlightএবং কীবোর্ড ব্যাকলাইট নিয়ন্ত্রণ করতে একটি ফাইল তৈরি করার চেষ্টা করছি । আমি আপনার কোডে পথ পরিবর্তন করেছি যা এই ত্রুটির দিকে পরিচালিত করে: bash: syntax error near unexpected token ('I আমি যে আদেশটি টাইপ করেছি তা ALL ALL = (ALL) NOPASSWD: /usr/bin/tee /sys/devices/platform/sony-laptop/kbd_backlightদয়া করে সহায়তা করুন
ইন্দ্র

আমি উবুন্টু মেশিনে এটি কাজ করতে পারি না যতক্ষণ না আমি /usr/bin/teeএবং এর মধ্যে কমা যোগ করেছি /sys/class...। ব্যাকরণে একটি সংক্ষিপ্ত পর্যালোচনা করার পরে man sudoersআমি সন্দেহ করি যে কমাটি প্রয়োজনীয়।
সেজে মিচেল

4

/sysলিনাক্স ডিরেক্টরিতে জাল, এটা ফাইল হিসেবে পরিহিত আপ কার্নেলের মধ্যে একটি দৃশ্য হয়। সুতরাং এতে অনুমতি পরিবর্তন করার অর্থ স্থায়ীভাবে কার্নেল হ্যাক করা হবে এবং এটি খারাপ পরামর্শ দেওয়া হবে। মন্তব্যগুলি যেমন বলেছে, সম্ভবত systemdএটির একটি ইউনিট সেট করার সমাধান হতে পারে (সাধারণভাবে, বুট প্রক্রিয়াটির অংশ হিসাবে পরিবর্তনটি সেট আপ করুন)।


4

আমারও অনুরূপ সমস্যা ছিল, নোডারেড সার্ভিস চালানোর আগে আমার অনুমতি নির্ধারণ করা দরকার। গোল্ডিলোকের মন্তব্যের পরে আমি এই সিস্টেমযুক্ত স্ক্রিপ্টটি তৈরি করেছি:

$ cat /etc/systemd/system/setledspermissions.service

[Unit]
Description=Set leds writable to everybody
Before=nodered.service

[Service]
Type=oneshot
User=root
ExecStart=/bin/bash -c "/bin/chmod a+w /sys/class/leds/led0/*"

[Install]
WantedBy=multi-user.target

সার্ভিস ফাইলটি লেখার পরে আমি এটি দিয়ে সক্ষম করেছিলাম

$ sudo systemctl enable setledspermissions.service
$ sudo systemctl start setledspermissions.service
$ sudo systemctl status setledspermissions.service

নির্দিষ্ট / সিস্টে / পাথগুলিতে লেখার অ্যাক্সেস দেওয়ার প্রয়োজনে সাধারণত এই পথটি কী? আমার ব্যবহারের কেসটি আমার ĺ্যাপটপে স্ক্রিনের ব্যাকলাইট উজ্জ্বলতা সেট করছে।
রিচার্ড

আমার ধারণা এটি প্রতিটি কারণের বুকে পুনরায় তৈরি করা হয়েছে। তবে আমি এ বিষয়ে নিশ্চিত হওয়ার মতো পর্যাপ্ত বিশেষজ্ঞ নই।
hariseldon78
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.