অ্যামাজন ইসি 2 সেন্টস-এ '/ var / www / html / ওয়েবসাইট_abc' ফোল্ডারে SFTP / FTP অ্যাক্সেস সহ ব্যবহারকারীকে কীভাবে যুক্ত করবেন?


19

সম্ভাব্য সদৃশ:
লিনাক্স ডিরেক্টরি অনুমতি

আমি কিছু তৃতীয় পক্ষের বিকাশকারীদের সাথে কাজ করছি এবং আমি যে ওয়েবসাইটটিতে তারা কাজ করছে তার জন্য মূল ফোল্ডারে এসএফটিপি (বা এফটিপি) অ্যাক্সেস দিতে চাই '/var/www/html/website_abc'যাতে তারা সেখানে ফাইলগুলি আপলোড করতে পারে। নোট করুন যে আমি আমার অন্যান্য ওয়েবসাইটগুলিকে একই ইসি 2 উদাহরণে হোস্ট করছি '/var/www/html/website_xyz'

আমি একক একা ইসি 2 উদাহরণে একাধিক ওয়েবসাইটের সাথে কাজ করছি তা জোর দেওয়ার জন্য, ওয়েবসাইটগুলির কাঠামোটি নিম্নরূপ:

/
ভেরি / www / এইচটিএমএল / / ভের / www / এইচটিএমএল / ওয়েবসাইট_আবিসি
...
/ ভের / www / এইচটিএমএল / ওয়েবসাইট_অ্যাকিজ

আমার লক্ষ্যগুলি নিম্নরূপ:

  • ব্যবহারকারীর 'অ্যাডেলিভার' এর '/ var / www / html / ওয়েবসাইট_abc' এবং কেবল '/ var / www / html / ওয়েবসাইট_abc' এ অ্যাক্সেস রয়েছে
    • আমি মনে করি ব্যবহারকারীর 'অ্যাডাবল্ডার' এসএফটিপিতে (বা এফটিপি) লগইন করতে ব্যবহারকারীর নাম হিসাবে 'অ্যাডাবল্ডার @ [আমার ইলাস্টিক আইপি]' ব্যবহার করবে, আমি কি ঠিক আছি?
  • ব্যবহারকারীর 'উত্সাহক' এর কাছে আমার / ইসি 2 উদাহরণে '/ var / www / html /' বা অন্য কোনও ডিরেক্টরিতে অ্যাক্সেস নেই
  • প্রাইভেট কী ফাইলটি কেমন?
    • আমি কি আমার প্রাইভেট কী ফাইলটি তৃতীয় পক্ষের বিকাশকারীদের কাছে দিয়েছি - এটি কি পরামর্শ দেওয়া উচিত?
    • তাদের জন্য আলাদা কোনও ব্যক্তিগত কী ফাইল উত্পন্ন করার উপায় আছে বা তাদের পরিবর্তে ব্যবহারকারীর নাম এবং পাসওয়ার্ড দিয়ে লগ ইন করার অনুমতি রয়েছে কি?

আমি অনুসন্ধানগুলি করেছি তবে বেশিরভাগ লোকেরা কীভাবে এসএফটিপি এর মাধ্যমে ইসি 2 অ্যাক্সেস করবেন সে সম্পর্কে কথা বলছিলেন যা আমি ইতিমধ্যে উইনসিসিপি ব্যবহার করতে সক্ষম হয়েছি।

ব্যাখ্যা:

  • আমি 'adeveloper' প্রয়োজন পাবে করবে সামগ্রী আপলোড করার জন্য /var/www/html/website_abcযা 'লেখ' অনুমতি নেই
  • আমার অধীনে থাকা কোনও ফাইল / ডিরেক্টরিগুলির জন্য 'লেখার' অনুমতি না পাওয়ার জন্য /var/www/html/এবং 'আদর্শ' এমনকি 'পড়ার' অনুমতি না পাওয়ার জন্য আমার 'অ্যাডাবল্ডার' প্রয়োজন would
  • তবে এখানে বড় সমস্যা বলে মনে হচ্ছে:
    • /var/www/html/এটি আমার ডকুমেন্টরুট ফোল্ডার হওয়ায় ইতিমধ্যে 777 এর অনুমতি রয়েছে has সুতরাং, আমি কীভাবে আমার অন্যান্য ওয়েবসাইটে অ্যাক্সেস করা থেকে 'অ্যাডেলিভার' বন্ধ করব?

