এই ম্যানুয়াল দিয়ে চেষ্টা করুন। হতে পারে আপনার জন্য কাজ করবে।
এটা কিভাবে করতে হবে
Vsftpd এবং একটি PAM গ্রন্থাগার ইনস্টল করুন
সম্পাদনা করুন /etc/vsftpd.conf
এবং/etc/pam.d/vsftpd
কাস্টম ডিরেক্টরি সহ ইউজার আউটআউটগুলি তৈরি করুন (উদাহরণস্বরূপ / var / www / এ)
সঠিক chmod
এবং সহ ডিরেক্টরি সেট করুনchown
সার্ভারে সম্পূর্ণ অ্যাক্সেস সহ একজন প্রশাসক ব্যবহারকারী তৈরি করুন
- ভার্চুয়াল ব্যবহারকারী তৈরি করতে
vsftpd
(খুব সুরক্ষিত এফটিপি ডিমন) ইনস্টল করুনlibpam-pwdfile
আমি এফটিপি ব্যবহারকারী তৈরি করতে চেয়েছিলাম কিন্তু আমি স্থানীয় ইউনিক্স ব্যবহারকারীদের (শেল অ্যাক্সেস, কোনও হোম ডিরেক্টরি ইত্যাদি) যুক্ত করতে চাইনি। একটি প্যাম (প্লাগেবল প্রমাণীকরণ মডিউল) আপনাকে ভার্চুয়াল ব্যবহারকারী তৈরি করতে সহায়তা করবে।
sudo apt-get install vsftpd libpam-pwdfile
- সম্পাদন করা
vsftpd.conf
প্রথমে আপনাকে মূল ফাইলটি ব্যাক আপ করতে হবে
sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.bak
তারপরে একটি নতুন তৈরি করুন
sudo vim /etc/vsftpd.conf
নিম্নলিখিত লাইনগুলি অনুলিপি করুন এবং আটকান। ফাইলটিতে কেবল এই লাইন থাকা উচিত:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
nopriv_user=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
local_root=/var/www/$USER
chroot_local_user=YES
hide_ids=YES
guest_username=vsftpd
- ভার্চুয়াল ব্যবহারকারীদের নিবন্ধন করুন
আপনার ব্যবহারকারীর নিবন্ধন করতে htpasswd
, তাই আমি ধরে নিই যে আপনি apache2
আপনার সার্ভারে কাজ করছেন। একটি vsftpd
ফোল্ডার তৈরি করুন তারপরে কনফিগারেশন ফাইলগুলি রাখুন।
sudo mkdir /etc/vsftpd
তারপর
sudo htpasswd -cd /etc/vsftpd/ftpd.passwd user1
-সি এর অর্থ হ'ল আমরা ফাইলটি তৈরি করব যদি এটি এমডি 5-এর বিদ্যমান না থাকে তবে আপনার এটি উবুন্টু 12.04 এ প্রয়োজন, কেবল সর্বদা এটি ব্যবহার করুন
কমান্ডটি একটি পাসওয়ার্ডের জন্য অনুরোধ জানাবে।
আপনি যদি নতুন ব্যবহারকারীদের পরে যুক্ত করতে চান:
sudo htpasswd -d /etc/vsftpd/ftpd.passwd user2
- পিএএম ইন কনফিগার করুন
/etc/pam.d/vsftpd
আবার, আপনাকে অরাইনাল ফাইলটি ব্যাক আপ করতে হবে
sudo mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
এবং একটি নতুন তৈরি করুন
sudo vim /etc/pam.d/vsftpd
এই 2 টি লাইন অনুলিপি করুন এবং আটকান (এটি কেবলমাত্র সামগ্রীতে হওয়া উচিত)। আমি কেবল এই 2 টি লাইনকেই জোর দিয়েছি, মূলগুলি রাখার জন্য আমি অনেক সময় নষ্ট করেছি এবং এইগুলি যুক্ত করেছি।
auth required pam_pwdfile.so pwdfile /etc/vsftpd/ftpd.passwd
account required pam_permit.so
- শেল অ্যাক্সেস ছাড়াই স্থানীয় ব্যবহারকারী তৈরি করুন
sudo useradd --home /home/vsftpd --gid nogroup -m --shell /bin/false vsftpd
আপনি এটি পরীক্ষা করতে পারেন যে এটি আইডি কমান্ড: আইডি vsftpd দ্বারা তৈরি করা হয়েছে। চেক_শেল প্যারামিটারের কারণে আমরা ব্যবহারকারীকে / বিন / মিথ্যা শেল দিয়ে সংজ্ঞায়িত করি (আপনি এটি ব্যবহার না করেও)। শেষ ব্যবহারকারী যখন এফটিপি সার্ভারের সাথে সংযুক্ত হয়, তখন সেগুলি অধিকার এবং মালিকানার জন্য ব্যবহৃত হবে:
chmod
এবং chown
।
- আবার শুরু
vsftpd
সাধারণ উপায়টি সমস্ত ডিমনর মতো init.d ব্যবহার করছে
sudo /etc/init.d/vsftpd restart
sudo service vsftpd restart
- ডিরেক্টরি তৈরি করুন
কনফিগারেশন অনুসারে সমস্ত ব্যবহারকারীকে এই ফোল্ডারে: / var / www / user1 এ স্থাপন করা হবে।
আপনার এগুলি নির্দিষ্ট অধিকার সহ তৈরি করতে হবে: রুট ফোল্ডারটি লিখনযোগ্য হতে পারে না!
/ [root = /var/www/user1] => 555
www [ /var/www/user1/www ] => 755
docs [ /var/www/user1/docs ] => 755
দ্রষ্টব্য: ব্যবহারকারী রুট ডিরেক্টরিতে ফাইল বা ফোল্ডার তৈরি করতে পারে না।
ইন vsftpd.conf
আমরা আছে chroot_local_user=YES
তাই ব্যবহারকারী তার ফোল্ডার কিছু বাহিরে দেখতে পাবে না। তার কাছে, সার্ভারটি দেখতে এমন দেখাচ্ছে:
সুতরাং এই আদেশগুলি চালান:
mkdir /var/www/user1`
chmod -w /var/www/user1
mkdir www/user1/www
chmod -R 755 /var/www/user1/www
chown -R vsftpd:nogroup /var/www/user1
/var/www/user1
ফোল্ডারের অস্তিত্ব আছে বা সংযোগ ব্যর্থ হবে।
এই মুহুর্তে আপনি আপনার এফটিপি-র সাথে সংযোগ স্থাপনের চেষ্টা করতে পারেন
- পুরো সার্ভার অ্যাক্সেস করতে একটি প্রশাসক ব্যবহারকারী তৈরি করুন
প্রশাসক ব্যবহারকারী তৈরি করতে আমাদের সাথে একটি নতুন ব্যবহারকারী নিবন্ধিত করতে হবে htpasswd
।
আমরা এটি করার আগে, আমি আপনাকে সেই /etc/ftpusers
ফাইলটি যাচাই করে নেওয়ার পরামর্শ দেব যা নির্দিষ্ট ব্যবহারকারীদের সংজ্ঞা দেয় যা ftp এর সাথে সংযোগ স্থাপন করার অনুমতি নেই। আমি মনে করি এটি কেবল স্থানীয় ব্যবহারকারীদের জন্য এবং ভার্চুয়াল ব্যবহারকারীদের জন্য নয় তবে কেবলমাত্র যদি এই ফাইলটিতে থাকা কোনও নাম চয়ন না করেন।
sudo htpasswd -d /etc/vsftpd/ftpd.passwd theadmin
এখন আমাদের একটি নতুন লাইন যুক্ত করতে হবে /etc/vsftpd.conf
chroot_list_enable=YES
এর অর্থ হ'ল আপনার ব্যবহারকারীকে তাদের ফোল্ডারে (জেল হিসাবে) এক্সেসপটি ব্যবহারকারীরা / ইত্যাদি / এ স্থাপন করবেন
vsftpd.chroot_list
আসুন এই ফাইলটি তৈরি করুন এবং আমাদের ব্যবহারকারী যুক্ত করুন, ফাইলটি একটি সাধারণ লাইন যা "theadmin" ধারণ করে। প্রতি লাইনে একজন ব্যবহারকারী যুক্ত করুন। এর অর্থ আপনার কোনও /var/www/theadmin
ফোল্ডার তৈরি করার দরকার নেই , ব্যবহারকারী লগইন করে প্রবেশ করতে পারবেন /home/vsftpd
।
সার্ভারটি পুনরায় আরম্ভ করুন এবং আপনি শেষ করেছেন!