উমাস্ক / পিএএম / অনুমতিগুলির সম্পূর্ণ নিয়ন্ত্রণ কীভাবে পাবেন?


11

// আপডেট হয়েছে 8 ই ফেব্রুয়ারি - সংক্ষিপ্ত বিবরণ বিশিষ্ট বিষয়গুলি:

  • ফাইলগুলি থেকে ডিরেক্টরিগুলি কীভাবে উমাস্ক করবেন?
  • নটিলাসের অনুলিপি / পেস্টে কীভাবে উমাস্ক করবেন?
  • কীভাবে এসএসএইচএফএসের জন্য উমাস্ক সেট করবেন?

আমাদের পরিস্থিতি

আমাদের সংস্থার বেশিরভাগ লোক একটি সার্ভারে লগ ইন করে ফাইল আপলোড করে। তাদের সকলকে একই ফাইলগুলি আপলোড এবং ওভাররাইট করতে সক্ষম হতে হবে। তাদের বিভিন্ন ব্যবহারকারীর নাম রয়েছে তবে তারা সকলেই একই গোষ্ঠীর অংশ। তবে এটি একটি ইন্টারনেট সার্ভার, সুতরাং "অন্যান্য" ব্যবহারকারীদের কেবলমাত্র পঠনযোগ্য অ্যাক্সেস থাকা উচিত। সুতরাং আমি যা চাই তা হ'ল এই মানক অনুমতিগুলি:

ফাইল: 664
ডিরেক্টরি: 771

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

আমরা সার্ভারে নটিলাসে এসএফটিপি-ইনিং দ্বারা, এসএসএফএস ব্যবহার করে সার্ভারটি মাউন্ট করে এবং নটিলাসে এটি অ্যাক্সেস করে যেমন কোনও স্থানীয় ফোল্ডার, এবং কমান্ড লাইনে এসসিপি-ইনিং দ্বারা ফাইলগুলি সার্ভারে আপলোড করি। এটি মূলত আমাদের পরিস্থিতি এবং আমরা কী করতে চাই তা অন্তর্ভুক্ত করে।

এখন, আমি সুন্দর উমাস্ক কার্যকারিতা সম্পর্কে অনেক কিছুই পড়েছি। আমি যা বুঝি তা থেকে উমাস্ক (পিএএম এর সাথে একত্রে) আমাকে যা করতে চাই ঠিক তা করার অনুমতি দেওয়া উচিত : নতুন ফাইল এবং ডিরেক্টরিগুলির জন্য মানক অনুমতি নির্ধারণ করুন। যাইহোক, অনেক ঘন্টা পড়ার পরে এবং ট্রায়াল-অ্যান্ড-ত্রুটি করার পরেও আমি এখনও এটি কাজ করে না। আমি অনেক অপ্রত্যাশিত ফলাফল পেতে। আমি সত্যই উমাস্ককে শক্ত করে ধরতে চাই এবং অনেক প্রশ্নের উত্তরই না দিয়ে দিতে পারি। আমি আমার অনুসন্ধানগুলি এবং আমার পরীক্ষাগুলির ব্যাখ্যা সহ এই প্রশ্নগুলি নীচে পোস্ট করব that অনেক কিছু ভুল হয়ে গেছে বলে মনে করে, আমি মনে করি যে আমি বেশ কয়েকটি জিনিস ভুল করছি। সুতরাং, অনেক প্রশ্ন আছে।

দ্রষ্টব্য: আমি উবুন্টু 9.10 ব্যবহার করছি এবং সুতরাং এসএফটিপি সার্ভারের জন্য উমাস্কটি সেট করতে sshd_config পরিবর্তন করতে পারি না । ইনস্টল করা এসএসএইচ ওপেনএসএসএচ_5.1 পি 1 দেবিয়ান -6 বুন্টু 2 <ওপেনএসএসএইচ 5.4 পি 1 প্রয়োজন। সুতরাং এখানে প্রশ্ন যেতে।

1. আমি কি পাম পরিবর্তনগুলি কার্যকর করার জন্য পুনরায় চেষ্টা করতে চাই?

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

