উত্তর:
নিম্নলিখিত লাইন বিদ্যমান আছে তা নিশ্চিত করুন
chroot_local_user=YES
ব্যবহারকারীর হোম ডিরেক্টরিটি এতে সেট করুন /var/www/
, আপনি যদি বিদ্যমান ব্যবহারকারীর জন্য পরিবর্তন করতে চান তবে আপনি ব্যবহার করতে পারেন:
usermod --home /var/www/ username
তারপরে প্রয়োজনীয় অনুমতি সেট করুন /var/www/
user_sub_token
আপনি যদি ব্যবহারকারীর হোম ডিরেক্টরি পরিবর্তন করতে না চান তবে আপনি ব্যবহার করতে পারেন:
chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER
user_sub_token
:একটি টেম্পলেট ভিত্তিক প্রতিটি ভার্চুয়াল ব্যবহারকারীর জন্য স্বয়ংক্রিয়ভাবে একটি হোম ডিরেক্টরি তৈরি করুন। উদাহরণস্বরূপ, যদি গেস্ট_উজারনেমের মাধ্যমে নির্দিষ্ট প্রকৃত ব্যবহারকারীর হোম ডিরেক্টরিটি / ftphome / $ USER হয় এবং ব্যবহারকারী_সুব_ টোকেনটি $ USER তে সেট করা থাকে তবে ভার্চুয়াল ব্যবহারকারী পরীক্ষায় যখন লগ ইন হয় তখন সে শেষ হয়ে যাবে (সাধারণত chroot () 'এডি) ডিরেক্টরি / ftphome / পরীক্ষা। যদি স্থানীয়_রূটতে ব্যবহারকারী_সুব_ টোকেন থাকে তবে এই বিকল্পটিও প্রভাব ফেলবে।
ডিরেক্টরি তৈরি করুন এবং অনুমতি সেট আপ করুন:
mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test
একবার পুনরায় চালু করুন vsftpd
এবং আপনার সেটআপ পরীক্ষা করুন।
নমুনা সাফল্য আউটপুট:
[root@mail tmp]# ftp localhost
Connected to mail.linuxian.local.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput vhosts
mput vhosts?
227 Entering Passive Mode (127,0,0,1,146,41)
150 Ok to send data.
226 File receive OK.
24 bytes sent in 3.3e-05 seconds (7.1e+02 Kbytes/s)
ftp> ls -rlt
227 Entering Passive Mode (127,0,0,1,97,90)
150 Here comes the directory listing.
-rw-r--r-- 1 787 787 24 Oct 11 19:57 vhosts
226 Directory send OK.
ftp> 221 Goodbye.
$USER
জন্য local_root
যেমন /home/$USER/ftp
(যা ব্যবহারকারীদের chroot হবে ftp
তাদের বাড়িতে Dir এর সাব)।
local_root
প্রকৃত হোম ডিরেক্টরিতে রাখার ক্ষেত্রে এটি অত্যন্ত সম্ভাব্য ।
তুমি এটি করতে পারো:
usermod --home /var/www/ username
আমি উপরে রাহুল পাতিলের পরামর্শটি ব্যবহার করেছি:
chroot_local_user=YES
local_root=/home/$USER/www-data
user_sub_token=$USER
তবে আমি বুঝতে পারি না কেন আমি কেবল একজন ব্যবহারকারীর সাথে লগ ইন করতে পেরেছি। তারপরে আমি দেখতে পেলাম যে আমরা একটি মূল ডিরেক্টরিতে (এই ক্ষেত্রে /home/$USER/www-data
) ক্রোট করতে পারি না যার লেখার অ্যাক্সেস রয়েছে। সুতরাং আমি এর সাথে লেখার অ্যাক্সেসটি সরিয়েছি:
# chmod a-w /home/$USER/www-data
দ্রষ্টব্য:$USER
আপনার ব্যবহারকারীর সাথে পরিবর্তন করুন।
chroot
বিকল্পগুলি চেক করুন vsftpd.conf
এবং যার জন্য হোমডির সেট করা আছে তার জন্য একটি পৃথক ব্যবহারকারী তৈরি করুন /var/www
।
chroot
বিকল্পগুলি চেক করুনvsftpd.conf
এবং যার জন্য হোমডির সেট করা আছে তার জন্য একটি পৃথক ব্যবহারকারী তৈরি করুন/var/www
।