ডেমন প্রক্রিয়াগুলির জন্য উবুন্টুতে উমাস্ক সেট করার উপায়


8

আমার একটি HTTP ডেমন সার্ভার প্রক্রিয়া (ইয়াও) রয়েছে যে আমি চাই যে সার্ভারটি 002 এর উমাস্কের সাথে কোনও নতুন ফাইল লিখতে চাই, যাতে একই গ্রুপের অন্য কোনও ব্যবহারকারী ডেমন প্রক্রিয়া দ্বারা নির্মিত ফাইলগুলি সংশোধন, স্থানান্তর করতে বা মুছতে পারে। এটি উবুন্টু 10.04 এ।

অ্যাপাচি-এর বিপরীতে, ইয়াসগুলিতে উমাস্কের জন্য একটি কনফিগারেশন বিকল্প নেই, সুতরাং কোনও ডিমন প্রক্রিয়ার উমাস্ক স্থাপনের জন্য কোন পদ্ধতি রয়েছে?

যোগ করার জন্য init স্ক্রিপ্ট পরিবর্তন করার বিষয়ে আমি এই উত্তরটি পেয়েছি umask 002। এটি কাজ করেছিল, তবে আমি নিশ্চিত নই যে একাধিক মেশিনে ডকুমেন্ট তৈরির ও কনফিগার করার সহজ উপায় ইআর স্ক্রিপ্ট সম্পাদনা করা way

আমি এখানে পাম_উমাস্ক মডিউলটির রেফারেন্সও পেয়েছি । দেখে মনে হচ্ছে এটি ইউমাস্কের প্রতি ব্যবহারকারী সেটিংসকে / ইত্যাদি / পাসডাব্লুডির GECOS ক্ষেত্রে কনফিগার করতে দেয়।

ডিমন প্রক্রিয়াগুলির জন্য উমাস্ক সেট করার অন্য কোনও উপায় আছে কি? এবং প্রস্তাবিত উপায় কি হবে?

উত্তর:


2

.profileডেমন এর হোম ডিরেক্টরিতে একটি ফাইল তৈরি করুন :

#!/bin/sh
umask 002

আপনি চালিয়ে ডিমন এর হোম ডিরেক্টরি খুঁজে পেতে পারেন:

getent passwd daemon | awk -F':' '{ print $6; }'

যদি এটি কাজ না করে তবে আমি যে অন্য সমাধানটি ভাবতে পারি তা হ'ল /etc/init.dস্ক্রিপ্টটি সম্পাদনা করা ।


