نصب سرویس FTP بر روی لینوکس
نصب سرویس FTP بر روی لینوکس
ftp یک ابزار متنی است که برای اتصال به سرور استفاده می شود.
gftp یک ابزار گرافیکی هست که از آن برای اتصال به سرور استفاده می شود.
البته می توانید بدون اینها و با استفاده از مرورگر اینترنتی مانند فایرفاکس استفاده کنید.
yum install ftp gftp
در ماشین سرور ftp فرمان زیر را اجرا کنید.
yum -y install vsftpd
فایل اصلی پیکربندی vsftpd در دایرکتوری etc/vsftpd/ به نام vsftpd.conf وجود دارد که شامل پارامتر های اصلی تنظیم vsftpd است.
خط هایی که با # شروع می شوند به عنوان Comment در نظر گرفته می شوند.
البته برخی از پارامتر ها نیز ابتدایشان # دارند که یعنی پارامتر غیر فعال است.
برای فعال کردن پارامتر ها باید علامت # را از ابتدایشان حذف کرد.
بالای هر پارامتر توضیحی از کاربرد آن پارامتر داده شده است
که از مهمترین آنها می توانیم به موارد زیر اشاره کنیم:
-
anonymous_enable:
یعنی هر کاربری می تواند به ftp دسترسی داشته باشد.
معمولا در سرورهای ftp روی اینترنت برای دانلود فایل ها از این گزینه استفاده می شود که امنیت را پایین می آورد.
اگر مقدارش YES باشد یعنی همه می توانند به ftp دسترسی داشته باشند.
بطور پیش فرض بعد از ورود کاربر anonymous، این کاربر به مسیر var/ftp/pub/ منتقل می شود
و می تواند به فایل های درون آن دسترسی داشته باشد.
اگر NO باشد باید نام کاربری و رمز عبوری را وارد کند.
-
listen:
اگر YES باشد کنترل فرایند ftp به صورت Standalone است و اگر NO باشد کنترل توسط xinetd خواهد بود.
وقتی مقدار YES باشد سرویس به صورت background اجرا و توسط فرایند init کنترل خواهد شد.
ولی در صورتی که مقدارش NO باشد این فرایند توسط xinetd کنترل می شود
و اگر مقدار پارامتر disable در فایل مربوط به vsftpd در دایرکتوری xinetd.d برابر no باشد
یعنی اینکه سرویس vsftpd غیر فعال است و اگر yes باشد یعنی سرویس فعال است.
-
local_enable:
به کاربران محلی اگر YES باشد اجازه دسترسی می دهد.
بهتر است NO باشد زیرا ارتباط در vsftpd یا هر ftp دیگری به صورت Clear Text است و کاربر سومی می تواند اطلاعات را بدزد.
البته می توان برای امن کردن ارتباط بین سیستم ها از Certificate ها توسط ابزار openssl استفاده کرد.
-
write_enable:
اجازه نوشتن (کپی فایل و دایرکتوری توسط دیگر کاربران روی ftp را می دهد).
بهتر است NO باشد به این دلیل که ممکن است فایلی که روی ftp نوشته می شود مخرب باشد
و با کپی کردن دیگر کاربران از روی ftp روی سیستم شان، دچار مشکل شوند.
-
anon_umask:
مجوز های پیش فرض ایجاد فایل و دایرکتوری را برای کاربر anonymous تعیین می کند.
-
local_umask:
مجوز های پیش فرض ایجاد فایل و دایرکتوری را برای کاربران محلی تعیین می کند.
که این گزینه تحت تاثیر local_enable است که باید مقدارش YES باشد.
-
anon_upload_enable:
اگر مقدارش YES باشد اجازه آپلود را به کاربر anonymous می دهد.
این پارامتر در صورتی که پارامتر write_enable مقدارش YES باشد قایل استفاده است.
-
anon_mkdir_write_enable:
در صورتی که مقدارش YES باشد کاربر anonymous اجازه ایجاد دایرکتوری را دارد.
-
dirmessage_enable:
پیامی که به یک کاربر راه دور در حین ورود به یک دایرکتوری مشخص نشان داده می شود.
-
xferlog_enable:
اگر YES باشد رویدادهای Upload/Download روی فایل log برنامه vsftpd ثبت می شود.
-
connect_from_port_20:
مطمئن از اینکه پورت ارتباطی پورت شماره 20 خواهد بود،
پورت 20 یا ftp-data زمانی که فرمان هایی مانند get/put را سمت کلاینت اجرا می کنیم برای ارتباط با سرور استفاده می شود.
-
listen_port:
پورت پیش فرض 21 است که برای امنیت بیشتر می توانید Port را تغییر دهید.
-
listen_address:
با این پارامتر اگر چندین کارت شبکه روی ftp server داشته باشیم
یکی از آنها را برای استفاده توسط کلاینت ها و پاسخی دهی به در خواست ها تعیین می کنیم.
البته اگر درخواست ها زیاد باشد می توان بطور مثال از سه کارت شبکه دو کارت را اختصاص داد.
اگر این پارامتر مقدار دهی نشود تمامی کارت های شبکه استفاده می شوند.
-
xferlog_file:
مسیر فایل log را تعیین می کند.
مقدار پیش فرض آن به صورت زیر است:
xferlog_file=/var/log/vsftpd.log
-
chroot_list_enable:
اگر YES باشد می توانید لیستی از کاربرانِ Authenticated را تعیین کنید
به طوری که در دایرکتوری خود قادر به دسترسی به فایل هایشان تحت ftp باشند.
توجه کنید که اصطلاحا این کاربران در دایرکتوری خانگی خود Chroot Jail یا زندانی هستند
و این یعنی تنها به دایرکتوری خانگی خود دسترسی دارند.
مقدار آن به طور پیش فرض NO است.
-
chroot_local_user:
فهرست کاربران Authenticated را مشخص می کند این پارامتر به فایلی که حاوی کاربران Authenticated است اشاره دارد
و هر خط آن کاربری از کاربران محلی است که تحت ftp به فایل های دایرکتوری خانگی خود محدود می شود.
می توانیم برای بالا بردن امنیت سرور ftp و اجازه دادن به کارمندان شرکت به استفاده از برخی فایل های خاص تحت ftp از منزلشان، یک کاربر عمومی مثال به نام rashvand ایجاد کنیم
و دایرکتوری خانگی به آن اختصاص دهیم و همچنین پیش از ایجاد کاربر می بایست گروهی برای کاربران Authenticated ایجاد کنیم
مثلا (ftpusers) سپس مجوز و مالک دایرکتوری خانگی را به کاربر rashvand دهیم
و بعد آن را به فایلی که توسط پارامتر فوق تعیین می شود اضافه کنیم.
در این حالت برای دسترسی به محتویات دایرکتوری خانگی باید نام کاربری و رمز عبور را وارد کنیم.
-
delete_failed_uploads:
اگر فعال (YES) باشد تمامی آپلودهای failed پاک خواهند شد.
-
download_enable:
اگر فعال (YES) باشد تمامی درخواست های دانلود رد خواهند شد.
-
force_dot_files:
در صورتی که مقدار YES داشته باشد، حتی اگر فرمان فهرست کردن دایرکتوری ها توسط کلاینت بدون سوئیچ a باشد،
بازهم فایل هایی که ابتدایشان نقطه دارند نشان داده خواهند شد.
-
ls_recurse_enable:
اگر فعال (YES) باشد اجازه اجرای فرمان ls -R را دارید.
یک مشکل امنیتی کوچکی دارد
و آن اینکه در سایت هایی با حجم بسیاری از فایل ها، منبع برای فهرست کردن صرف خواهد شد.
-
local_root:
اگر تنظیم نشود، دایرکتوری خانگی کاربر، دایرکتوری خانگی ftp آن خواهد بود.
جهت مشاهده دوره های آموزشی بر روی این لینک کلیک نمایید.
جدیدترین اخبار مجموعه فراز نتورک را در این صفحه اجتماعی دنبال کنید.
نصب سرویس FTP بر روی لینوکس – نویسنده: موسی رشوند
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.