আমি জানি এই প্রশ্নটি ইতিমধ্যে আলোচনা করা হয়েছে, তবে পোস্টগুলি পড়ে আমি উত্তরগুলি অনুধাবন করতে পারিনি, কারণ কেউ কেউ বলেছিলেন "হ্যাঁ উমাস্ক কাজ করতে পারে", এবং অন্যরা বলেন "ওপেনএসএইচ কমান্ড সর্বদা অনুমতি সংরক্ষণ করে"
সব কিছু ঠিক করার আগে:
- আমি RHEL 6.2 এ ওপেনএসএইচ 5.9 ব্যবহার করি
- আমি একটি chrooted এসএফটিপি সার্ভার কনফিগার করেছেন ব্যবহার করে,
internal-sftp
সঙ্গে, সাব-সিস্টেম-u 0002
umask জন্য - আমি সুনির্দিষ্টভাবে আমি বিকল্প
-p
বা-P
বিকল্পটি ব্যবহার করি না
আমি একদিকে যা পড়েছি তা থেকে : এসএফটিপি স্থানান্তরের জন্য উমাস্ককে সংজ্ঞায়িত করার অনেকগুলি উপায় রয়েছে:
- বিকল্প
-u
এরinternal-sftp
(বাsftp-server
), OpenSSH- র 5.4 থেকে - এতে একটি মোড়ক তৈরি করুন
sftp-server
(যাতে আমরা স্পষ্টভাবে উমাস্কটি সেট করি - এটি ক্রোয়েটেড পরিবেশের জন্য উপযুক্ত নয় বিটিডব্লিউ) pam.d/sshd
ফাইলটিতে একটি নির্দিষ্ট কনফিগারেশন যুক্ত করুন
অন্যদিকে আমি পড়েছি:
ওপেনএসএইচ এসএফটিপি ক্লায়েন্ট এবং সার্ভার অনুমতিগুলি স্থানান্তর করে (এক্সটেনশন হিসাবে) এবং স্থানীয় পাশের অনুমতি নিয়ে দূরবর্তী ফাইলটি তৈরি করে। আফিক্স, এই আচরণটি অক্ষম করার কোনও উপায় নেই।
সুতরাং আমি নিম্নলিখিত পরীক্ষা করেছিলাম:
আমার ক্লায়েন্টে আমি 600 এবং 700 এর অনুমতি নিয়ে ফাইল MYFILE
এবং ডিরেক্টরি তৈরি করেছি MYDIR
।
তারপরে sftp
কমান্ড সহ:
mkdir => the new directory has permissions following the umask (OK)
put MYFILE => MYFILE has same permissions as on client (KO)
put -r MYDIR => MYDIR has same permissions as on client (KO)
আমি যদি ক্লায়েন্টের পক্ষে MYFILE
এবং এর অনুমতিগুলি পরিবর্তন করি MYDIR
এবং আবার আপলোড করি তবে আমি সার্ভারের পাশে নতুন অনুমতি পেয়েছি।
আমি pam.d
সমাধানটিও চেষ্টা করে দেখেছি , তবে এটির কোনও পরিবর্তন হয়নি।
তাই এখন আমি বিভ্রান্ত:
আমি যা পরীক্ষা করেছি এবং যা পড়েছি তার একটি অংশ থেকে আমি বলব ওপেনএসএসএইচ সবসময় অনুমতি সংরক্ষণ করে। তবে যেহেতু অনেকগুলি পোস্টে বলা হচ্ছে যে একটি উমাস্ক সংজ্ঞায়িত করা যেতে পারে তাই আমি আমার পরীক্ষার কনফিগারেশনে কোনও ভুল কাজ করতে পারি বলে ধারণা করতে পারি।
আমি কিছু অভিজ্ঞ প্রতিক্রিয়া প্রশংসা করব।
ধন্যবাদ.