২. সমস্ত একসার্থে সমস্ত ব্যবহারকারীকে প্রভাবিত করে এমন একক ফাইল কি পরিবর্তন করতে পারে?

আমি অনেকগুলি বিভিন্ন জিনিস পড়ার সাথে সাথে আমি অনেকগুলি ফাইল পরিবর্তন করে শেষ করেছি। আমি নিম্নলিখিত ফাইলগুলিতে উমাস্কটি সেট আপ করেছিলাম:

~/.profile -> umask=0002
~/.bashrc -> umask=0002
/etc/profile -> umask=0002
/etc/pam.d/common-session -> umask=0002
/etc/pam.d/sshd -> umask=0002
/etc/pam.d/login -> umask=0002

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

৩. সবগুলি পরে, এই উমাস্ক জিনিসটি কি কাজ করে?

সুতরাং প্রতিটি সম্ভাব্য জায়গায় উমাস্ককে 0002 এ পরিবর্তন করার পরে, আমি পরীক্ষা চালাই।

------------ SCP- র -----------

পরীক্ষা 1:

scp testfile (which has 777 permissions for testing purposes) server:/home/
testfile                                      100%    4     0.0KB/s   00:00   

চলুন অনুমতিগুলি পরীক্ষা করুন:

user@server:/home$ ls -l
total 4
-rwx--x--x 1 user uploaders 4 2011-02-05 17:59 testfile (711)

আপডেট: কেবলমাত্র পাম.ডি / সাধারণ সেশনে উমাস্ক সেট করে স্থির করা হয়েছে (মন্তব্য দেখুন)

---------, SSH ------------

পরীক্ষা 2:

ssh server
user@server:/home$ touch anotherfile
user@server:/home$ ls -l
total 4
-rw-rw-r-- 1 user uploaders 0 2011-02-05 18:03 anotherfile (664)

-------- এসএফটিপি -----------

নটিলাস: sftp: // সার্ভার / হোম /

ক্লায়েন্ট থেকে সার্ভারে নতুন ফাইলটি কপি এবং পেস্ট করুন (ক্লায়েন্টে 7 77 77)

পরীক্ষা 3:

user@server:/home$ ls -l
total 4
-rwxrwxrwx 1 user uploaders 3 2011-02-05 18:05 newfile (777)

নটিলাসের মাধ্যমে একটি নতুন ফাইল তৈরি করুন। টার্মিনালে ফাইল অনুমতি পরীক্ষা করুন:

পরীক্ষা 4:

user@server:/home$ ls -l
total 4
-rw------- 1 user uploaders    0 2011-02-05 18:06 newfile (600)

মানে ... এখানে কি ঘটেছিল ?! আমাদের প্রতি একক সময় 4৪৪ পাওয়া উচিত । পরিবর্তে আমি 11১১, 7 ,7, 600০০, এবং তারপরে 64৪৪ একবার পেয়েছি And

সুতরাং আমি জিজ্ঞাসা করছি, সব পরে উমাস্ক / প্যাম কাজ করে?

আপডেট: কেবলমাত্র পাম.ড / সাধারণ-সেশনে উমাস্ক সেট করে পরীক্ষা 4 নির্ধারণ করুন (মন্তব্য দেখুন)

৪. সুতরাং উমাস্ক এসএসএইচএফএসের অর্থ কী?

কখনও কখনও আমরা স্থানীয়ভাবে একটি সার্ভার মাউন্ট করে sshfs ব্যবহার করি। খুব দরকারী. তবে আবার, আমাদের অনুমতি সংক্রান্ত সমস্যা রয়েছে।

আমরা কিভাবে মাউন্ট করব:

sshfs -o idmap=user -o umask=0113 user@server:/home/ /mnt

দ্রষ্টব্য: আমরা umask = 113 ব্যবহার করি কারণ স্পষ্টতই sshfs 66 666 এর পরিবর্তে 77 777 থেকে শুরু হয়, সুতরাং ১১৩ দিয়ে আমরা 664৪ পেয়ে যা যা পছন্দসই ফাইলের অনুমতি।