2
জেন্টেন্ট পাসডওড ডিমন | awk -F ':' {মুদ্রণ $ 6; too কাজ করে।
জান্নে পিক্কারাইনেন

1
sudoপড়ার জন্য ব্যবহার করার দরকার নেই /etc/passwd। বা catএই বিষয়টির জন্য ( grepকোনও ফাইলের নাম আর্গুমেন্ট হিসাবে গ্রহণ করবে বা getentজান্নে নির্দেশিত হিসাবে কেবল ব্যবহার করবে)।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

এটি উবুন্টু 10.04 এর অধীনে কাজ করে না। এটি হতে পারে কারণ / বিন / শ / বিন / ড্যাশের সাথে যুক্ত, তবে আমি ডিমন ডিফল্ট শেলটিকে / বিন / ব্যাশে পরিবর্তন করেছি এবং এখনও কাজ করে নি। আমি মনে করি এটি কারণ $ হোম /। প্রোফাইলে অ-ইন্টারেক্টিভ এবং নন-লগইন ব্যাশ বা ড্যাশ শেলগুলি পড়ে না। কমান্ড লাইন থেকে এটি প্রদর্শনের কোনও সহজ উপায় আমি খুঁজে পাইনি। ইন্টারেক্টিভ শেল উমাস্ক সহ প্রদর্শিত হতে পারে sudo -u daemon bash -c umask। আমি সেটিংস পরিবর্তন করে এবং ডিমন পুনরায় চালু করে এবং এটি তৈরি করা ফাইলগুলির অনুমতিগুলি দেখে অ-ইন্টারেক্টিভ পরীক্ষা করেছি।
এমপি

@ এমপি 3 ফোলে: আমি এর সাথে পরিচিত নই dashতবে এতে umaskকাজ করা উচিত।
জাজ

আমি ডেমন (ইয়াও) মেলিং তালিকায় প্রশ্নও জিজ্ঞাসা করেছি। সর্বোত্তম উপায় হ'ল /etc/init.d/ এ ডিমন স্টার্টআপ স্ক্রিপ্টে উমাস্ক সেটিং যুক্ত করা। এমনকি কেউ ডেমন সোর্স কোডটি প্যাচ করছে।
এমপিএফফলে

5

উবুন্টু 10.04-তে গ্লোবাল ডিফল্ট উমাস্ক সেটিংসকে পাম_উমাস্ক মডিউল দ্বারা নিয়ন্ত্রণ করা যায়।

সাধারণভাবে দেবিয়ান সম্পর্কিত এই ব্লগে কিছু বিবরণ পাওয়া গেছে: http://muzso.hu/2008/01/22/default-permission-with-libpam-umask

পাম_উমস্ক মডিউলটি উবুন্টু 10.04 এ ডিফল্টরূপে ইনস্টল করা আছে তবে এটি কনফিগার করা দরকার।

লাইনটি যুক্ত করে /etc/pam.d/common-session সম্পাদনা করুন:

session optional pam_umask.so umask=022

তারপরে প্রতিটি ব্যবহারকারীর সেটিংস কমান্ডটি চালিয়ে পরিবর্তন করা যেতে পারে:

sudo chfn -o "umask=002" daemon_username

/ ইত্যাদি / পাসডাব্লুডিতে GECOS ক্ষেত্রে একটি উমাস্ক সেটিং যুক্ত করতে।

এটি কেবল অ-ইন্টারেক্টিভ, অ-লগইন শেলগুলির জন্য কাজ করে যেমন বুট চলাকালীন ডেমন স্টার্টআপ স্ক্রিপ্টটি চালানো হয়।

লগইন শেলগুলির জন্য উমাস্কের সেটিংসগুলি অন্যান্য শেল কনফিগারেশন ফাইলগুলি যেমন / ইত্যাদি / প্রোফাইল, /etc/login.defs, বা ব্যবহারকারীদের হোম ডিরেক্টরি। প্রোফাইল, .bashrc, ইত্যাদি থেকে অপসারণ করা উচিত অন্যথায় পাম_মাস্ক সেটিংস ওভাররাইড করা হয়। কনফিগারেশন ক্রমের জন্য পাম_উমাস্ক ম্যান পৃষ্ঠাটি দেখুন।


1

"স্টার্ট-স্টপ-ডেমোন" সরঞ্জামটির মাধ্যমে পরিষেবাটি চালু করা হলে উমাস্কটি "--umask" প্যারামিটারের সাহায্যে কমান্ড লাইন স্তরে নির্দিষ্ট করা যেতে পারে যেমন:

log_daemon_msg "Starting $DESC" "$NAME"
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion --umask 002 ; then
        log_end_msg 0
    else
        log_end_msg 1
        RET=1
    fi

কনফিগারেশন ফাইল থেকে এই জাতীয় বিবরণ পড়তে শুরু-স্ক্রিপ্টটি সামঞ্জস্য করা ব্যবহারকারী ভিত্তিক সেটিংস যুক্ত করার চেয়ে স্বচ্ছ হতে পারে - এটি অবশ্যই ডিমনটির জন্য ব্যবহৃত স্টার্টআপ পদ্ধতির উপর নির্ভর করে।

ম্যান-পৃষ্ঠা: ম্যান স্টার্ট-স্টপ-ডেমন থেকে আরও তথ্য পাওয়া যাবে

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