শুধুমাত্র একটি সেন্টোস / লিনাক্স ইনস্টলেশনতে নির্দিষ্ট / দির / অ্যাক্সেস সহ কোনও এফটিপি ব্যবহারকারী কীভাবে তৈরি করবেন


44

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

1. mkdir /var/www/mydomain.com
2. mkdir /var/www/mydomain.com/html
3. useradd <-username>
4. passwd <-username>
5. chown –R <-username> /var/www/mydomain.com
5. groupadd <-groupname>
6. gpasswd -a <-username> <-groupname>
7. chgrp -R <-groupname> /var/www/mydomain.com
8. chmod -R g+rw /var/www/mydomain.com

আমি যা করতে চাইছি কেবলমাত্র তার ব্যবহারকারীর অ্যাক্সেস পাওয়ার জন্য ব্যবহারকারী তৈরি করা /var/www/mydomain.com - আমি পর্যবেক্ষণ করেছি যে ব্যবহারকারী সঠিকভাবে সঠিক ফোল্ডারে লগইন করেছেন , তবে ব্যবহারকারী অন্য ডিরেক্টরিতে "পিছনে" ব্রাউজ করতে পারবেন can আমি চাই যে ব্যবহারকারী নির্দিষ্ট ফোল্ডারে আটকে থাকুক এবং "ব্রাউজ" করতে সক্ষম হবে না

কোন ধারনা?

আমি ক্রুটিংয়ের বিষয়ে বিভিন্ন নিবন্ধ পেয়েছি, তবে উপরে বর্ণিত পদক্ষেপগুলিতে এটি ব্যবহার করার জন্য এটি সহজেই খুঁজে পাইনি।


ডিজিটালসায়ন / কম্যুনিটি / টিউটোরিয়ালস / আপনি আপনার সমস্যাটি সমাধান করতে এটি অনুসরণ করতে পারেন
জ্যাক

যারা উবুন্টু 18 এ আছেন তাদের জন্য এখানে সংস্করণ নির্দিষ্ট ডিজিটালওশন.com/কমিনিউটি / টিউটোরিয়ালস রয়েছে…
গোবর

উত্তর:


39

এটা বেশ সহজ।

Vsftpd.conf ফাইলে আপনাকে নীচের বিকল্পটি যুক্ত করতে হবে

chroot_local_user=YES

কনফিগারেশন ফাইলের অভ্যন্তরের ডকুমেন্টেশন স্ব-ব্যাখ্যামূলক:

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().

এর অর্থ হ'ল ব্যবহারকারীর হোম হিসাবে কনফিগার করা ফোল্ডারে ব্যবহারকারীর কেবল অ্যাক্সেস থাকবে el নীচে, আমার কাছে একটি পাসওয়ার্ড প্রবেশের উদাহরণ রয়েছে:

upload_ftp:x:1001:1001::/var/www/sites/:/bin/bash

নিম্নলিখিত কমান্ড সহ ব্যবহারকারীর হোম ডিরেক্টরি সেট করুন

usermod -d /var/www/my.domain.example/ exampleuser

দ্রষ্টব্য: আমার উদাহরণে, এই ব্যবহারকারী লিনাক্সের মধ্যে কিছু নির্ধারিত কাজের জন্যও বৈধ ব্যবহারকারী। আপনার যদি এই প্রয়োজনীয়তা না থাকে তবে দয়া করে /sbin/nologinপরিবর্তে পরিবর্তে ব্যবহারকারীর শেলটি পরিবর্তন করুন bash


হাই হাইউনার! এই সম্পর্কে আমাকে উত্তর দিতে সময় দেওয়ার জন্য অনেক ধন্যবাদ। সুতরাং আমার vsftpd.conf ফাইল আইভিতে নীচের লাইনটি "chroot_local_user = YES" যুক্ত করেছে - তবে আমি যখন এটি বুঝতে পারি তবে আপনি আমার ব্যবহারকারীর জন্য যে চিত্রটি দেখিয়েছেন তার অনুরূপ একটি লাইন যুক্ত করা দরকার? আপনার দেওয়া উদাহরণের সাথে সেখানে কী লিখবেন তা পুরোপুরি নিশ্চিত নন অবশ্যই স্বীকার করতে হবে। "1001" ইত্যাদি কি? আসুন ধরে নেওয়া যাক আমার ব্যবহারকারীর নাম: "im_a_linux_noob" এবং সেই ব্যবহারকারীর জন্য ডিরেক্টরিটি হ'ল: "/var/www/mydomain.com" - কীভাবে এটি দেখতে পাবেন?
ব্যবহারকারী 1231561

এবং আমি কি আমার পোস্টে ive এর কোন অতিরিক্ত পদক্ষেপ ছাড়াই এটি করতে সক্ষম হব? তাই 1-8 করছেন এবং তারপরে আপনি যা বর্ণনা করেছেন তা যুক্ত করা কি কৌশলটি করা উচিত?
ব্যবহারকারী 1231561

