انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: آموزش راه اندازی ftp سرور به همراه virtual user  (دفعات بازدید: 11809 بار)

0 کاربر و 2 مهمان درحال مشاهده موضوع.

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
آموزش راه اندازی ftp سرور به همراه virtual user
« : 15 فروردین 1391، 10:42 ب‌ظ »
اموزش راه اندازی ftp سرور به همراه virtual user  بر رویه دبیان برایه اوبونتو هم کار مب کند.

                   
در این اموزش از vsftpd استفاده میکنیم . ftp سرور هایه دیگری هم هسمن مثل proftpd                   
از این ادرس لیست کامل ftp سرور ها در دست رس هستش                   
http://en.wikipedia.org/wiki/List_of_FTP_server_software                   
نصب                   
                   
برایه نصب  دستور زیر را بزنین                 
apt-get install vsftpd                   
بعد از نصب تمام تنظیمات داخل فایل /etc/vsfftpd انجام میشود .                   
تنظیمات                   
کلا تمام تنظیمات vsftpd به 3 صوزت انجام میشود                   
1= YES | NO                   
2= ادرس فایل  (در مواردی مثل قرار دادن فایل تنظیمات جدا برایه هر کاربر )                   
3= عددد (در مواردی مثل گذاشتن محدودیت سرعت )                   
                 
برایه شروع این طور سناریو یی رو در نظر می گیریم :                   
یک ftp سرور راه اندازی کنیم که به کاربر هایه local (یعنی کاربر هایه سیستم. همون کاربرهایی که تویه ادرس /etc/passwd قرار دارن ) اجازه ftp زدن بدهد و انهارو به home directory شون محدود کند و همچنین محدودیت سرعت 2 مگابایت بر ثانیه داشته باشد.                   
 
         
برایه شروع فایل تنظیمات (/etc/vsftp.conf) رو با یک ویرایشگر متن باز کنین . این تنظیمات رو توش اعمال کنین                   
به صورت پیش فرض در vsftpd به کاربرهایه anonymous اجازه ورود داده میشود. کاربر هایه  anonymous  کاربرهایی هستن که بدون نام کاربری و پسورد میتونن وارد ftp شوند.برایه جلوگبری از ورودشون این خط رو پیدا کنین و مقدارشو به NO تغییر دهید                   
anonymous_enable=NO                   
توضیح اپشن هایه دیگری که برایه سناریو بالا لازم داریم                   
local_enable=YES                   
به کاربر هایه local (در بالا توضیح داده شد ) اجازه ورود میدهد. به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین
                 
hroot_local_user=YES                   
کاربر ها رو به home دایرکتوریشون محدود میکند . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین. اگر هم می خاهید که فقط گروه خاصی از کاربر هارو chroot کنین از اپشن زیر استفاده کنین . اول اپشنشو فعال کنین وبعد  ادرس فایلی که اسامی کاربر هایی که باید  chroot شوند روبهش بدید .                   
chroot_list_enable=YES                   
chroot_list_file=/etc/vsftpd.chroot_list                 
local_max_rate=2 097 152                   
از طریق این اپشن محدودیت سرعت اعمال میکنیم . که مقدار عدد بر اساس بایت هستش که برایه 2 مگابایت 2 097 152 می شود . به صورت پیش فرض نیستش اول فایل کانفیگ اضافش کنین .
                 
                 
listen=YESنفهمیدم برایه چی هستش . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین.
                   
write_enable=YESبه کاربر ها اجازه نوشتن میدهد . اگر نزاریمش نمیتونن فایل اپبود کنن . به صورت پیش فرض تو فاایل تنظیمات هستش فقط مربع اولشو بردارین.                   
 
بقیه تنظیمات لازم هم به صورت پبش فرض تو خودش فعال هست.
           
بعد از اعمال تنظیمات بالا با دستور زیر سرویس رو رستارت کنین و بعد تست کنین .
service vsftpd restart           
حالا تستش کنین :
برایه تست پیشنهاد من استفاده از fireftp یا filezilla هستش  . fireftp که رویه فایر فاکس نصب میشود . و filezilla هم تو مخازن هستش که با دستور زیر نصب میشه .
apt-get install filezilla
           
با دستور ftp هم میشه تست کرد که دستور به شکل زیر هستش
ftp IP-ADDRES           
           
راه اندازی https         
         
اول اپشن هایه لازم رو در فایل کانفیگ فعال کنید           
ssl_enable=YES         
امکان https رو فعال میکند         
         
force_local_data_ssl=YES         
تمامی کاربر هایه local رو مجبور به استفاده از https میکند.         
         
