আমি কীভাবে সুডোকে 0022 এর উমাস্ক দিয়ে ফাইলগুলি লিখতে বলি?


11

আমি সম্প্রতি স্নো চিতাবাঘে আপগ্রেড করেছি। আমি লক্ষ্য করেছি যে ম্যাকপোর্টস দ্বারা লিখিত কিছু ফাইলগুলি ভুল অনুমতি নিয়ে ইনস্টল করা আছে - সেগুলি 0077 এর একটি উমাস্ক দিয়ে লেখা হয়েছে I আমি মনে করি যে আমি সমস্যাটি সঙ্কুচিত করেছি:

  1. portকমান্ড মাধ্যমে বরকত হয় sudo
  2. আমার .bashrcফাইলটি 0077 এর একটি উমাস্ক নির্দিষ্ট করে।
  3. ওএস এক্স (10.5 এবং নীচে) এর পুরানো সংস্করণগুলিতে, sudo মূল ব্যবহারকারী (যা ছিল 0022) এর উমাস্ক ব্যবহার করেছে ; যাইহোক, এখন এটি আমার 0077 এর উমাস্ক ব্যবহার করে।

আছে সেখানে আসলে sudoপুরাতন আচরণ ব্যবহার করবেন? ঠিক এখন, এটা বিরক্তিকর ধরনের কারণ আমি ব্যবহার করতে হবে sudoমত সহজ কমান্ড চালানোর জন্য port installed, port outdatedইত্যাদি

(এই ম্যাকপোর্টস টিকিটে আরও বিস্তারিতভাবে সমস্যাটি বর্ণিত হয়েছে ।)

সম্পাদন করা

আমি umaskসুডোর জন্য বিকল্পটি আবিষ্কার করেছি এবং এর মধ্যে /etc/sudoersআমি নিম্নলিখিত লাইনটি যুক্ত করেছি:

Defaults umask=0022

যাইহোক, এই ফাংশন নি, আকাঙ্ক্ষিত হিসাবে কারণ বাস্তব দ্বারা ব্যবহৃত umask sudoহয় ইউনিয়ন এই ডিফল্ট মাস্ক ব্যবহারকারীর মাস্ক। sudo'উমাস্ক'-এর আচরণকে ওভাররাইড করতে এবং সরাসরি ডিফল্ট ব্যবহার করতে (যেমন, ব্যবহারকারী এবং ডিফল্ট সুডো মাস্কের মিলন নয় ), নিম্নলিখিত ব্যক্তিদের যোগ করতে পারেন:

Defaults umask_override

উত্তর:


7

ম্যাক ওএস এক্স 10.7 (সিংহ) অবশেষে সুডোর একটি সংস্করণ রয়েছে যা umask_override সমর্থন করে। রেকর্ডের জন্য, এটি আমার পক্ষে কাজ করে:

Defaults umask_override
Defaults umask=0022

1
আপনি কি প্রতি আদেশের ভিত্তিতে এই কাজটি করতে পারেন? আমি সাধারণভাবে 0022 উমাস্ক করতে চাই, তবে তারপরে একক পরিস্থিতিতে উমাস্ককে 0006 আহ্বান জানাতে চাই, তবে উপরেরগুলি এটিকে উপেক্ষা করে।
মাইকেল

6

আমি আমার .bashrcকনফিগারেশন স্ক্রিপ্টে নিম্নলিখিতগুলি যুক্ত করে শেষ করেছি :

# Mimic old behavior of `sudo` on OS X Snow Leopard
sudo() {
    old=$(umask)
    umask 0022
    command sudo "$@"
    umask $old
}


2

আপনার .bashrc সহ

if [[ $EUID -eq 0 ]]; then
   umask 0022
else
   umask 0077
fi

2
ভাল ধারণা! দুর্ভাগ্যক্রমে, একটি সামান্য তদন্তে প্রমাণিত হয় যে স্নো চিতাবাঘের sudoপ্রকৃতপক্ষে (পুনরায়) উত্স নয় .bashrc, তবে বর্তমানের সেটিংটি উত্তরাধিকার সূত্রে প্রাপ্ত ব্যবহারকারীদের কাছ থেকে উত্তরাধিকার সূত্রে প্রাপ্ত।
মিপাদি

অন্যান্য উত্তরের তালিকাভুক্ত হিসাবে আপনাকে ফাংশনটি কাজ করতে হবে।
ড্যারেন হল

2

রেকর্ডের জন্য: নতুন বিকল্প 'umask_override' হিসাবে সুডোর বর্তমান সংস্করণ, যা উমাস্কগুলিকে একীভূত হওয়া থেকে বিরত রাখতে পারে, তাই আপনিও উমাস্ককে হ্রাস করতে সক্ষম হবেন। দুঃখের বিষয়, ম্যাক ওএস এক্স 10.6.6 সুডোর এই সংস্করণটিকে স্পোর্ট করে বলে মনে হচ্ছে না ...

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