آموزش راه اندازی و اتصال به سرویس FTP لینوکس
در آموزش راه اندازی و اتصال به سرویس FTP لینوکس ، FTP سرنام واژه های File Transfer Protocol است. FTP چیست ؟ FTP یکی از کارگزارهای رایج در شبکه است که مانند سایر کارگزارهای لینوکسی از بسته های نرم افزاری مختلف برخوردار است. FTP پروتکلی است که برای تبادل انواع پرونده ها استفاده می شود.
از دیدگاه چگونگی راه اندازی و اتصال به سرویس FTP لینوکسی می تواند به صورت فعال (Active) و غیر فعال (Passive) خدمات ارائه می کند. تفاوت این دو روش در چگونگی ارتباط بین کارساز و کارخواه است.
این قرارداد یکی از پرکاربردترین قراردادها برای بارگذاری و بارگیری پرونده ها در شبکه های محلی (LAN) و شبکه سراسری (Internet) است. بیشتر پایگاههایی که به صورت اینترنتی امکان بارگیری پرونده ها را فراهم کرده اند، از این قرارداد به صورت توکار (bilt-in) استفاده می کنند.
بنابراین بیشتر سامانه عامل هایی که به عنوان کارساز طراحی و توسعه داده می شوند، FTP را به عنوان بخشی از خود در نظر می گیرند.لینوکس هم استثنا نیست.
بررسی FTP از دیدگاه سازمان تولید کننده
هم اکنون بسته های نرم افزاری که برای FTP وجود دارند عبارتند از:
Vsftpd : Very Secure File Transfer Protocol deamon
Proftpd : Professional File Transfer Protocol deamon
Wuftpd : Washangton University File Transfer Protocol deamon
Vsftpd یکی از پرکاربردترین و امن ترین بسته های نرم افزاری FTP در گنو/ لینوکس است که در این فصل به بررسی آن می پردازیم.
Wuftpd در یکی از گونه های سیستم عامل Unix استفاده می شده که به دلیل مشکلات امنیتی دیگر از آن استفاده نمی شود. اگر می خواهید که هر کدام از دو بسته دیگر را با بسته نرم افزاری Vsftpd مقایسه کنید می توانید در یک موتور جستجو مانند google واژه های زیر را وارد کنید.
Vsftpd vs proftpd. Vs کوتاه شده واژۀ Versus به معنای ” در برابر” است و به این ترتیب می توانید اطلاعات مقایسه ای را در مورد آن دو نوع ftp را به دست آورید.
بررسی انواع FTP از دیدگاه شبکه ای و درگاه های آن
پیش از بررسی دو نوع فعال و غیر فعال FTP بهتر است بدانیم FTP دو درگاه خاص دارد:
درگاه 21: که با آن دستورهای وابسته به کارگزار FTP مانند get و putو ….. وارد می شوند.
درگاه 20: فرستادن و دریافت داده ها با این درگاه انجام می شود.
بررسی Passive ftp (غیرفعال) در سرویس FTP لینوکسی
در این حالت پایانه با درگاه 21 خود به کارگزار ftp متصل می شود و دستورات کنترلی نیز از همین محل ارسال می شود. اما داده ها توسط درگاه های بالای 1024 کارساز به درگاه های بالاتر از 1024 پایانه منتفل می شوند. این حالت کاری برای پایانه هایی که پشت دوار آتش (firewall) و nat هستند بهتر است.
Passive ftpکارسازی است که درخواست فعالی (Active attempt) برای ارتباط با پایانه های جهت تبادل داده ها نمی سازد. به دلیل اینکه پایانه ها معمولاً ارتباط مورد درخواست را خود راه اندازی می کنند، passive ftpبرای پایانه هایی که به وسیله دیوار آتش محافظت شده اند بهتر است.
بررسی Active ftp (فعال) در سرویس FTP لینوکسی
در این حالت که حالت فعال نامیده می شود، پایانه با یکی از درگاه های بالاتر از 1024 خود به درگاه 21 کارگزار اتصال پیدا می کند. گارگزار نیز در این حالت با درگاه 20 خود به یکی از درگاه های بالای 1024 پایانه متصل می شود. این روش برای پایانه هایی که پشت دیوار آتش هستند روش مشکل سازی است.
بنا بر این در این روش هنگامی که پایانه درخواست تبادل داده ها داشته باشد، سرور، واگذاری داده ها به پایانه را آغاز می کند. واگذاری داده ها از طریق درگاه شماره 20 کارگزار به یکی از درگاه های بالای 1024 پایانه صورت می گیرد.
لذا پس از اتصال، دستور Is که فهرست پرونده ها را نشان می دهد، به وسیله درگاه 20 فهرست را به یک درگاه بالاتر از 1024 (hight port) می فرستد.
به بیان دیگر می توانیم بگوییمactive ftp برای واگذاری داده ها از درگاه 20 خود به عنوان منبع استفاده می کند و داده ها را به یک درگاه بالاتر از 1024 پایانه می فرستد.
Active ftp هنگامی که پایانه به وسیله nat از دسترسی به اینترنت جلوگیری شده باشند، دچار شکست می شوند چرا که چه دیوار آتش نمی داند که چه پایانه ای باید داده های بازگشتی را دریافت کند.
بررسی ftpاز دیدگاه کاربرانی که از آن استفاده می کنند:
از دیدگاه اداره کردن کاربران دو نوع ftp عبارتند از:
FTP با قاعده (regular ftp)
در این روش پرونده ها به وسیله بررسی کلمۀ کاربری و گذر واژه ارسال و دریافت می شوند. در حالت پیش فرض، کارگزار vsftpd به کاربران سیستمی گنو/ لینوکس (System User) اجازه می دهد که پرونده هایشان را به پوشه خود منتقل کنند یا از آنجا نسخه برداری کنند.
این کار به وسیله کلمه کاربری و گذر واژۀ لینوکس آنها از طریق خط فرمان (ftp>)ftp انجام می شود. اشکال Regular ftp این است که امکان بارگیری برای سایر کاربران را از بین می برد.
FTP بی نام (anonymous)
در این روش دسترسی همگانی وجود دارد.
Anonymous ftp برای پایگاه هایی که نیاز به تبادل پرونده ها با تعداد زیادی کاربر ناشناخته و از طریق راه دور دارند، انتخاب خوبی است. در این روش پس از اتصال، کاربر به شاخۀ /var/ftp و زیر پوشه های آن دسترسی دارد.
بررسی مشکلات ftp و دیوار آتش
ftp هنگامی که داده ها را به داخل یک دیوار آتش می فرستد دچار شکست می شود، چرا که دیوار آتش برای ایجاد محدودیت در تبادل داده ها در درگاه های قابل پیش بینی طراحی شده است و این در حالی است که ftp یک بازۀ گسترده از درگاه های غیر قابل پیش بینی را استفاده می کند.
مشکلات دیوار آتش با پایانه ها در FTP
دیوارهای آتش اجازۀ ایجاد ارتباط به درون خود را نمی دهند، بنابراین Active ftp نمی تواند به درستی کار کند. در این مورد، به نظر می رسد که ایجاد ارتباط از طریق Active ftp هنگامی که پایانه، یک ارتباط به درگاه شماره 21 را آغاز می کند، عملی باشد. اما پس از آن به نظر می رسد که ارتباط معلق شده (hang) است، چرا که هیچ یک از دستورهای Is,get و…. کار نمی کند.
دلیل آن این است که دیوار آتش ارتباط از سمت کارساز به پایانه را بسته است. (از درگاه شماره 20 کارساز به درگاه بالای 1024 در پایانه)
اگر یک دیوار آتش اجازۀ برقراری ارتباط به اینترنت را بدهد، آنگاه passive ftp پشت یک دیوار آتش به درستی کار می کند.
راه حل
جدول زیر قوانین دیوار آتش برای کارکردن FTP Client را نشان می دهد.
آموزش راه اندازی و اتصال به سرویس FTP لینوکس
جدول 1-8 قوانین مورد نیاز برای پایانۀ FTP
Connection Type | Destination port | Destination Address | Source port | Source Address | Method |
Allow outgoing control connections to server | |||||
New | 21 | FTP server | High1 | FTP cliente/ network2 | Control channel |
Established3 | High | FTP client/ network2 | 21 | FTP server | |
Allow server to establish data channel to remote client | |||||
New | High | FTP client/ network2 | 20 | FTP server | Active FTP |
Established3 | 20 | FTP server | High | FTP cliente/ network2 | |
New | High | FTP server | High | FTP cliente/ network2 | Passive FTP |
Established3 | High | FTP client/ network2 | High | FTP server |
مشکلات دیوار آتش با کارساز در FTP
دیوارهای آتش اجازه ایجاد ارتباط به درون خود را نمی دهند. هنگامی که دیوار آتش نادرست پیکربندی شود، ارتباط پایانه به هیچ وجه برقرار نمی شود چه برای Active ftp و چه برای Passive ftp.
راه حل
جدول زیر قوانین دیوار آتش برای پیکربندی کارساز ftp را نشان می دهد.
آموزش راه اندازی و اتصال به سرویس FTP لینوکس
جدول 2-8 قوانین مورد نیاز برای کارساز ftp
Connection Type | Destination port | Destination Address | Source port | Source Address | Method |
Allow incoming control connections to server | |||||
New | 21 | FTP server | High1 | FTP cliente/ network2 | Control channel |
Established3 | High | FTP client/ network2 | 21 | FTP server | |
Allow server to establish data channel to remote client | |||||
New | High | FTP client/ network2 | 20 | FTP server | Active FTP |
Established3 | 20 | FTP server | High | FTP cliente/ network2 | |
New | High | FTP server | High | FTP cliente/ network2 | Passive FTP |
Established3 | High | FTP client/ network2 | High | FTP server |
1- بالاتر از 1024
2- در بعضی موارد، شاید بخواهیم به تمامی کاربران اینترنت دسترسی بدهید، نه فقط یک پایانه/ کارگزاری یا یک شبکه خاص.
3- بسیاری از راه گزین ها یا دیوارهای آتش، اجازۀ دسترسی به اتصال های establish را می دهند. این قانون شاید در بعضی موارد نیاز نباشد.
نصب و راه اندازی کارساز vsftpd در سرویس FTP لینوکسی
دریافت بسته نرم افزاری vsftpd
برای دریافت بسته نرم افزاری rpm مربوط به vsftpd می توانید به پایگاه http://www.rpmfind.net مراجعه کنید، یا از طریق جستجو در اینترنت و پایگاه های دیگر آن را بارگیری کنید. برای دریافت متن برنامه vsftpd به نشانی زیر بروید
ftp:// vsftpd.beosts.org/users/cevans
نصب بسته نرم افزاری rpm vsftp
برای نصب بسته های نرم افزاری rpm از دستور زیر در خط فرمان استفاده می کنیم:
shell→ rpm -ivh vsftpd.VERSION.rpm
نصب با استفاده از متن برنامه (Source code)
برای نصب با استفاده از متن برنامه Source code مراحل زیر را انجام می دهید.
Shell→ tar xzvf vsftpd.VERSION.tar.gz
Shell→ cd vsftpd
Shell→./configure
Shell→ make
Shell→ make install
روش های راه اندازی vsftpd در سرویس FTP لینوکسی
پس از نصب بسته های ندم افزاری vsftpd نوبت به راه اندازی آن می رسد. Vsftpd را می توان به دو صورت راه اندازی کرد.
1- زیر نظر xinetd.d
در این روش کارساز ftp به وسیله xinetd.d اداره می شود. xinetd.d یک super- server است و هنگامی که راه اندازی می شود، پروندۀ پیکربندی خود که در شاخۀ /etc/xinetd.d.com است را می خواند.
همچنین شاخه /etc/xinetd که در آن تعدادی زیر شاخه است را می خواند و به این صورت خود را شناسایی می کند. برای هر کارسازی که به وسیله /etc/xinetd اداره می شود یک پرونده به نام آن در این شاخه وجود دارد.
روش رسیدگی /etc/xinetd به درخواست های رسیده برای کارساز ftp:
می دانیم که هنگام راه اندازی کارساز ftp درگاه شماره 21 باز می شود. xinetd.d هنگامی که درخواستی برای این درگاه دریافت کند؛
پرونده پیکربندی ftp که در حافظه قرار دارد را بررسی می کند.
با توجه به پرونده پیکربندی کارساز ftp و مقادیر متغیرهای آن، بررسی های دیگری را انجام می دهد.
xinetd.d به سامانه عامل می گوید که یک نسخه از xinetd.d را در حافظه قرار دهد. به این کار Fork گفته می شود.
بنابراین در هنگام، دو تا xinetd.d در حافظه وجود دارد.
سپس in.vsftpd جایگزین xinetd.d فرعی می شود.
xinetd.d آدرس IP متقاضی را به vsftpd گزارش می دهد.
in.vsftpd چه می کند؟
فرستادن و دریافت داده ها به پایانه
فرستادن پیام خوشامدگویی به پایانه
مشخص کردن زمان انتظار برای پایانه(حداکثر 10 دقیقه)
گوش کردن به درگاه های 20 و 21.
یادآوری:
درگاه 20: برای فرستادن و دریافت پرونده ها.
درگاه 21: برای فرستادن و دریافت دستورات.
در صورتی که دستور exit به کارساز برسد، یا کاربر بیش از 10 دقیقه بیکار باشد کارساز ftp صحنه را ترک می کند.
پس از پایان کار in.vsftpd سامانه عامل از طریق فرستادن یک علامت (signal شماره 17) xinetd.d را از پایان کار پردازۀ فرزند(مرگ فرزند) با خبر می کند و استراحت می کند یا اینکه اگر درخواستی برای درگاهی باشد، کارگزار مربوطه را با خبر می کند.
آموزش راه اندازی و اتصال به سرویس FTP لینوکس
راه اندازی کارگزار FTP
برای راه اندازی کارگزار ftp به مسیر /etc/xinetd.d بروید.
اگر لیست پرونده ها را ببینید، پرونده ای به نام vsftpd وجود دارد. آن را ویرایش کنید.
shell→ vi vsftpd
default: on
:description
The vsftpd FTP server servers FTP connections. It uses
normal, unencrypted usernames and passwords for authentication.
vsftpd is designed to be secure.
service ftp
{
socket-type = stream
wait =no
user =root
server = /user/local/sbin/vsftpd
server_args =
log_ on_ success + = DURATION USERID
log_ on_ failure + = USERID
nice = 10
disable = no
}
در این پروندهdisable بایدمقدار no بگیرد. اما راه اندازی تکمیل نشده است. از آنجا که کارساز ftp به وسیله xinetd.d اداره می شود، لذا باید آن را دوباره راه اندازی کرد تا تغییرات پرونده vsftpd را بازخوانی کند.
Shell→ /etc/init.d/xinetd restart
کاربرانی که به صورت anonymous به سیستم متصل می شوند وارد پوشه /var/ftp می شوند. هم اینک کارساز راه اندازی شده است و آماده فرستادن و دریافت پرونده ها است.
بررسی متغیرهای پرونده /etc/xinetd.d/vsftpd
Disable= no : یعنی اینکه کارساز ftp کار کند.
Socket- type= stream: از قرارداد tcp استفاده کند.
Wait= no یعنی اینکه xinetd بعد از راه اندازی ftp، دنبال کار خودش برود.
Server= /Usr/sbin/vsftpd
User= root: این کارگزار با کاربر مدیر (root) اجرا شود. چرا که تمام کارگزار سازها به وسیله یک کاربر اجرا می شوند.
راه اندازی و ایستاندن کارساز vsftpd به روشی که زیر مدیریت xinetd.d اداره می شود.
همانطوری که گفته شد، متغیر disable باید مقدار ni بگیرد، سپس xinetd.d را راه اندازی دوباره می کنیم.
برای این کار از یکی از روش های زیر می توان استفاده کرد:
shell→ kill -1 ‘cat /var/run/xinetd.d.pid
shell → etc/ init/xinetd restart
shell → Service xinetd restart redhat
shell → rcxinetd restart suse
راه اندازی به صورت خودکار(Standalone) در سرویس FTP
اگر بخواهیم کارساز FTP به صورت Standalone کار کند، متغیر LISTEN=YES باید باشد، تا خودش به درخواست های رسیده گوش کند.
تذکر: اگر LISTEN=NO کارساز ftp به وسیلۀ مدیر سرویس دهنده ها xinetd.d اداره می شود.
راه اندازی کارگزار ftp به صورت stand alone
shell→ /etc/initd.d/vsftpd start
shell→ /etc/initd.d/vsftpd stop
shell→ /etc/initd.d/vsftpd restart
برای اینکه کارگزار ftp در حالت های کاری مختلف به صورت خودکار راه اندازی شود، از دستور Chkconfig استفاده می کنیم. مثلاً دستور زیر باعث می شود که کارگزار ftpپس از راه اندازی شدن رایانه در runlevel های 5 و4 و 3 شروع به کار کند.
Shell→ chkconfig – level 3 4 5 vsftpd on
یادآوری runlevel ها:
0 Shutdown :runlevel
1 Single User mod :runlevel
2 multiuser mod:runlevel
3 full multiuser mod:runlevel
4 reserved:runlevel
5 X Environment:runlevel
بررسی وضعیت ftp
با اجرای فرمان netstat می توان مشخص کرد که آیا نرم افزار درگاه خود را گوش می کند یا خیر؟
linux : /etc/xinetd.d # netstat -a │grep ftp
tcp 0 0 localhost: ftp • : • LISTEN
• : •udp 0 0 localhost: tfp
چگونگی راه اندازی Active ftp در سرویس FTP لینوکسی
برای راه اندازی Passive ftp باید پرونده پیکربندی آن را به صورت زیر ویرایش کرد. در این نمونه درگاه های 4000 تا 40100 باز شده اند لذا باید در دیوار آتش خود این درگاه ها را باز کنید.
Passv-enable = Yes
لازم به ذکر است که در حالت پیش فرض کارساز ftp به شکل Passive راه اندازی می شود.
چگونگی راه اندازی Active ftp در سرویس FTP لینوکسی
در پرونده پیکربندی vsftpd.conf متغیر زیر باید نوشته شود.
Passv-enable = NO
سپس Xinetd.d را راه اندازی دوباره کنید. اگر دستور زیر را اجرا کنید در خروجی دستور درگاه شمارۀ 20 را می بینید.
shell→ netstat -na │ grep : 20
پیکربندی کارساز در سرویس FTP لینوکسی
بررسی پروندۀپیکربندی کارساز vsftpd
پروندۀ پیکربندی را با یک ویرایشگر متنی مانند Vi باز کنید.
Shell→ vi /etc/vsftpd/vsftpd.conf
اینک به بررسی متغیر های آن می پردازیم.
anonymous-enable =YES
اجازۀ دسترسی به کاربر Anonymous داده شده است.
local-enable =YES
اجازه دسترسی به کاربران رایانه محلی داده شده است یعنی کاربرانی که شناسۀ کاربری در کارساز دارند، می توانند به پوشۀ خانۀ خود بروند و از طریق ftp به ارسال یا دریافت پرونده و پوشه بپردازند.
البته فعال کردن این ویژگی یک حفره امنیتی است چرا که کلمه کاربری و کلمۀ عبور کاربران به صورت Plain Text در شبکه منتقل می شود و اگر کاربری با کلمه کاربری مدیر سیستم و گذر واژه مربوط به سیستم وارد شود، یک حفره امنیتی خطرناک است.
write-enable= YES
امکان بارگذاری پرونده ها و پوشه ها داده شده است. همچنین ساخت پوشه و نوشتن.
Dirmessage.enable=YES
اگر این ویژگی مقدار YES گرفته باشد، در هنگام تغییر پوشه، پیغامی دریافت می شود.
Xferlog-file=/var/log/vsftpd.log
محل نگهداری پروندۀ گزارش کارگزار ftp مسیر بالا است. در پروندۀ پیکربندی در ابتدای این متغییر علامت # آمده است، که نشان دهندۀ آن است مسیر بالا، مسیر پیش فرض نگهداری پروندۀ گزارش ftp است. اگر نیاز است که مسیر پروندۀ گزارش تغییر کند، پس از نوشتن مسیر دلخواه، نشانۀ # باید پاک شود.
idel-session-time out-300
به وسیله این متغیر کاربری که حداکثر 5 دقیقه بیکار باشد ارتباطش قطع می شود.
Anon-upload-enable= YES
امکان بارگذاری پرونده ها توسط کاربرانی بی نام را فراهم می کند
ftp-banner=welcome to my ftp server
به جای پیغام بالا می توان پیغام دلخواه را به عنوان خوش آمدگویی قرار داد.
Anon-root-/var/ftp
پوشۀ پیش فرض کارساز vsftpd را مشخص می کند.
مواردی که باید در پروندۀ پیکربندی vsftpd.conf در نظر گرفته شود:
در پیکر بندی پرونده vsftpd.conf خوب است به سوالات زیر پاسخ داده شود:
چه کسانی مجوز استفاده از ftp را دارند؟
کاربران به چه پوشه هایی از کارگزار می توانند دسترسی داشته باشند؟
جای نگهداری پرونده های گزارش (Log File) کجا باشد؟ چه اطلاعاتی به عنوان پروندۀ گزارش نگهداری شود؟
آیا کاربر بی نام anonymous اجازۀ دسترسی به کارگزار را دارد؟
آیا انتقال پرونده ها دو طرفه باشد؟
و سوالاتی از این قبیل در پیکربندی بهتر پرونده vsftpd.conf مؤثر است.
پیکر بندی کاربران و دسترسی میزبان ها در FTP
پرونده /etc/vsftpd.ftpusers شامل فهرستی از کاربران (سیستمی یا غیر سیستمی) است که اجازۀ استفاده از کارساز ftp را ندارند. هر کدام از آنها در یک خط مشخص شده اند. این پرونده برای بالا بردن امنیت طراحی شده است.
گفته شد که کاربران موجود در این پرونده امکان دسترسی به کارساز ftp را ندارند. به عبارت دیگر /etc/vsftpd.ftuser برای جلوگیری از دسترسی است.
در اینجا نمونه هایی از این پرونده را می بینید.
Users that are not allowed to in via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
اگر بخواهیم هر کدام از کاربران اجازه دسترسی داشته باشند واژه Allow در برابر آن قرار می دهیم.
مثال های کاربردی از کارساز vsftpd
بررسی ابزار متنی استفاده از vsftpd (فرمان ftp)
در خط فرمان، دستور ftp را وارد کنید سپس کلید inter را فشار دهید. در خط فرمان ftp آدرس یک ftp server را وارد کنید.
linux:/ # ftp
ftp> open ftp.redhat.com
Connected to ftp.redhat.com
220 220Red Hat FTP server ready.All trasfers are logged (FTP) [no EPSV]
Name (ftp.redhat.com:root): anonymous
331 please specify the password
Password
230 Login successful
Remote system type is UNIX
Using binary mode to transfer files
ftp>
پس از ورود موفق امکان اجرای دستورات ftp وجود دارد.
Using binary mode to transfer files
در اینجا در حالت دودویی (binary mode) قرار داریم، لذا امکاان تبادل پرونده های دودویی وجود دارد. اگر فقط نیاز به تبادل پرونده های متنی باشد، می توانیم به حالت متنی (Text mode) برویم.
بررسی برخی از دستورهای ftp
ftp>ls
این دستور فهرست پرونده ها و پوشه های موجود به همراه سطح دسترسی و صاحب و گروه آن را مشخص می کند.
ftp>cd packages
دستور cd برای ورود به پوشه دلخواه به کار می رود. در اینجا وارد پوشه packages می شویم.
ftp>help
به کار برد نشان می دهد. ftpفهرست دستورهایی که می توان در
ftp>asci
برای رفتن به حالت متنی (Text mod) به کار می رود.
ftp>binary
با وارد کردن این دستور به حالت binary می رویم.
پرونده را با استفاده از این دستور می توان از کارگزار ftp دریافت کرد.
ftp>get
برای بارگذاری پرونده ها از رایانه محلی به رایانه کارگزار استفاده می شود.
ftp>put
مسیر پوشۀ جاری را نشان می دهد.
ftp>pwd
ftp>! Is
با استفاده از نشانه (!) می توان دستوراتی را وارد کرد که در رایانه محلی انجام شود.لذا دستور بالا باعث می شود که فهرست پرونده ها در رایانه محلی نشان داده شود.
بررسی ابزارهای نگاره ای در FTP (graphic)
1- gftp: اگر این بسته نرم افزاری در رایانه شما نصب نیست آن را دریافت، نصب و اجرا کنید. در بخش ورودی host نام کارساز ftp را وارد کنید.
2- استفاده از مرورگر: در مرورگر خود قرارداد ftp و در ادامه نشانی پایگاه مورد نظر را وارد کنید.
/ftp://ftp.redhat.com/pub
بررسی یک مثال کاربردی
می خواهیم یک گروه به نام ftp users بسازیم بگونه ای که کاربران آن دسترسی داشته باشند. لایۀ دسترسی کاربران فقط خواندنی (read only) است. کاربران بی نام (anonymous) باید به کارساز دسترسی داشته باشند.
پرونده پیکربندی vsftpd.conf به صورت زیر ویرایش می شود:
anonymous-enable= No
Local-enable= YES
گروه شاخه مربوط به کاربران ftp را می سازیم و لایۀ دسترسی آنها را مشخص می کنیم:
Shell → groupadd ftp-user
Shell → mkdir-p /home/ftp-docs
Shell → chmod 750/home/ftp-docs
Shell → chown root: ftp-user /home/ftp-docs
کاربران گروه ftp نیز به شاخۀ خانگی آنها که /home/ftp-docs است باید تعریف شوند. سپس برای هر یک از کاربران با فرمان passwd یک کلمه عبور تعریف می کنیم:
Shell →useradd -g ftp-users -d /home/ftp-docs user1
Shell → useradd -g ftp-users -d /home/ftp-docs user2
Shell →passwd user1
Shell →passwd user2
به دست آوردن اطلاعات بیشتردر سرویس FTP لینوکسی
Shell → man -a vsftpd
Shell → man -a vsftpd.conf
همچنین می توانید به شاخۀ زیر مراجعه کنید.
/cd/usr/share/doc/packages/vsftpd
ll
در این مسیر می توانید اطلاعات کاملی به دست آورید. مثلاً در پوشۀ EXAMPLE پوشه ای به نام INTERNET-SITE وجود دارد که نمونه هایی از پروندۀ vsftpd.conf و vsftpd.xinetd آورده شده است. همچنین در پوشه SECURITY اطلاعاتی در مورد overwiew,implementation,design و trust وجود دارد.
پایگاه اینترنتی http://vsftpd.beasts.org پایگاه مرکزی vsftp است در آنجا آخرین اخبار، ویژگی ها و شرکت هایی که از vsftpd استفاده می کنند را می توان بازبینی کرد.
اکنون در پوشۀ /home/ftp-docs پرونده ها و پوشه هایی که قرار است از طریق کارساز ftp استفاده شوند را قرار می دهیم. سپس برای گروه ftp-users دسترسی read به فایل ها می دهیم:
/*Shell →chown root: ftp-users/home/ftp-docs
/*Shell →chmod 740 /home/ftp-docs
حال سرویس را restart می کنیم و به سرویس دهنده ftp با کاربری مانند user 1 متصل می شویم.
در مثال زیر نحوه اتصال یک سرویس گیرنده ftp از پوسته را به سرویس دهنده ftp مشاهده می کنیم:
Shell →ftp 192.168.1.100
Connected to 192.168.1.100.(192.168.1.100)
220 ready, dude (vsftpd 1.1.o: beat me, break me)
Name (192.168.1.100: root): user 1
331 please specify the password
Password
230 Login successful. Have fun
Remote system type is UNIX
Using binary mode to ttransfer files
<ftp
پس از login به کارساز مورد نظر جهت بارگیری پرونده دلخواه دستورات زیر را اجرا می کنیم.
ftp> ls
227 Entering passive mode (192,168,1,100,35,173)
150 Here comes the directory listing
-rwxr—–1 0 502 76288 jan 04 17:06 vsftpd-1.1.0-1.386.rpm
-rwxr—— 1 0 502 76288 jan 04 17:06 vsftpd-1.1.0-1.i386.rpm
226 Directory send OK.
ftp>get vsftpd-1.1.0-1.i386.rpm vsftpd-1.1.0-1.i386.rpm.tmp
local: vsftp-1.1.0-1.i386.rpm.tmp remote:vsftpd-1.1.0-1.386.rpm
227 Entering Passive Mode (192,168,1,100,44,156)
150 Opening BINARY mode data connection for vsftpd-1.1.0-1.i386.rpm( 76288 bytes226 File send OK.76288 bytes received in 0.499 secs 91.5e+02 kbttes/sec)
ftp>exit
آنچه که در بالا ارائه شد نمونه ای از نحوۀ راه اندازی یک سرویس دهندۀ ftp به ساده ترین روش ممکن جهت استفادۀ کاربران خاص از آن است. جهت استفاده هر یک از امکانات و ابزار این سرویس می توان با مراجعه به فایل پیکربندی آن، تنظیمات لازم را بر آن اعمال کنیم.
از جمله ابزارهای مرسوم گرافیکی که در سایر توزیع های گنو/ لینوکسی می توان از آن جهت ایجاد ارتباط ftp بین یک سرویس دهنده و سرویس گیرنده استفاده کرد، gftp است که با دارا بودن یک واسط گرافیکی توانمند راه را برای سایر کاربران سمت سرویس گیرنده هموار می سازد.
آموزش راه اندازی و اتصال به سرویس FTP لینوکس