force_local_logins_ssl=YES         
تمام login هایه کاربر هایه local به صورت https انجام میشود.پسورد به صورت encrypt ردوبدل می شود.         
         
         
# Permit TLS v1 protocol connections. TLS v1 connections are preferred         
ssl_tlsv1=YES         
# Permit SSL v2 protocol connections. TLS v1 connections are preferred         
ssl_sslv2=NO         
# permit SSL v3 protocol connections. TLS v1 connections are preferred         
ssl_sslv3=NO
         
در بالا فقط tlsv1 رو اجازه دادیم . tls بسترین امنیت رو دارد         
         
rsa_cert_file=/etc/vsftpd/vsftpd.pem         
ادرس فایل key رو تعیین میکنیم . به صورت پیش فرض تو فایل کانفیگ هست .برایه ساخت فایل کی وارد /etc/vsftpd شوید و دستور زیر رو بزنین           
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout vsftpd.pem -out vsftpd.pem         
         
         
  تست         
نکته : برایه تست از هر نرم افزاری استفاده میکنین گذینه رو رویه tsl قرار بدین .         
برایه تست ار fireftp میشه استفاده کرد ولی بعضی اوقات یا همیشه درست کار نمیکنه . پیشنهاد من filezilla هستش .         
برایه ترمینال هم از دستور زیر استفاده کنین         
ftp-ssl 192.168.113.22         
       
       
       
       
virtual user       
     
چه زمانی از vitual user استفاده میکنیم :     
زمانی که تعداد کاربر ها زیاد باشن که مشکلاتی مثل جلو گیری از اتصال ssh از این کاربر ها ، یا حتی اگر هم تعدادشون کم باشه چون ردو بدل شدن پسورد با امنیت کمتری انجام میشه و ممکن پسورد ssh رو لو دهد از این امکان استفاده میکنیم . با موارد دیگر ...     
     
کلیت کار این هستش که یک فایل ایجاد میکنیم . نام کاربری و پسورد هارو تو این ذخیره می کنیم . و یک تغییر کوچک در فایلی که مسعول اهراض هویت هستش ایجاد میکنیم .     
     
شروع کار     
اول اپشن هایه مورد نیاز رو در vsftpd فعال میکنیم . از اپشن ها هرکدوم تو خود فایل کانفیگ نبود اول فایل خودتون اضافه کنین     
guest_enable=YES     
باعث میشه تا تمام کاربر هایه anonymous  به صورت guest شناخته شوند .     
     
     
guest_username=virtualftp     
This setting is the real username which guest users are mapped to     
     
virtual_use_local_privs=YES     
با این اپشن میگیم که کاربر هایه مجازی از امتیازات کاربر هایه local میتونن بهره ببرن.     
     
local_root=/var/www/ftp/$USER     
ادرس فایلی که کاربرهایه وجازی رو به اون جا chroot می کنیم       
نکته : $USER به معنی نام کاربری هستش . پس هر کاربر مجازی به صورت اوتومات به ادرس بالا و دایرکتوری که هم نام با نام کاربریش هست chroot میشود. این رو هم برایه اپشن بالا اضافه کنید .user_sub_token=$USER     
     
     
chroot_list_enable=YES     
برایه لیست کاربر هایی که chroot باید شوند . که با اپشن زیر ادرسشو میدیم . در هر خط یک نام کاربری بنویسین.     
chroot_list_file=/etc/vsftpd/chroot_list     
     
     
pam_service_name=vsftpd     
برایه تعیین محل فایل اهراض هویت.     
     
     
local_enable=NO     
جلوگیرب از ورود کاربر هایه local     
     
anonymous_enable=YES     
     
جلو گبری از کاربر هایه anonymous     
بقیه اوشن ها به صورت پیش فرض توش هست .     
     
حالا کاربر virtualftp رو بسازین.     
useradd virtualftp     
     
سپس نام کاربر هایی که chroot می شوند رو در ادرس زیر بزارین     
etc/vsftpd/chroot_list     
     
سپس فایل   etc/vsftpd_user_conf/lili رو بسازیرن و این هارو توش بزارین با فرض این که اسم کاربر مجازیتون lili باشه     
write_enable=YES   
chroot_local_user=YES   
local_root=/var/www/ftp/$USER   
user_sub_token=$USER
 
سپس فایل /etc/pam.d/vsftpd  رو باز کنید و هرچی توش هست رو پاک کنید و اینارو بزارین     
auth    required pam_pwdfile.so pwdfile /etc/vsftpd/passwd     
account required pam_permit.so
     
   
   
