কীভাবে এসএফটিপি দিয়ে কাঙ্ক্ষিত উমাস্ক রাখবেন?


23

আমার একটি এসএফটিপি সার্ভার রয়েছে (ওপেনশ / এসফটিপি-সার্ভার) এবং আমি এই পরিষেবাটি ব্যবহারকারীদের জন্য উমাস্ক 002 সেট করতে চাই। আমি প্রতিটি ব্যবহারকারীর জন্য পিএএম (pam.d / সাধারণ-সেশন), এবং। প্রোফাইল স্থাপন করার চেষ্টা করেছি, তবে ভাগ্য নেই।

এসএসএইচ লগইন সহ সবকিছু ঠিক আছে, তবে যখন আমি এসএফটিপি দিয়ে চেষ্টা করি (জিএফটিপি সহ) আমার 022 উমাস্ক সেট থাকে।

আমি ইতিমধ্যে sftp- সার্ভারের জন্য একটি মোড়ক ব্যবহার করার চেষ্টা করেছি যা sftp-সার্ভার কল করার আগে উমাস্ক পরিবর্তন করে, কোনও ভাগ্য নেই।

কোন সাহায্য? অনেক ধন্যবাদ!

উত্তর:


25

ওপেনএসএসএইচ 5.4p1 যেহেতু আমার ধারণা, আপনি "-u" বিকল্পটি ব্যবহার করতে পারেন, উদাহরণস্বরূপ:

Subsystem sftp /usr/lib/openssh/sftp-server -u 022

ম্যান পৃষ্ঠা থেকে:

 -u umask
         Sets an explicit umask(2) to be applied to newly-created files
         and directories, instead of the user's default mask.

ওটা সুন্দর!! আমি ASAP একবার দেখে নেব এবং আমার ফলাফলগুলি
জানাব

5
যারা ডাব্লু / ও-অপ বিকল্পের জন্য, এটি কাজ করে:Subsystem sftp /bin/sh -c 'umask 0002; /usr/lib/openssh/sftp-server'
স্টিভ ক্লে

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

যোগ করার জন্য একটি শেষ জিনিস: আপনার যদি কেবল এসএফটিপি বৈশিষ্ট্য প্রয়োজন এবং আপনার ব্যবহারকারীদের শেল অ্যাক্সেস দেওয়ার প্রয়োজন না হয় তবে আপনি তাদের শেলগুলির জন্য ব্যাশের পরিবর্তে আরএসএস ব্যবহার করতে এবং /etc/rssh.conf এ তাদের জন্য ডিফল্ট উমাস্ক নির্ধারণ করতে পারেন you । এটি আপনার সার্ভারটিকে আরও সুরক্ষিত করতে পারে
জের্লো

7

আমি আশা করি এটি অন্য কারও হতাশার কয়েক ঘন্টা বাঁচাতে পারে ...

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

আমি উপরের সমস্ত সমাধান চেষ্টা করে দেখেছি এবং এটি প্রমাণ করে যে অ্যাপ্লিকেশনটি কেবল সেগুলি ওভাররাইড করছে।


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

এটি কেবল জিইউআই নয়। এমনকি ক্লায়েন্টদেরও নয়। আমার আপলোড করা পরীক্ষার ফাইলটিতে 0600 রয়েছে যা ক্লায়েন্ট (ওপেনএসএসএইচপিপি) রিমোট সাইডে অনুলিপি করেছিল তা দেখতে আমার অনেক দীর্ঘ সময় লেগেছে।
xebeche

ধন্যবাদ! কোনও কিছুর অনুমতি ছাড়াই এতক্ষণ সময় কাটিয়েছি।
তানিয়া রাসিয়া

2

বহু ঘন্টা বিভিন্ন হ্যাক এবং ফিক্স প্রয়োগ করার চেষ্টা করার পরে আমি একটি সঠিক সমাধান খুঁজে পেয়েছি!

এসএসএইচের জন্য একটি প্যাচ রয়েছে যা আপনাকে এসএফটিপি-র জন্য যে উমাস্কটি চান তা চয়ন করার অনুমতি দেয়। আপনি এটি এখানে ডাউনলোড করতে পারেন: http://sftpfilecontrol.sourceforge.net/

আমার জন্য (OpenSSH_5.2p1 + sftpfilecontrol-v1.3, OpenSSL 0.9.8g 19 অক্টোবর 2007) এটি নিখুঁতভাবে কাজ করছে!


2
কেবল লক্ষ্য করুন যে উমাস্কটি সেট করার জন্য '-u' বিকল্পটি 5.4p1 সাল থেকে ওপেনএসএইচএইচ-তে উপলব্ধ, আমার উত্তর আরও নীচে দেখুন।
ওয়েবোয়েড

2

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

ForceCommand internal-sftp -u 0022   

0

এই বার্তাটি উদ্ধৃত করতে :

আমি /etc/init.d/ssh এ "umask 007" লাইন যুক্ত করে কাজটি ঠিক করেছি।

ইন্টার- .profileইন্টারেক্টিভ লগইন শেলগুলির জন্য বাশ ব্যবহার করে । আমি sftpএক হিসাবে গণনা করি না । আপনি umask সেট করতে সক্ষম হতে পারেন /etc/bash.bashrcবা ~/.bashrcযদি ডগা উপরে কাজ করে না বা আপনাকে আরো সূক্ষ্মাতিসূক্ষ্ম নিয়ন্ত্রণ চাই।


2
উত্তরের জন্য ধন্যবাদ, তবে আমি ইতিমধ্যে ssh umask 002 এ এসেছি (আমি এটিও 0002 চেষ্টা করেছি) এবং এটি কাজ করছে না :( বাহ্যিক এসএফটিপি ক্লায়েন্টের সাথেও আমি মনে করি না যে ব্যাশ ব্যবহৃত হয়েছে বলে আমি মনে করি না। আমি যদি
এসএসএস

উফ, আপনি ঠিক বলেছেন। আমি জানি না কেন আমি বাশকে জড়িত হওয়ার বিষয়ে ভাবছিলাম।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

0

একটি সাধারণ সমাধান সন্ধানের জন্য এই প্রশ্নের উল্লেখ করুন যাতে নির্দিষ্ট ওপেনশ সংস্করণ বা কাস্টম প্যাচগুলির প্রয়োজন হয় না।

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