তবে এখন যা ঘটে তা হ'ল আমরা সমস্ত ফাইল এবং ডিরেক্টরিগুলি দেখতে দেখতে সেগুলি 664 এর মতো। আমরা নটিলাসে / এমএনটি এবং ব্রাউজ করি:

  • ডান ক্লিক করুন -> নতুন ফাইল (নতুন ফাইল) --- পরীক্ষা 5
  • ডান ক্লিক করুন -> নতুন ফোল্ডার (নতুন ফোল্ডার) --- পরীক্ষা 6
  • আমাদের স্থানীয় ক্লায়েন্ট --- টেস্ট 7 থেকে একটি 777 ফাইল অনুলিপি করুন এবং আটকান

সুতরাং আসুন কমান্ড লাইনে চেক করুন:

user@client:/mnt$ ls -l
total 8
-rw-rw-r-- 1 user 1007    3 Feb  5 18:05 copyfile (664)
-rw-rw-r-- 1 user 1007    0 Feb  5 18:15 newfile (664)
drw-rw-r-- 1 user 1007 4096 Feb  5 18:15 newfolder (664)

তবে ওহে, সার্ভার-সাইডে এই একই ফোল্ডারটি পরীক্ষা করা যাক:

user@server:/home$ ls -l
total 8
-rwxrwxrwx 1 user uploaders    3 2011-02-05 18:05 copyfile (777)
-rw------- 1 user uploaders    0 2011-02-05 18:15 newfile (600)
drwx--x--x 2 user uploaders 4096 2011-02-05 18:15 newfolder (711)

কি?! রিয়েল ফাইলের অনুমতিগুলি আমরা নটিলাসে যা দেখি তার থেকে খুব আলাদা। সুতরাং sshfs এ এই উমাস্কটি কেবল একটি 'ফিল্টার' তৈরি করবে যা অবাস্তব ফাইলের অনুমতিগুলি দেখায়? এবং আমি অন্য ব্যবহারকারী থেকে একই গ্রুপের আসল 600০০ টি অনুমতি থাকলেও 4৪৪ টি 'নকল' অনুমতি পেয়েছি, এবং আমি এখনও এটি পড়তে পারি না, তাই এই ফিল্টারটি কী ভাল ??

৫. উমাস্ক সব ফাইল সম্পর্কে। তবে কী কী?

আমার পরীক্ষাগুলি থেকে আমি দেখতে পাচ্ছি যে যে উমাস্ক প্রয়োগ হচ্ছে তা ডিরেক্টরি অনুমতিগুলিকেও একরকমভাবে প্রভাবিত করে। তবে আমি চাই আমার ফাইলগুলি 664 (002) এবং আমার ডিরেক্টরিগুলি 771 (006) হওয়া উচিত be সুতরাং ডিরেক্টরিগুলির জন্য একটি ভিন্ন umask থাকা সম্ভব?

P. পার্থপস উমাস্ক / প্যাম আসলেই কুল, তবে উবুন্টু কি কেবল খালি?

একদিকে, আমি PAM / UMASK এবং উবুন্টুতে সাফল্য অর্জনকারী লোকদের বিষয়গুলি পড়েছি। অন্যদিকে, আমি উবুন্টুতে উমাস্ক / পিএএম / ফিউজ সম্পর্কিত অনেকগুলি পুরানো এবং নতুন বাগ খুঁজে পেয়েছি:

তাই আর কী বিশ্বাস করব জানি না। আমাকে কি হাল ছেড়ে দেওয়া উচিত? এসিএল কি আমার সমস্ত সমস্যার সমাধান করবে ? নাকি আমার আবার উবুন্টু ব্যবহার করতে সমস্যা হচ্ছে?