حالا فایل هایه نام کاربری رو می سازیم   
htpasswd -c /etc/vsftpd/passwd  lili فایل /var/www/ftp رو بسازین و داخل اون فایل هایه کاربر هارو هم بسازین 
نکته : پرمیشن فایل کاربر هایه مجازی رو 661 بزارین 
حالا سرویس رو رستارت کنید و تست کنید .   
 
 
صفحه تمام تنظیمات
vsftpd : http://vsftpd.beasts.org/vsftpd_conf.html 
منابع :
http://vsftpd.beasts.org/vsftpd_conf.html
http://www.cyberciti.biz/tips/configure-vsfptd-secure-connections-via-ssl-tls.html
http://www.linuxquestions.org/questions/showthread.php?p=4601583#post4601583

منبع کپی برداری:
fsforums.ir
« آخرین ویرایش: 15 فروردین 1391، 11:12 ب‌ظ توسط alieblice »

آفلاین AliRezaiMi

  • High Hero Member
  • *
  • ارسال: 1073
  • جنسیت : پسر
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #1 : 16 فروردین 1391، 12:48 ب‌ظ »
دوست عزیز اگر یه لطفی کنید و اموزش‌هاتون رو به ویکی هم اضافه کنید خیلی عالی میشه!
سپاس

آفلاین banihashemi

  • Newbie
  • *
  • ارسال: 2
  • جنسیت : دختر
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #2 : 29 شهریور 1391، 01:39 ب‌ظ »
با سلام
میخواستم ببینم آیا در vsftpd  این امکان رو داریم که بتونیم مجوز آپلود بعضی فرمتها را به کاربران ندهیم؟
و آیا به شیوه ای میتوان آپلود و دانلود حجمی را برای هر کاربر تعریف کرد و محدود نمود؟
با تشکر

آفلاین alieblice2

  • Sr. Member
  • *
  • ارسال: 280
برایه جلو گیری از اپلود بعضی فایل ها فکر کنم این بشه .متن کاملشو نخوندم http://vsftpd.beasts.org/vsftpd_conf.html
deny_file
تو لینک بالا سیرچش کنین

قسمت دوم سوالتون 2 جور میشه دقیق نفهمیدم کدوم منظورتون هست:
اگر منظورتون خود سایز فایلی که اپلود میشه هست = برایه این مورد من تو تنظیماتش چیزی پیدا نکردم.
اگر منظورتون ایجاد محدودیت حجم برایه کل فایلایه اپلودی هست مثلا حد اکثر تا 10 گیگ فایل بتونه اپلود کنه = تا جایی که من میدونم این امکان رو خودش پیش فرض نداره ولی با ایجاد یک پارتیژن مجازی و گذاشتن quota رو اون میتونین این طور کاری رو انجام بدین . برا این کار کاربر مربوطه رو هم باید به اون درایو  مجازی chrootش کنین .
http://www.linuxquestions.org/questions/linux-server-73/directory-quota-601140/

آفلاین doomhammer65ir

  • High Hero Member
  • *
  • ارسال: 1572
  • جنسیت : پسر
    • IRAN Backup
با qouta میشه حجم کل کاربر رو بست لاکن نمیشه گفت برای نمونه کاربر فایل بیش از 10 مگابایت بارنگذاره . 

آفلاین banihashemi

  • Newbie
  • *
  • ارسال: 2
  • جنسیت : دختر
از همه دوستان ممنونم. این پارتیشن مجازی رو چک کنم ببینم میشه یا نه. بازم متشکرم

آفلاین pooriyasss

  • Newbie
  • *
  • ارسال: 1
  • جنسیت : پسر
سلام
یه سوال داشتم ممنون می شم کمکم کنید.
بعد از اایجاد تغییرات در فایل vsftpd.conf تغییرات ذخیره نمیشه.
و میگه که این فایل نسخه پشتیبان ندارد. آیا مایل به ادامه ذخیره تغییرات هستید؟
بعد هم که روی کلید ذخیره کلیک می کنم هیچ اتفاقی نمی افته و ذخیره هم نمیشه.
ممنون

آفلاین alieblice

  • High Hero Member
  • *
  • ارسال: 1275
دستوری که میزنین چی هست ؟
با sudo دستور رو میزنین ؟
با دست رسی روت دستور رو بزنین .

آفلاین aliboy

  • High Sr. Member
  • *
  • ارسال: 558
  • جنسیت : پسر

+1

 =D> =D> =D>
و ما میطوانیم

آفلاین آرمان اسماعیلی

  • High Hero Member
  • *
  • ارسال: 2366
  • جنسیت : پسر