আংশিক সমাধান হয়েছে আমি ওপেনএসএসএইচ ব্যবহার করে আমার লক্ষ্য অর্জন করেছি (আমি / var / www / html / Website_abc / এর ভিতরে .ssh ফোল্ডারটি তৈরি করি এবং প্রাইভেট কী তৈরি করি এবং তৃতীয় পক্ষের বিকাশকারীকে দেব) give আমি আরও শিখেছি যে আমার কখনই এডাব্লুএস আমাকে দেওয়া ব্যক্তিগত কী ফাইলটি দেওয়া উচিত নয়। এখনও ক্রুট সম্পর্কে শিখছি।


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

"আমি আরও শিখেছি যে আমার কখনই এডাব্লুএস আমাকে দেওয়া ব্যক্তিগত কী ফাইলটি দেওয়া উচিত নয়" কেন .....
মাইকেল বেইলি

উত্তর:


11

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

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

$ cd /etc
-bash-3.2$ ls -1
acpi
adjtime
aliases
...

উদাহরণস্বরূপ, আমি প্রচুর স্টাফ অ্যাক্সেস করতে পারি, আদর্শ যে আপনি কোনও অজানা ব্যবহারকারীর কাছ থেকে সীমাবদ্ধ রাখতে চান আপনি যাকে স্থানীয় অ্যাক্সেস দিতে চান।

এখানে আমি /etc/passwdফাইলে কনফিগার করা সমস্ত স্থানীয় ব্যবহারকারীকে দেখছি ;

$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...

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

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

অত: পর আপনার ক্ষেত্রে, আপনি করতে চান বা ব্যবহারকারী নির্দেশিকা।chrootadeveloper/var/www/html/website_abc

আপনি নিজের ব্যবহারকারীর জন্য এটিকে /var/www/html/website_abcযেমন সাব-ডিরেক্টরিতে সীমাবদ্ধ রাখতে একটি ক্রুট ডিরেক্টরি সেট করতে পারেন /etc/ssh/sshd_config;

এই স্টাফটির জন্য ওপেনশ-সার্ভারের পরে 4.8? এর পরে প্রয়োজন, সুতরাং সম্ভবত সেন্টোস 6.2 প্রয়োজন

Match Group sftp
    ChrootDirectory %h
    AllowTcpForwarding no

(পরীক্ষা করা হয়নি, man sshd_configবাক্য গঠন নিশ্চিত করতে দেখুন )

এবং তারপরে সেই ব্যবহারকারীদের sftp গ্রুপে যুক্ত করুন;

 groupadd sftp
 usermod -d /var/www/html/website_abc adeveloper
 usermod -G sftp adeveloper

ভাগ করা কী সম্পর্কিত

আপনার সরকারী ব্যবহারকারীদের জন্য একটি অতিরিক্ত কী তৈরি করতে হবে এবং এটি আপনার পরামর্শকের কাছে প্রেরণ করা উচিত। (বা বিকল্পভাবে, তাদের আপনার সর্বজনীন কীটি প্রেরণ করুন এবং এটির জন্য অনুমোদিত_কিজ ফাইলটিতে যুক্ত করুন adeveloper)

কখনও আপনার ব্যক্তিগত কী ছেড়ে দেবেন না, কেন এটি ব্যক্তিগত বলা হয় ;-)

traditionalতিহ্যগত এফটিপি বিকল্প

vsftp / proftp ইত্যাদি ক্রুট কনফিগারেশনগুলিকে সমর্থন করে তবে এই আধুনিক সময়ে এসএসএস ভিত্তিক কনফিগারেশনগুলি সাধারণ উপায় এবং এফটিপিপি-র সমর্থন কেবল historicalতিহাসিক।

টিউটোরিয়ালের লিঙ্ক দুটি এখানে আছে;
http://www.techrepublic.com/blog/opensource/chroot-users-with-openssh-an-easier-way-to-confine-users-to-their-home-directories/229

http://www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny


আমি এখনও অবধি ক্রুট বের করতে সক্ষম হইনি তবে আমি এখনও শিখছি এবং এখনও হাল ছাড়িনি। যদিও ওপেনএসএসএইচ ব্যবহার করে উপরে বর্ণিত আমার লক্ষ্যগুলি অর্জন করতে সক্ষম হয়েছি। আবার ধন্যবাদ
এরিকান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.