টার ব্যবহার করে ব্যাকআপ সহ সতর্কতার একটি শব্দ। রেড হ্যাট / সেন্টোস ডিস্ট্রিবিউশনগুলি ট্যারি প্রোগ্রামে অ্যাকসিল সমর্থন করে তবে উবুন্টু ব্যাক আপ করার সময় অ্যাকসিলগুলি সমর্থন করে না। এর অর্থ হ'ল আপনি যখন ব্যাকআপ তৈরি করবেন তখন সমস্ত অ্যাকসিল হারিয়ে যাবে।

আমি উবুন্টু 10.04 এ আপগ্রেড করতে খুব ইচ্ছুক যদি সেগুলিও আমার সমস্যার সমাধান করে তবে আমি প্রথমে বুঝতে চাইছি কী হচ্ছে।

উত্তর:


3

এখানে অনেক কিছুই চলছে।

প্রথম চিন্তা:

  • হ্যাঁ, পাম.ডি পরিবর্তনগুলি তত্ক্ষণাত কার্যকর হয়
  • /etc/pam.d/common-session ডিফল্ট সেট করার জন্য সেরা জায়গা umask
  • যে কোনও পাম.ড. উমাস্ক যে কোনও প্রবেশের মাধ্যমে ওভাররাইড হয়ে যাবে .bashrc,
    তবে .bashrcকেবল নির্দিষ্ট পরিস্থিতিতে পড়বে (ইন্টারেক্টিভ, লগ-ইন না করে শেল)
  • testfile (711) খুব আজব
    • কিভাবে /homeমাউন্ট করা হয়, এবং আপনি এসিএল ব্যবহার করছেন?
      (যেমন কি ls -ld /homeএবং getfacl /homeমুদ্রণ?)
    • করেনি testfileইতিমধ্যে বিদ্যমান আগে আপনি কপি করেনি, কারণ scpএকটি ফাইল-এ অনুমতি পরিবর্তন করবে না ইতিমধ্যে অস্তিত্ব (যদি না আপনি ব্যবহার -pপতাকা)
  • নটিলাস ফাইলগুলি আলাদাভাবে তৈরি করতে পরিচিত, কেন, বা নিয়মগুলি কী তা নিশ্চিত হন না
  • umask=0113 সম্ভবত সমস্যা হতে পারে
  • সার্ভার এবং ক্লায়েন্ট একই অপারেটিং সিস্টেম চালাচ্ছেন?
    উদাহরণস্বরূপ, যদি ক্লায়েন্টের এসিএল সক্ষম থাকে, বা সাইগউইন হয় তবে আচরণটি আলাদা হতে পারে
  • বল বিবেকী অনুমতির সবচেয়ে ভালো উপায় ডিফল্ট ACLs ব্যবহার করার ঠিক, কারণ হিসাবে আপনি আবিষ্কৃত হয় umaskব্যবহারকারী তা ওভাররাইড করা যেতে পারে .bashrcএবং .bash_profile

হালনাগাদ:

  • umask=0113 sshfs জন্য ভুল।
    1. একটি নির্দিষ্ট না করে মাউন্ট করার চেষ্টা করুন umask
    2. মাউন্ট পয়েন্ট ব্যবহার করে একটি নতুন ফাইল তৈরি করুন touch
    3. আপনার দেখতে হবে এটি কেবলমাত্র বিট -rw-r--r--ছাড়াই হয়x
    4. xবিটগুলি মাস্ক করে আপনি ডিরেক্টরিগুলি ভাঙ্গতে
      পারেন এবং সংকলকগুলি কার্যকরভাবে কার্যকর ফাইলগুলি তৈরি করতে অক্ষম হতে পারে

কার্যসংক্রান্ত:

আমরা যদি আরও ভাল কিছু ভাবতে না পারি তবে আপনি ব্যবহার করতে পারেন famবা gaminনতুন ফাইল তৈরি হচ্ছে তা দেখতে বা সেগুলিতে অনুমতিগুলি ঠিক করতে পারেন, বা কেবলমাত্র একটি স্ক্রিপ্ট যা পর্যায়ক্রমে চলে এবং সমস্ত ফাইলের অনুমতি নির্ধারণ করে।