ওহে. উপরের উদাহরণটি /etc/passwdফাইলটির কেবল একটি লাইন (পরিবর্তিত, অবশ্যই) , যা আপলোড_ফটপি নামে পরিচিত একজন ব্যক্তিকে প্রতিনিধিত্ব করে, 1001: 1001 তার ব্যবহারকারী আইডি এবং গ্রুপ আইডি, / var / www / সাইটগুলি ব্যবহারকারীর হোম ডিরেক্টরি (এবং vsftpd যে পরামিতিটি পড়ে) এবং / বিন / ব্যাশ, শেল। সম্ভবত কি আপনার ক্ষেত্রে অনুপস্থিত ব্যবহারকারীকে একটি বাড়িতে ডিরেক্টরি, এবং এটা নিম্নলিখিত কমান্ডের সাহায্যে সমাধান করা যেতে পারে: usermod -d /var/www/mydomain.com <username>। চিয়ার্স :)

3
হ্যাঁ অনেক ধন্যবাদ যদিও একটি ইস্যু। এটি স্বাভাবিক এফটিপি-র মাধ্যমে লগইন করে কাজ করে, তবে আমি যখন এসএফটিপি হিসাবে লগইন করি - তখন আমি আবার ফিরে ব্রাউজ করতে পারি - কোনও ধারণা?
ব্যবহারকারী 1231561

1
স্পষ্টতই যেহেতু আপনার এফটিপি সার্ভার দ্বারা নয়, এসএফটিপিটি আপনার এসএসএস সার্ভার দ্বারা পরিচালিত হচ্ছে। "অপরিশোধিত" উপায়ে: এসএফটিপি = এসএসএইচ + এফটিপি; এফটিপিএস = এফটিপি + এসএসএল। এখানে এসএফটিপি সম্পর্কে একটি থ্রেড রয়েছে, এবং আমি এওডটি সাবজেক্টের সদৃশকে উদ্ধৃত করব? ;) unix.stackexchange.com/a/64541/34720

6

আপনি অন্তর্ভুক্ত করতে আপনার কনফিগারেশন পরিবর্তন করার পরে chroot_local_user=YES

আপনি ব্যবহারকারীর শেলটি /usr/sbin/nologinএমনভাবে পরিবর্তন করতে পারেন যাতে পাসওয়ার্ড ফাঁস হয়ে গেলে আপনি কিছুটা ঝুঁকি হ্রাস করতে পারেন (হোম ডিরেক্টরিটিও সেট করুন)। শেলটি /etc/shellsপাশাপাশি তালিকাভুক্ত করা দরকার বা প্রমাণীকরণ ব্যর্থ হবে।

ব্যবহারকারীর -d /var/www/my.domain.example -s / usr / sbin / nologin উদাহরণ ব্যবহারকারী

-ড, - হোম HOME_DIR ব্যবহারকারীর নতুন লগইন ডিরেক্টরি। যদি -m বিকল্পটি দেওয়া হয় তবে বর্তমান হোম ডিরেক্টরি ডিরেক্টরিতে থাকা সামগ্রীগুলি নতুন হোম ডিরেক্টরিতে স্থানান্তরিত হবে, যা এটি ইতিমধ্যে উপস্থিত না থাকলে তৈরি হয়।

-s, - Shell ব্যবহারকারীর নতুন লগইন শেলের নাম। এই ক্ষেত্রটি ফাঁকা রাখার ফলে সিস্টেমটি ডিফল্ট লগইন শেলটি নির্বাচন করতে পারে।

https://security.appspot.com/vsftpd/FAQ.txt


4

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

  1. নতুন ব্যবহারকারী যুক্ত করুন: adduser newusername

  2. পাসওয়ার্ড সেট করুন: passwd newusername

  3. ডিফল্ট থেকে নতুন ফোল্ডারে ব্যবহারকারী হোম ডিরেক্টরিটি পরিবর্তন করুন:

    usermod -d /target/directory username

  4. shellsফাইল সম্পাদনা করুন: vi /etc/shellsএবং /dev/nullশেষে যুক্ত করুন

  5. পরিবর্তন newusernameমধ্যে এন্ট্রি passwdফাইল: vi /etc/passwdযোগ করার জন্য /./সামনে newusernameযাতে ভালো এন্ট্রি দেখায়:

    newusername:x:502:502::/home/ftp/./newusernamehomedirectory/:/dev/null

    এখানে 4 এবং 5 পদক্ষেপের বিশদ:

  6. /etc/proftpd/proftpd.confফাইলটি সম্পাদনা করুন এবং লাইনটি আপত্তিহীন করুনDefaultRoot ~


-4

আপনার রুট অ্যাকাউন্ট দিয়ে রুট ফোল্ডারের অনুমতিগুলি 711 এ সেট করুন ।


-4

এই আদেশটি চালান:

useradd -d ftp_user:chown 711 /etc/init.d/

2
কমপক্ষে কিছু সহায়ক ব্যাখ্যা বা ডকুমেন্টেশন থাকতে আপনার পোস্টকে প্রসারিত করার কথা বিবেচনা করা উচিত।
হালসগোস্ট

এটি একটি ভয়াবহ উত্তর। আপনি মূলত ftp ব্যবহারকারীকে /etc/init.d/ ডিরেক্টরিতে সম্পূর্ণ অ্যাক্সেস দিচ্ছেন - সম্পূর্ণ উন্মাদনা। 711 ব্যাখ্যা করা হয়েছে
অনুমতি-calculator.org/decode/0711
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.