صفحه‌ی من در اینستاگرام: ‎‎@armanes92

آفلاین MHA152

  • High Hero Member
  • *
  • ارسال: 2745
  • جنسیت : پسر
  • من عاشق یونیکسی ها هستم
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #10 : 25 خرداد 1392، 10:42 ب‌ظ »
پست مفیدی بود ولی من یک کار کوچولو می خواهم انجام بدم و اونم اینه که چند گیگ فایلی که دارم را از روی لوبونتو(کامپیوترم) به ویندوز(لپ تاپ) انتقال بدم و فکر می کردم که ساده ترین راه استفاده از ftp است؟میشه کمکم کنید اینکار را با دردسر کمتری انجام بدم؟روش جایگزینی هست که راحت تر و بهتر باشه(با کابل لن)؟
بهتون پیشنهاد می کنم به دنیای بزرگ شبه−یونیکس وارد بشید و از پیشرفت لذت ببرید
جیمیلم

آفلاین محمدرضا ح.

  • High Hero Member
  • *
  • ارسال: 3117
  • جنسیت : پسر
  • Your Future is our Past!
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #11 : 25 خرداد 1392، 11:04 ب‌ظ »
پست مفیدی بود ولی من یک کار کوچولو می خواهم انجام بدم و اونم اینه که چند گیگ فایلی که دارم را از روی لوبونتو(کامپیوترم) به ویندوز(لپ تاپ) انتقال بدم و فکر می کردم که ساده ترین راه استفاده از ftp است؟میشه کمکم کنید اینکار را با دردسر کمتری انجام بدم؟روش جایگزینی هست که راحت تر و بهتر باشه(با کابل لن)؟
HTTP بهتره. یه آپاچی نصب کن، بعد تو ویندوز دانلودش کن :).
قاضی : تو السالوادور چه کار میکردی؟
چه‌گوارا : آفتاب میگرفتم
قاضی : پس چرا ساختمان دادگستری رو منفجر کردی؟
چه‌گوارا : جلوی آفتاب رو گرفته بود

آفلاین ali.abry

  • High Hero Member
  • *
  • ارسال: 1224
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #12 : 26 خرداد 1392، 12:44 ق‌ظ »
پست مفیدی بود ولی من یک کار کوچولو می خواهم انجام بدم و اونم اینه که چند گیگ فایلی که دارم را از روی لوبونتو(کامپیوترم) به ویندوز(لپ تاپ) انتقال بدم و فکر می کردم که ساده ترین راه استفاده از ftp است؟میشه کمکم کنید اینکار را با دردسر کمتری انجام بدم؟روش جایگزینی هست که راحت تر و بهتر باشه(با کابل لن)؟

یک samba هم میتونی نصب کنی .
شما ftp رو سادش کن .

اول این دستور رو بزن :
sudo apt-get install vsftpd
بعد برو تو فایل کانفیگش
nano /etc/vsftpdاینارو به شکل زیر تغییر بده :
local_enable=yes
anonymous_enable=no
write_enable=YES
         

یوزر و پسورد هم همونیه که باهاش وارد سیستمت میشی.
تموم شد . رو ویندوز filezilla نصب کن حالشو  8) ببر یا بی دردسر ترش رو میخای رو فایرفاکس fireftp رو نصب کن که حجمشم کمتره.
« آخرین ویرایش: 26 خرداد 1392، 12:47 ق‌ظ توسط ali.abry »

آفلاین Warhammer

  • Newbie
  • *
  • ارسال: 9
  • جنسیت : پسر
  • NaN
    • WebGo
پاسخ : آموزش راه اندازی ftp سرور به همراه virtual user
« پاسخ #13 : 10 خرداد 1395، 05:28 ق‌ظ »
سلام
من با filezilla میتونم کانکت بشم اما نمیتونم چیزی آپلود کنم
Status: Connection established, waiting for welcome message...
Status: Insecure server, it does not support FTP over TLS.
Status: Server does not support non-ASCII characters.
Status: Logged in
Status: Starting upload of C:\Users\Sadegh\Desktop\Web Design\WebGo!\index.html
Command: CWD /home/admin
Response: 250 Directory successfully changed.
Command: PWD
Response: 257 "/home/admin" is the current directory
Command: TYPE A
Response: 200 Switching to ASCII mode.
Command: PASV
Response: 227 Entering Passive Mode (78,46,180,119,156,204).
Command: STOR index.html
Response: 553 Could not create file.
Error: Critical file transfer error
Status: Disconnected from server
Share Your Knowledge,Not In Favor Of Money,But Development