ধন্যবাদ! ঠিক আছে, তাই আমি পাম.ডি / সাধারণ সেশনগুলি বাদে সমস্ত উমাস্ক সেটিংস সরিয়ে ফেলেছি। এটি বেশ কয়েকটি সমস্যার সমাধান! পরীক্ষা 1 (এসসিপি) এবং পরীক্ষা 4 (নটিলাসে নতুন ফাইল) এখন ভাল কাজ করছে। বাধা এখন সার্চিতে নটিলাসের যা কিছু অনুমতি নিয়ে একটি ফাইল অনুলিপি করছে (পরীক্ষা 3 - এখনও 664 এর পরিবর্তে 777)। এবং ডিরেক্টরি সমস্যা। সার্ভার এবং ক্লায়েন্ট উভয়ই উবুন্টু (যদিও 9.10 বনাম 10.10) এবং কোনও অতিরিক্ত এসিএল সক্ষম হয় না।

নটিলাস সঙ্গে অনুলিপি মত শোনাচ্ছে মত অনুমতি সংরক্ষণের হয় cp -pবা scp -pwould।
মাইকেল

এই পরিবর্তন কিভাবে কোন ধারণা ??

আপনি কি আচরণ চান? আপনি ডিফল্ট এসিএল ব্যবহার করে নতুন ফাইলগুলির জন্য ডিফল্ট অনুমতি সেট করতে পারেন। নটিলাস ডিফল্ট এসিএলকে সম্মান জানাবে। সংক্ষিপ্তসার জন্য vanemery.com/Linux/ACL/linux-acl.html দেখুন এবং সমস্ত বিবরণের জন্য suse.de/~agruen/acl/linux-acls/online দেখুন।
মাইকেল

নোট করুন যে ডিফল্ট এসিএলগুলি সর্বাধিক অনুমতিগুলির সেট সেট করে না, তারা কেবল সেই অনুমতিগুলি ডিফল্ট করে। cp -p, scp -pএবং নটিলাসের মাধ্যমে অনুলিপি করা অনুলিপিটির অনুলিপিটির অনুলিপি ফাইলের অনুলিপি করার অনুরোধ করবে।
মাইকেল

0

এটি PAM / umask সম্পর্কিত নয়, তবে এটি আপনার পক্ষে কার্যকর হতে পারে।

আপনি যদি কোনও ডিরেক্টরি সেট করেন তবে তার অভ্যন্তরে তৈরি সমস্ত ফাইল এবং ডিরেক্টরিগুলি স্বয়ংক্রিয়ভাবে তার গ্রুপে নির্ধারিত হয়।

root@ricarda ~ # mkdir hello      
root@ricarda ~ # chown :users hello 
root@ricarda ~ # chmod g+s hello
root@ricarda ~ # ls -l |grep hello 
drwxr-sr-x. 2 root users  4096 Feb  7 04:05 hello
root@ricarda ~ # touch hello/some_file
root@ricarda ~ # mkdir hello/some_dir
root@ricarda ~ # ls -l hello/       
total 4
drwxr-sr-x. 2 root users 4096 Feb  7 04:16 some_dir
-rw-r--r--. 1 root users    0 Feb  7 04:06 some_file

ধন্যবাদ! আমি এই সম্পর্কে জানতাম না। এটি অনুমতি সংক্রান্ত সমস্যাগুলি সমাধান করে না, তবে এটি সত্যই কার্যকর!


0

এসিএলগুলি আপনার পক্ষে ভাল কাজ করা উচিত।

গোষ্ঠীর জন্য সমস্ত ফোল্ডারে একটি ডিফল্ট এসিএল সেট করুন, তারপরে ভবিষ্যতের সমস্ত ফাইল এবং ডিরেক্টরি দ্বারা উত্তরাধিকার সূত্রে প্রাপ্ত হবে।

কিছু setfacl -m d:g:uploaders:rwxকাজ করা উচিত।

আপনার বিদ্যমান অনুমতিগুলি ঠিক করতে:

find /shared/folder -type d -exec setfacl -m d:g:uploaders:rwx {} \;
find /shared/folder -type f -exec setfacl -m g:uploaders:rw {} \;

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

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