| VSFTPD.CONF(5) | File Formats Manual | VSFTPD.CONF(5) |
نام (NAME)
vsftpd.conf - فایل پیکربندی سرور vsftpd
توضیحات (DESCRIPTION)
فایل vsftpd.conf برای کنترل جنبههای گوناگون رفتار vsftpd به کار میرود. بهطور پیشفرض، vsftpd به دنبال این فایل در مسیر /etc/vsftpd.conf میگردد. با این حال، میتوانید با تعیین یک آرگومان خط فرمان برای vsftpd، این مقدار را لغو و بازنویسی کنید. این آرگومان خط فرمان، مسیر فایل پیکربندی برای vsftpd است. این رفتار از آن جهت سودمند است که شاید بخواهید از یک inetd پیشرفته مانند xinetd برای راهاندازی vsftpd با فایلهای پیکربندی متفاوت به ازای هر میزبان مجازی (virtual host) استفاده کنید.
قالب فایل (FORMAT)
قالب vsftpd.conf بسیار ساده است. هر خط یا یک توضیح یا یک دستورالعمل است. خطوط توضیح با # آغاز میشوند و نادیده گرفته میشوند. یک خط دستورالعمل دارای این قالب است:
option=value
توجه به این نکته مهم است که قرار دادن هرگونه فاصله بین option، = و value یک خطا محسوب میشود.
هر تنظیم دارای یک مقدار پیشفرض کامپایلشده در برنامه است که میتواند در فایل پیکربندی تغییر داده شود.
گزینههای بولی (BOOLEAN OPTIONS)
در زیر فهرستی از گزینههای بولی آمده است. مقدار یک گزینه بولی میتواند روی YES یا NO تنظیم شود.
- allow_anon_ssl
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. اگر
روی YES تنظیم
شود، به
کاربران
ناشناس
اجازه داده
خواهد شد از
اتصالات
امن SSL
استفاده
کنند.
پیشفرض: NO
- anon_mkdir_write_enable
- اگر روی YES
تنظیم شود،
به کاربران
ناشناس
اجازه داده
خواهد شد
تحت شرایط
خاصی
دایرکتوریهای
جدید ایجاد
کنند. برای
کارکرد این
گزینه،
باید گزینه
write_enable فعال
باشد و
کاربر ftp
ناشناس
باید
دسترسی
نوشتن روی
دایرکتوری
والد را
داشته باشد.
پیشفرض: NO
- anon_other_write_enable
- اگر روی YES
تنظیم شود،
به کاربران
ناشناس
اجازه داده
خواهد شد
عملیاتهای
نوشتن
دیگری به جز
بارگذاری و
ساخت
دایرکتوری،
مانند حذف و
تغییر نام
را انجام
دهند. این
کار عموماً
توصیه
نمیشود
اما برای
کامل بودن
گزینهها
گنجانده
شده است.
پیشفرض: NO
- anon_upload_enable
- اگر روی YES
تنظیم شود،
به کاربران
ناشناس
اجازه داده
خواهد شد
تحت شرایط
خاصی
فایلها را
بارگذاری
کنند. برای
کارکرد این
گزینه،
باید گزینه
write_enable فعال
باشد و
کاربر ftp
ناشناس
باید
دسترسی
نوشتن روی
مکانهای
مورد نظر
برای
بارگذاری
را داشته
باشد. این
تنظیم
همچنین
برای
بارگذاری
کاربران
مجازی لازم
است؛
بهطور
پیشفرض،
با کاربران
مجازی
مانند
کاربران
ناشناس
(یعنی با
بیشترین
محدودیت
دسترسی)
رفتار
میشود.
پیشفرض: NO
- anon_world_readable_only
- هنگامی که
فعال باشد،
به کاربران
ناشناس
تنها اجازه
بارگیری
فایلهایی
داده
میشود که
برای عموم
قابل
خواندن (world readable)
باشند. این
امر با در
نظر گرفتن
این است که
کاربر ftp
ممکن است
مالک
فایلها
باشد،
بهویژه در
صورت وجود
بارگذاریها.
پیشفرض: YES
- anonymous_enable
- کنترل
میکند که
آیا
ورودهای
ناشناس
مجاز هستند
یا خیر. در
صورت فعال
بودن، هر دو
نام کاربری
ftp و anonymous
بهعنوان
ورودهای
ناشناس
شناخته
میشوند.
پیشفرض: YES
- ascii_download_enable
- هنگامی که
فعال باشد،
انتقال
داده در
حالت ASCII برای
بارگیریها
اعمال
خواهد شد.
پیشفرض: NO
- ascii_upload_enable
- هنگامی که
فعال باشد،
انتقال
داده در
حالت ASCII برای
بارگذاریها
اعمال
خواهد شد.
پیشفرض: NO
- async_abor_enable
- هنگامی که
فعال باشد،
دستور ویژه
FTP با عنوان "async
ABOR" فعال
خواهد شد.
تنها
کلاینتهای
FTP ناسازگار
و نامناسب
از این
ویژگی
استفاده
میکنند.
علاوه بر
این،
مدیریت این
ویژگی
دشوار است،
بنابراین
بهطور
پیشفرض
غیرفعال
است.
متأسفانه،
برخی از
کلاینتهای
FTP هنگام لغو
انتقال
فایل هنگ
میکنند
مگر اینکه
این ویژگی
در دسترس
باشد،
بنابراین
ممکن است
بخواهید آن
را فعال
کنید.
پیشفرض: NO
- background
- هنگامی که
فعال باشد و
vsftpd در حالت
"listen"
راهاندازی
شود، vsftpd
فرایند
شنونده را
در
پسزمینه
اجرا خواهد
کرد؛ یعنی
کنترل
بلافاصله
به
پوستهای
که vsftpd را اجرا
کرده است
بازگردانده
میشود.
پیشفرض: NO
- check_shell
- توجه! این
گزینه تنها
در
ساختهای
غیر-PAM از vsftpd
تأثیر دارد.
در صورت
غیرفعال
بودن، vsftpd
فایل /etc/shells را
برای بررسی
معتبر بودن
پوسته
کاربری جهت
ورودهای
محلی بررسی
نخواهد کرد.
پیشفرض: YES
- chmod_enable
- هنگامی که
فعال باشد،
اجازه
استفاده از
دستور SITE CHMOD را
میدهد.
توجه! این
گزینه تنها
برای
کاربران
محلی اعمال
میشود.
کاربران
ناشناس
هرگز اجازه
استفاده از
SITE CHMOD را
ندارند.
پیشفرض: YES
- chown_uploads
- اگر فعال
باشد،
مالکیت
تمامی
فایلهای
بارگذاریشده
بهصورت
ناشناس به
کاربری که
در تنظیم
chown_username مشخص
شده است
تغییر
مییابد.
این ویژگی
از دیدگاه
مدیریتی و
احتمالاً
امنیتی
مفید است.
پیشفرض: NO
- chroot_list_enable
- اگر فعال
شود،
میتوانید
فهرستی از
کاربران
محلی ارائه
دهید که
هنگام ورود
در یک محیط
محدودشده chroot()
در
دایرکتوری
خانگی خود
قرار
میگیرند.
اگر chroot_local_user روی YES
تنظیم شده
باشد،
معنای آن
کمی متفاوت
خواهد بود.
در این
حالت، این
لیست تبدیل
به فهرستی
از
کاربرانی
میشود که
نباید در
محیط chroot() قرار
گیرند.
بهطور
پیشفرض،
فایل حاوی
این فهرست
/etc/vsftpd.chroot_list است،
اما
میتوانید
با تنظیم
chroot_list_file آن را
تغییر دهید.
پیشفرض: NO
- chroot_local_user
- اگر روی YES
تنظیم شود،
کاربران
محلی
(بهطور
پیشفرض) پس
از ورود در
یک محیط chroot()
در
دایرکتوری
خانگی خود
قرار
میگیرند.
هشدار: این
گزینه
پیامدهای
امنیتی در
پی دارد،
بهویژه
اگر
کاربران
دسترسی
بارگذاری
یا دسترسی
به پوسته (shell)
داشته
باشند. تنها
در صورتی
فعال کنید
که دقیقاً
بدانید چه
کاری انجام
میدهید.
توجه داشته
باشید که
این
پیامدهای
امنیتی
مختص vsftpd
نیستند؛
آنها برای
تمامی
دیمنهای FTP
که امکان
قرار دادن
کاربران
محلی در
محیطهای chroot()
را ارائه
میدهند،
صدق
میکنند.
پیشفرض: NO
- connect_from_port_20
- این گزینه
کنترل
میکند که
آیا
اتصالات
داده به سبک
PORT از درگاه
۲۰ (ftp-data) در
رایانه
سرور
استفاده
کنند یا
خیر. به
دلایل
امنیتی،
برخی
کلاینتها
ممکن است بر
این موضوع
اصرار
ورزند. در
مقابل،
غیرفعال
کردن این
گزینه به vsftpd
اجازه
میدهد تا
با دسترسی و
امتیازهای
کمی کمتر
اجرا شود.
پیشفرض: NO (اما فایل پیکربندی نمونه آن را فعال میکند)
- debug_ssl
- اگر فعال (true)
باشد،
اطلاعات
عیبیابی
اتصال OpenSSL در
فایل لاگ vsftpd
ذخیره
میشوند.
(افزودهشده
در نسخه 2.0.6).
پیشفرض: NO
- delete_failed_uploads
- اگر فعال (true)
باشد،
تمامی
فایلهای
مربوط به
بارگذاریهای
ناموفق حذف
میشوند.
(افزودهشده
در نسخه 2.0.7).
پیشفرض: NO
- deny_email_enable
- اگر فعال
شود،
میتوانید
فهرستی از
پاسخهای
ایمیلی
گذرواژه
ناشناس را
ارائه دهید
که باعث رد
شدن ورود
کاربر
میشوند.
بهطور
پیشفرض،
فایل حاوی
این لیست
/etc/vsftpd.banned_emails است،
اما
میتوانید
آن را با
تنظیم banned_email_file
تغییر دهید.
پیشفرض: NO
- dirlist_enable
- اگر روی NO
تنظیم شود،
تمامی
دستورات
لیست
دایرکتوری
خطای عدم
دسترسی (permission denied)
خواهند داد.
پیشفرض: YES
- dirmessage_enable
- اگر فعال
باشد،
هنگام ورود
کاربران به
یک
دایرکتوری
جدید،
پیامهایی
به آنها
نمایش داده
میشود.
بهطور
پیشفرض،
دایرکتوری
برای یافتن
فایل .message پویش
میشود،
اما این
رفتار
میتواند
با تنظیم
پیکربندی
message_file تغییر
داده شود.
پیشفرض: NO (اما فایل پیکربندی نمونه آن را فعال میکند)
- download_enable
- اگر روی NO
تنظیم شود،
تمامی
درخواستهای
بارگیری
خطای عدم
دسترسی (permission denied)
خواهند داد.
پیشفرض: YES
- dual_log_enable
- اگر فعال
باشد، دو
فایل لاگ
بهطور
همزمان
ایجاد
میشوند که
بهطور
پیشفرض به
/var/log/xferlog و /var/log/vsftpd.log
ارسال
میگردند.
فایل نخست
یک لاگ
انتقال به
سبک wu-ftpd است که
با
ابزارهای
استاندارد
قابل تجزیه
و تحلیل
است. فایل
دوم لاگی با
سبک ویژه
خود vsftpd است.
پیشفرض: NO
- force_dot_files
- اگر فعال
شود،
فایلها و
دایرکتوریهایی
که با . آغاز
میشوند در
فهرستهای
دایرکتوری
نمایش داده
خواهند شد،
حتی اگر فلگ
"a" توسط
کلاینت
استفاده
نشده باشد.
این رفتار
ورودیهای
"." و ".." را در
بر
نمیگیرد.
پیشفرض: NO
- force_anon_data_ssl
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن،
تمامی
ورودهای
ناشناس
مجبور به
استفاده از
یک اتصال
امن SSL برای
ارسال و
دریافت
دادهها
روی
اتصالات
داده
خواهند بود.
پیشفرض: NO
- force_anon_logins_ssl
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن،
تمامی
ورودهای
ناشناس
مجبور به
استفاده از
یک اتصال
امن SSL برای
ارسال
گذرواژه
خواهند بود.
پیشفرض: NO
- force_local_data_ssl
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن،
تمامی
ورودهای
غیرناشناس
مجبور به
استفاده از
یک اتصال
امن SSL برای
ارسال و
دریافت
دادهها
روی
اتصالات
داده
خواهند بود.
پیشفرض: YES
- force_local_logins_ssl
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن،
تمامی
ورودهای
غیرناشناس
مجبور به
استفاده از
یک اتصال
امن SSL برای
ارسال
گذرواژه
خواهند بود.
پیشفرض: YES
- guest_enable
- اگر فعال
باشد، تمام
ورودهای
غیرناشناس
بهعنوان
ورود
"مهمان" (guest)
در نظر
گرفته
میشوند. یک
ورود مهمان
به کاربری
که در تنظیم
guest_username مشخص
شده است
نگاشت
میشود.
پیشفرض: NO
- hide_ids
- اگر فعال
باشد،
تمامی
اطلاعات
کاربر و
گروه در
فهرستهای
دایرکتوری
بهصورت "ftp"
نمایش داده
خواهند شد.
پیشفرض: NO
- implicit_ssl
- اگر فعال
باشد،
دستتکانی
SSL نخستین
چیزی است که
در تمامی
اتصالات
انتظار
میرود
(پروتکل FTPS).
برای
پشتیبانی
همزمان از SSL
صریح (explicit SSL) و/یا
متن ساده،
باید یک
فرایند
شنونده vsftpd
جداگانه
اجرا شود.
پیشفرض: NO
- listen
- اگر فعال
باشد، vsftpd در
حالت مستقل
(standalone) اجرا
خواهد شد.
این بدان
معناست که vsftpd
نباید از
طریق نوعی
از inetd اجرا
گردد. در
عوض، فایل
اجرایی vsftpd یک
بار
مستقیماً
اجرا
میشود. سپس
خود vsftpd
مدیریت گوش
دادن به
اتصالات
ورودی و
رسیدگی به
آنها را بر
عهده خواهد
گرفت.
پیشفرض: NO
- listen_ipv6
- مشابه
پارامتر listen
است، با این
تفاوت که vsftpd
به جای سوکت
IPv4 روی یک
سوکت IPv6 گوش
خواهد داد.
این
پارامتر و
پارامتر listen
مانعهالجمع
(mutually exclusive) هستند.
پیشفرض: NO
- local_enable
- کنترل
میکند که
آیا
ورودهای
محلی مجاز
هستند یا
خیر. در
صورت فعال
بودن،
حسابهای
کاربری
عادی در /etc/passwd
(یا هرجایی
که
پیکربندی PAM
شما ارجاع
میدهد)
میتوانند
برای ورود
به سیستم
استفاده
شوند. این
گزینه باید
فعال باشد
تا هرگونه
ورود
غیرناشناس،
از جمله
کاربران
مجازی، کار
کند.
پیشفرض: NO
- lock_upload_files
- هنگامی که
فعال باشد،
تمامی
بارگذاریها
با یک قفل
نوشتن روی
فایل
بارگذاریشده
انجام
میشوند.
تمامی
بارگیریها
با یک قفل
خواندن
مشترک روی
فایل
بارگیریشده
ادامه
مییابند.
هشدار! پیش
از فعال
کردن این
گزینه آگاه
باشید که
خوانندگان
مخرب
میتوانند
مانع از کار
نویسندهای
شوند که
برای نمونه
قصد الحاق
داده به یک
فایل را
دارد
(گرسنگی
نویسنده).
پیشفرض: YES
- log_ftp_protocol
- هنگامی که
فعال باشد،
تمامی
درخواستها
و پاسخهای
FTP ثبت
میشوند،
به شرطی که
گزینه xferlog_std_format
فعال نباشد.
این گزینه
برای
اشکالزدایی
سودمند است.
پیشفرض: NO
- ls_recurse_enable
- هنگامی که
فعال باشد،
این تنظیم
امکان
استفاده از
"ls -R" را
فراهم
میکند. این
یک ریسک
امنیتی
جزئی است،
زیرا اجرای
ls -R در
بالاترین
سطح یک سایت
بزرگ ممکن
است منابع
زیادی را
مصرف کند.
پیشفرض: NO
- mdtm_write
- هنگامی که
فعال باشد،
این تنظیم
به دستور MDTM
اجازه
میدهد تا
زمانهای
ویرایش
فایل را
تنظیم کند
(مشروط به
بررسیهای
دسترسی
معمول).
پیشفرض: YES
- no_anon_password
- هنگامی که
فعال باشد،
از درخواست
گذرواژه
ناشناس
توسط vsftpd
جلوگیری
میکند؛ در
نتیجه
کاربر
ناشناس
مستقیماً
وارد سیستم
خواهد شد.
پیشفرض: NO
- no_log_lock
- هنگامی که
فعال باشد،
از گرفتن
قفل فایل
توسط vsftpd در
هنگام
نوشتن روی
فایلهای
لاگ
جلوگیری
میکند. این
گزینه
عموماً
نباید فعال
شود؛
کاربرد آن
برای دور
زدن
باگهای
سیستمعامل
است، مانند
ترکیب
سیستمفایل
Solaris / Veritas که
مشاهده شده
هنگام قفل
کردن
فایلهای
لاگ گاهی
دچار
قفلشدگی (hang)
میشود.
پیشفرض: NO
- one_process_model
- اگر از هسته
لینوکس ۲.۴
استفاده
میکنید،
امکان
استفاده از
یک مدل
امنیتی
متفاوت
وجود دارد
که به ازای
هر اتصال
تنها از یک
فرایند
بهره
میبرد. این
یک مدل
امنیتی
ضعیفتر
است اما
کارایی را
افزایش
میدهد.
واقعاً
نباید این
گزینه را
فعال کنید
مگر اینکه
کاملاً
بدانید چه
کاری انجام
میدهید و
سایت شما از
تعداد
بسیار
زیادی
کاربر
همزمان
پشتیبانی
کند.
پیشفرض: NO
- passwd_chroot_enable
- در صورت
فعال بودن
به همراه
chroot_local_user
میتوان
مکان محیط chroot()
را بر اساس
هر کاربر
تعیین کرد.
محیط chroot هر
کاربر از
رشته
دایرکتوری
خانگی او در
/etc/passwd گرفته
میشود.
وجود /./ در
رشته
دایرکتوری
خانگی
نشاندهنده
آن است که
زندان chroot در
همان نقطه
خاص از مسیر
واقع شده
است.
پیشفرض: NO
- pasv_addr_resolve
- اگر
میخواهید
در گزینه
pasv_address به جای
آدرس IP از یک
نام میزبان
(hostname) استفاده
کنید، این
گزینه را
روی YES قرار
دهید.
پیشفرض: NO
- pasv_enable
- اگر
میخواهید
استفاده از
روش PASV برای
برقراری
اتصال داده
غیرمجاز
شود، این
گزینه را
روی NO تنظیم
کنید.
پیشفرض: YES
- pasv_promiscuous
- اگر
میخواهید
بررسی
امنیتی PASV (که
اطمینان
میدهد
اتصال داده
از همان
آدرس IP
اتصال
کنترل منشأ
میگیرد) را
غیرفعال
کنید، روی YES
تنظیم
نمایید.
تنها در
صورتی فعال
کنید که
دقیقاً
بدانید چه
میکنید!
تنها
کاربرد
مشروع این
گزینه در
نوعی طرح
تونلزنی
امن یا
احتمالاً
تسهیل
پشتیبانی
از FXP است.
پیشفرض: NO
- port_enable
- اگر
میخواهید
روش PORT برای
برقراری
اتصال داده
غیرمجاز
شود، این
گزینه را
روی NO تنظیم
کنید.
پیشفرض: YES
- port_promiscuous
- اگر
میخواهید
بررسی
امنیتی PORT (که
اطمینان
میدهد
اتصالات
داده خروجی
تنها
میتوانند
به کلاینت
متصل شوند)
را غیرفعال
کنید، روی YES
تنظیم
نمایید.
تنها در
صورتی فعال
کنید که
دقیقاً
بدانید چه
کاری انجام
میدهید!
پیشفرض: NO
- require_cert
- اگر روی YES
تنظیم شود،
تمامی
اتصالات
کلاینت SSL
ملزم به
ارائه
گواهی
کلاینت
هستند.
میزان
اعتبارسنجی
اعمالشده
روی این
گواهی توسط
validate_cert کنترل
میشود.
(افزودهشده
در نسخه 2.0.6).
پیشفرض: NO
- require_ssl_reuse
- اگر روی YES
تنظیم شود،
تمامی
اتصالات
داده SSL ملزم
به استفاده
مجدد از
نشست SSL (session reuse)
هستند (که
ثابت
میکند راز
اصلی
یکسانی را
با کانال
کنترل به
اشتراک
دارند).
هرچند این
یک پیشفرض
امن است،
اما ممکن
است با
بسیاری از
کلاینتهای
FTP ناسازگار
باشد،
بنابراین
شاید مایل
به غیرفعال
کردن آن
باشید. برای
بحث در مورد
پیامدهای
این گزینه
به نشانی
http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html
مراجعه
فرمایید.
(افزودهشده
در نسخه 2.1.0).
پیشفرض: YES
- run_as_launching_user
- اگر
میخواهید
vsftpd با همان
کاربری
اجرا شود که
آن را
راهاندازی
کرده است،
روی YES تنظیم
کنید. این
گزینه در
مواقعی که
دسترسی
ریشه (root) وجود
ندارد
سودمند است.
هشدار
بسیار جدی!
این گزینه
را به هیچ
وجه فعال
نکنید مگر
اینکه
کاملاً
بدانید چه
کاری انجام
میدهید،
زیرا
استفاده
ناشیانه از
آن
میتواند
مشکلات
امنیتی
بزرگی
بیافریند.
بهطور
مشخص،
هنگامی که
این گزینه
تنظیم شده
باشد، vsftpd
نمیتواند/نباید
از فناوری chroot
برای
محدودسازی
دسترسی به
فایلها
استفاده
کند (حتی
اگر توسط
ریشه اجرا
شده باشد).
یک جایگزین
ضعیف
میتواند
استفاده از
تنظیم deny_file
مانند {/*,*..*}
باشد، اما
قابلیت
اطمینان آن
با chroot قابل
مقایسه
نیست و
نباید به آن
تکیه کرد.
در صورت
استفاده از
این گزینه،
محدودیتهای
بسیاری روی
گزینههای
دیگر اعمال
میشود.
برای
نمونه،
گزینههای
نیازمند
دسترسی
بالا مانند
ورودهای
غیرناشناس،
تغییر
مالکیت
فایلهای
بارگذاریشده،
اتصال از
درگاه ۲۰ و
درگاههای
شنود کمتر
از ۱۰۲۴
انتظار
نمیرود
کار کنند.
گزینههای
دیگر نیز
ممکن است
تحت تأثیر
قرار گیرند.
پیشفرض: NO
- secure_email_list_enable
- اگر
میخواهید
تنها فهرست
مشخصی از
گذرواژههای
ایمیل برای
ورودهای
ناشناس
پذیرفته
شود، روی YES
تنظیم کنید.
این گزینه
روشی
بیدردسر
برای محدود
کردن
دسترسی به
محتوای با
امنیت
پایین بدون
نیاز به
کاربران
مجازی است.
در صورت
فعال بودن،
از ورودهای
ناشناس
جلوگیری
میشود مگر
اینکه
گذرواژه
ارائهشده
در فایلی که
توسط تنظیم
email_password_file مشخص
شده فهرست
شده باشد.
قالب این
فایل
بهصورت یک
گذرواژه در
هر خط بدون
فاصلههای
خالی اضافه
است. نام
فایل
پیشفرض
/etc/vsftpd.email_passwords است.
پیشفرض: NO
- session_support
- این گزینه
کنترل
میکند که
آیا vsftpd تلاش
کند
نشستها را
برای
ورودها حفظ
کند یا خیر.
اگر vsftpd
نشستها را
حفظ کند،
تلاش خواهد
کرد utmp و wtmp را
بهروزرسانی
نماید.
همچنین در
صورت
استفاده از
PAM برای
احراز
هویت، یک pam_session
باز میکند
و تنها پس
از خروج
کاربر آن را
میبندد.
اگر به ثبت
گزارش نشست
نیازی
ندارید و
میخواهید
به vsftpd فرصت
بیشتری
برای اجرا
با
فرایندهای
کمتر و/یا
دسترسی
کمتر
بدهید،
ممکن است
بخواهید
این گزینه
را غیرفعال
کنید. توجه -
پشتیبانی
از utmp و wtmp تنها
در
ساختهای
با قابلیت PAM
ارائه
میشود.
پیشفرض: NO
- setproctitle_enable
- اگر فعال
باشد، vsftpd
تلاش
میکند
اطلاعات
وضعیت نشست
را در فهرست
فرایندهای
سیستم
نمایش دهد.
به بیان
دیگر، نام
گزارششده
فرایند
تغییر
خواهد کرد
تا نشان دهد
نشست vsftpd در
حال انجام
چه کاری است
(بیکار، در
حال
بارگیری و
غیره).
احتمالاً
به دلایل
امنیتی
ترجیح
میدهید
این گزینه
خاموش
بماند.
پیشفرض: NO
- ssl_enable
- اگر فعال
باشد و vsftpd با OpenSSL
کامپایل
شده باشد، vsftpd
از اتصالات
امن از طریق
SSL پشتیبانی
خواهد کرد.
این امر در
مورد اتصال
کنترل (شامل
ورود) و
همچنین
اتصالات
داده صدق
میکند. شما
به یک
کلاینت با
پشتیبانی
از SSL نیز
نیاز
خواهید
داشت. توجه!!
در
فعالسازی
این گزینه
احتیاط
کنید؛ تنها
در صورت
نیاز آن را
فعال
نمایید. vsftpd
هیچ تضمینی
در مورد
امنیت
کتابخانههای
OpenSSL ارائه
نمیدهد. با
فعال کردن
این گزینه،
اعلام
میکنید که
به امنیت
کتابخانه OpenSSL
نصبشده
خود
اطمینان
دارید.
پیشفرض: NO
- ssl_request_cert
- اگر فعال
باشد، vsftpd در
اتصالات SSL
ورودی یک
گواهی
درخواست
میکند (اما
لزوماً
الزامی
نمیکند؛
گزینه require_cert
را ببینید).
بهطور
معمول این
گزینه
نباید هیچ
مشکلی
ایجاد کند،
اما به نظر
میرسد IBM zOS با
آن مشکلاتی
دارد. (جدید
در نسخه 2.0.7).
پیشفرض: YES
- ssl_sslv2
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل SSL v2 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: NO
- ssl_sslv3
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل SSL v3 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: NO
- ssl_tlsv1
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل TLS v1.0 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: NO
- ssl_tlsv11
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل TLS v1.1 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: NO
- ssl_tlsv12
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل TLS v1.2 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: YES
- ssl_tlsv13
- تنها در
صورتی
اعمال
میشود که
ssl_enable فعال
باشد. در
صورت فعال
بودن، این
گزینه
اجازه
اتصالات
پروتکل TLS v1.3 را
میدهد.
اتصالات TLS v1.2
به بالا
ترجیح داده
میشوند.
پیشفرض: YES
- strict_ssl_read_eof
- اگر فعال
باشد،
بارگذاری
دادههای SSL
ملزم به
خاتمه از
طریق SSL
هستند، نه
یک EOF روی
سوکت. این
گزینه برای
اطمینان از
اینکه یک
مهاجم
بارگذاری
را پیش از
موعد با یک TCP FIN
جعلی قطع
نکرده باشد
لازم است.
متأسفانه
این گزینه
بهطور
پیشفرض
فعال نیست
زیرا
کلاینتهای
بسیار
اندکی آن را
به درستی
انجام
میدهند.
(جدید در
نسخه 2.0.7).
پیشفرض: NO
- strict_ssl_write_shutdown
- اگر فعال
باشد،
بارگیری
دادههای SSL
ملزم به
خاتمه از
طریق SSL
هستند، نه
یک EOF روی
سوکت. این
گزینه
بهطور
پیشفرض
غیرفعال
است زیرا
امکان
یافتن حتی
یک کلاینت FTP
که این کار
را انجام
دهد وجود
نداشت. این
یک موضوع
جزئی است؛
تنها
توانایی ما
در تشخیص
اینکه آیا
کلاینت
دریافت
کامل فایل
را تأیید
کرده یا نه
را تحت
تأثیر قرار
میدهد. حتی
بدون این
گزینه،
کلاینت
قادر به
بررسی
درستی و
یکپارچگی
بارگیری
است. (جدید
در نسخه 2.0.7).
پیشفرض: NO
- syslog_enable
- اگر فعال
باشد، هر
خروجی لاگی
که قرار بود
به /var/log/vsftpd.log
ارسال شود،
در عوض به
لاگ سیستم (syslog)
فرستاده
میشود. ثبت
وقایع تحت
تسهیلات (facility)
مربوط به FTPD
صورت
میگیرد.
پیشفرض: NO
- tcp_wrappers
- اگر فعال
باشد و vsftpd با
پشتیبانی
از tcp_wrappers
کامپایل
شده باشد،
اتصالات
ورودی از
طریق کنترل
دسترسی tcp_wrappers
هدایت
خواهند شد.
علاوه بر
این،
سازوکاری
برای
پیکربندی
بر پایه هر IP
وجود دارد.
اگر tcp_wrappers
متغیر
محیطی VSFTPD_LOAD_CONF را
تنظیم کند،
آنگاه نشست
vsftpd تلاش
خواهد کرد
فایل
پیکربندی vsftpd
مشخصشده
در این
متغیر را
بارگذاری
نماید.
پیشفرض: NO
- text_userdb_names
- بهطور
پیشفرض،
شناسههای
عددی در
فیلدهای
کاربر و
گروهِ
لیستهای
دایرکتوری
نمایش داده
میشوند. با
فعال کردن
این
پارامتر
میتوانید
نامهای
متنی را
دریافت
کنید. این
گزینه به
دلایل
کارایی
بهطور
پیشفرض
غیرفعال
است.
پیشفرض: NO
- tilde_user_enable
- اگر فعال
باشد، vsftpd
تلاش خواهد
کرد
مسیرهایی
مانند ~chris/pics
(یعنی یک
علامت مدک ~
به همراه
نام کاربر)
را حل کند.
توجه داشته
باشید که vsftpd
همواره
مسیرهای ~ و
~/something را حل
خواهد کرد
(در این
حالت ~ به
دایرکتوری
اولیه ورود
تبدیل
میشود).
دقت
فرمایید که
مسیرهای ~user
تنها در
صورتی حل
میشوند که
فایل /etc/passwd
درون محیط chroot()
*جاری* یافت
شود.
پیشفرض: NO
- use_localtime
- اگر فعال
باشد، vsftpd
لیستهای
دایرکتوری
را با زمان
در منطقه
زمانی محلی
شما نمایش
میدهد.
حالت
پیشفرض
نمایش زمان
بر حسب GMT است.
زمانهای
بازگردانده
شده توسط
دستور MDTM در FTP
نیز تحت
تأثیر این
گزینه قرار
میگیرند.
پیشفرض: NO
- use_sendfile
- یک تنظیم
داخلی که
برای بررسی
مزیت نسبی
بهکارگیری
فراخوان
سیستمی sendfile()
در پلتفرم
شما
استفاده
میشود.
پیشفرض: YES
- userlist_deny
- این گزینه
در صورتی که
userlist_enable فعال
باشد مورد
بررسی قرار
میگیرد.
اگر این
تنظیم را
روی NO قرار
دهید، ورود
کاربران رد
خواهد شد
مگر اینکه
نام آنها
صریحاً در
فایل
مشخصشده
توسط userlist_file
فهرست شده
باشد.
هنگامی که
ورود رد
میشود،
دستور رد
ورود پیش از
آنکه از
کاربر
گذرواژه
خواسته شود
صادر
میگردد.
پیشفرض: YES
- userlist_enable
- اگر فعال
باشد، vsftpd
فهرستی از
نامهای
کاربری را
از فایل
تعیینشده
توسط userlist_file
بارگذاری
خواهد کرد.
اگر کاربری
تلاش کند با
نام موجود
در این فایل
وارد شود،
پیش از آنکه
از وی
گذرواژه
خواسته
شود، ورود
او رد خواهد
شد. این
گزینه
میتواند
در جلوگیری
از مخابره
گذرواژههای
متن آشکار
(cleartext) سودمند
باشد.
همچنین
گزینه userlist_deny
را ببینید.
پیشفرض: NO
- validate_cert
- اگر روی YES
تنظیم شود،
تمامی
گواهیهای
کلاینت SSL
دریافتشده
باید با
موفقیت
اعتبارسنجی
شوند.
گواهیهای
خودامضا (self-signed)
اعتبارسنجی
موفق به
شمار
نمیآیند.
(جدید در
نسخه 2.0.6).
پیشفرض: NO
- virtual_use_local_privs
- اگر فعال
باشد،
کاربران
مجازی از
امتیازها و
دسترسیهای
یکسان با
کاربران
محلی
استفاده
خواهند کرد.
بهطور
پیشفرض،
کاربران
مجازی از
دسترسیهای
مشابه با
کاربران
ناشناس
استفاده
میکنند که
تمایل به
محدودتر
بودن دارد
(بهویژه از
نظر دسترسی
نوشتن).
پیشفرض: NO
- write_enable
- این گزینه
کنترل
میکند که
آیا
دستورات FTP
که
سیستمفایل
را تغییر
میدهند
مجاز باشند
یا خیر. این
دستورات
عبارتند از:
STOR، DELE، RNFR، RNTO، MKD،
RMD، APPE و SITE.
پیشفرض: NO
- xferlog_enable
- اگر فعال
باشد، یک
فایل لاگ
جهت ثبت
جزئیات
بارگذاریها
و
بارگیریها
نگهداری
خواهد شد.
بهطور
پیشفرض،
این فایل در
مسیر /var/log/vsftpd.log
قرار
میگیرد،
اما این
مکان
میتواند
با استفاده
از تنظیم
پیکربندی
vsftpd_log_file تغییر
یابد.
پیشفرض: NO (اما فایل پیکربندی نمونه آن را فعال میکند)
- xferlog_std_format
- اگر فعال
باشد، فایل
لاگ انتقال
در قالب
استاندارد
xferlog (همانطور
که توسط wu-ftpd
استفاده
میشود)
نوشته
خواهد شد.
این کار از
آن جهت
سودمند است
که
میتوانید
از
ابزارهای
موجود
تولید آمار
انتقال
دوباره
استفاده
کنید. با
این وجود،
قالب
پیشفرض
خواناتر
است. مکان
پیشفرض
برای این
سبک از فایل
لاگ /var/log/xferlog است،
اما
میتوانید
با تنظیم
xferlog_file آن را
تغییر دهید.
پیشفرض: NO
گزینههای عددی (NUMERIC OPTIONS)
در زیر فهرستی از گزینههای عددی آورده شده است. یک گزینه عددی باید روی یک عدد صحیح غیرمنفی تنظیم شود. اعداد در مبنای هشت (اکتال) برای آسانی گزینههای umask پشتیبانی میشوند. برای تعیین یک عدد در مبنای هشت، از 0 به عنوان نخستین رقم عدد استفاده کنید.
- accept_timeout
- مهلت
زمانی، بر
حسب ثانیه،
برای
برقراری
اتصال داده
به سبک PASV
توسط یک
کلاینت راه
دور.
پیشفرض: 60
- anon_max_rate
- حداکثر نرخ
مجاز
انتقال
داده، بر
حسب بایت در
ثانیه،
برای
کلاینتهای
ناشناس.
پیشفرض: 0 (نامحدود)
- anon_umask
- مقداری که umask
برای ایجاد
فایل توسط
کاربران
ناشناس روی
آن تنظیم
میشود.
توجه! اگر
میخواهید
مقادیر
مبنای هشت
را مشخص
کنید،
پیشوند "0"
را به یاد
داشته
باشید، در
غیر این
صورت مقدار
به عنوان یک
عدد صحیح در
مبنای ۱۰
تلقی خواهد
شد!
پیشفرض: 077
- chown_upload_mode
- حالت و
مجوزهای
فایل (mode) که
باید برای
بارگذاریهای
ناشناس با
تغییر
مالکیت (chown
شده) اعمال
شود.
(افزودهشده
در نسخه 2.0.6).
پیشفرض: 0600
- connect_timeout
- مهلت
زمانی، بر
حسب ثانیه،
برای پاسخ
کلاینت راه
دور به
اتصال داده
ما به سبک PORT.
پیشفرض: 60
- data_connection_timeout
- مهلت
زمانی، بر
حسب ثانیه،
که تقریباً
حداکثر
زمانی است
که اجازه
میدهیم
انتقال
داده بدون
هیچ
پیشرفتی
متوقف
بماند. اگر
این مهلت
زمانی
سررسد،
کلاینت راه
دور قطع
اتصال
(اخراج)
میشود.
پیشفرض: 300
- delay_failed_login
- تعداد
ثانیههای
مکث پیش از
گزارش یک
ورود
ناموفق.
پیشفرض: 1
- delay_successful_login
- تعداد
ثانیههای
مکث پیش از
مجاز شمردن
یک ورود
موفق.
پیشفرض: 0
- file_open_mode
- مجوزهایی
که
فایلهای
بارگذاریشده
با آنها
ایجاد
میشوند.
مقادیر umask
روی این
مقدار
اعمال
میگردند.
اگر
میخواهید
فایلهای
بارگذاریشده
قابل اجرا
باشند،
ممکن است
بخواهید آن
را به 0777
تغییر دهید.
پیشفرض: 0666
- ftp_data_port
- درگاهی که
اتصالات به
سبک PORT از آن
منشأ
میگیرند
(تا زمانی
که گزینه با
نامگذاری
نامناسب
connect_from_port_20 فعال
باشد).
پیشفرض: 20
- idle_session_timeout
- مهلت
زمانی، بر
حسب ثانیه،
که حداکثر
زمانی است
که یک
کلاینت راه
دور
میتواند
بین
دستورات FTP
سپری کند.
اگر این
مهلت منقضی
شود،
ارتباط
کلاینت راه
دور قطع
میگردد.
پیشفرض: 300
- listen_port
- اگر vsftpd در
حالت مستقل
باشد، این
درگاهی است
که برای
اتصالات
ورودی FTP روی
آن شنود
خواهد کرد.
پیشفرض: 21
- local_max_rate
- حداکثر نرخ
مجاز
انتقال
داده، بر
حسب بایت در
ثانیه،
برای
کاربران
محلی احراز
هویتشده.
پیشفرض: 0 (نامحدود)
- local_umask
- مقداری که umask
برای ایجاد
فایل توسط
کاربران
محلی روی آن
تنظیم
میشود.
توجه! اگر
میخواهید
مقادیر
مبنای هشت
را مشخص
کنید،
پیشوند "0"
را به خاطر
بسپارید،
در غیر این
صورت مقدار
به عنوان یک
عدد صحیح در
مبنای ۱۰
تلقی خواهد
شد!
پیشفرض: 077
- max_clients
- اگر vsftpd در
حالت مستقل
باشد، این
مقدار
حداکثر
تعداد
کلاینتهایی
است که
میتوانند
متصل باشند.
هر کلاینت
اضافی که
متصل شود،
پیام خطا
دریافت
خواهد کرد.
پیشفرض: 0 (نامحدود)
- max_login_fails
- پس از این
تعداد شکست
در ورود،
نشست قطع و
متوقف
میشود.
پیشفرض: 3
- max_per_ip
- اگر vsftpd در
حالت مستقل
باشد، این
مقدار
حداکثر
تعداد
کلاینتهایی
است که
میتوانند
از یک نشانی
اینترنتی (IP)
مبدأ متصل
شوند. اگر
کلاینتی از
این حد
فراتر رود،
پیام خطا
دریافت
خواهد کرد.
پیشفرض: 0 (نامحدود)
- pasv_max_port
- حداکثر
شماره
درگاهی که
برای
اتصالات
داده به سبک
PASV اختصاص
مییابد.
میتواند
برای تعیین
یک محدوده
باریک از
درگاهها
جهت کمک به
فایروال
استفاده
شود.
پیشفرض: 0 (استفاده از هر درگاهی)
- pasv_min_port
- حداقل
شماره
درگاهی که
برای
اتصالات
داده به سبک
PASV اختصاص
مییابد.
میتواند
برای تعیین
یک محدوده
باریک از
درگاهها
جهت کمک به
فایروال
استفاده
شود.
پیشفرض: 0 (استفاده از هر درگاهی)
- trans_chunk_size
- احتمالاً
نمیخواهید
این مقدار
را تغییر
دهید، اما
تنظیم آن
روی مقداری
مانند 8192 را
برای
عملکرد
بسیار
روانتر
محدودکننده
پهنای باند
امتحان
کنید.
پیشفرض: 0 (اجازه به vsftpd برای انتخاب یک مقدار منطقی)
گزینههای متنی (STRING OPTIONS)
در زیر فهرستی از گزینههای متنی (رشتهای) آورده شده است.
- anon_root
- این گزینه
دایرکتوریای
را مشخص
میکند که vsftpd
پس از ورود
ناشناس
تلاش خواهد
کرد به آن
وارد شود.
بروز خطا در
این فرایند
بدون اعلام
هشدار
نادیده
گرفته
میشود.
پیشفرض: (هیچ)
- banned_email_file
- این گزینه
نام فایلی
است که حاوی
فهرستی از
گذرواژههای
ایمیلی
ناشناس
غیرمجاز
است. در
صورتی که
گزینه deny_email_enable
فعال باشد،
به این فایل
مراجعه
میشود.
پیشفرض: /etc/vsftpd.banned_emails
- این گزینه
نام فایلی
است که حاوی
متنی است که
هنگام
اتصال
کاربر به
سرور نمایش
داده
میشود. در
صورت تنظیم
شدن، این
متن بر رشته
بنر
ارائهشده
توسط گزینه
ftpd_banner ارجحیت
خواهد داشت.
پیشفرض: (هیچ)
- ca_certs_file
- این گزینه
نام فایلی
است که
گواهیهای
مرجع صدور
گواهی (CA) به
منظور
اعتبارسنجی
گواهیهای
کلاینت از
آن
بارگذاری
میشوند.
گواهیهای
بارگذاریشده
همچنین به
کلاینت
اعلان
میشوند تا
به
کلاینتهای
TLSv1.0 مانند
کلاینت FTP در z/OS
خدمات داده
شود.
متأسفانه،
مسیرهای
پیشفرض
گواهی CA در SSL
به دلیل
استفاده vsftpd
از فضاهای
محدودشده
سیستمفایل
(chroot) استفاده
نمیشوند.
(افزودهشده
در نسخه 2.0.6).
پیشفرض: (هیچ)
- chown_username
- این نام
کاربری است
که مالکیت
فایلهای
بارگذاریشده
بهصورت
ناشناس به
او داده
میشود. این
گزینه تنها
زمانی
کاربرد
دارد که
گزینه
دیگر، یعنی
chown_uploads، تنظیم
شده باشد.
پیشفرض: root
- chroot_list_file
- این گزینه
نام فایلی
است که
فهرستی از
کاربران
محلی را در
بر دارد که
هنگام ورود
در یک محیط
chroot() در
دایرکتوری
خانگی خود
قرار
خواهند
گرفت. این
گزینه تنها
زمانی
کاربرد
دارد که
گزینه chroot_list_enable
فعال باشد.
اگر گزینه
chroot_local_user فعال
باشد،
آنگاه فایل
فهرست
تبدیل به
لیستی از
کاربرانی
میشود که
*نباید* در
محیط chroot() قرار
گیرند.
پیشفرض: /etc/vsftpd.chroot_list
- cmds_allowed
- این گزینه
فهرستی از
دستورات
مجاز FTP جدا
شده با کاما
را مشخص
میکند (پس
از ورود به
سیستم.
دستورات USER،
PASS، QUIT و غیره
همواره پیش
از ورود
مجاز
هستند).
سایر
دستورات رد
میشوند.
این یک روش
قدرتمند
برای قفل
کردن واقعی
یک سرور FTP
است. مثال:
cmds_allowed=PASV,RETR,QUIT
پیشفرض: (هیچ)
- cmds_denied
- این گزینه
فهرستی از
دستورات
نامجاز FTP
جدا شده با
کاما را
مشخص
میکند (پس
از ورود به
سیستم.
دستورات USER،
PASS، QUIT و غیره
همواره پیش
از ورود
مجاز
هستند). اگر
دستوری هم
در این
گزینه و هم
در cmds_allowed وجود
داشته
باشد،
آنگاه عدم
پذیرش
اولویت
دارد.
(افزودهشده
در نسخه 2.1.0).
پیشفرض: (هیچ)
- deny_file
- این گزینه
میتواند
برای تعیین
الگویی
برای نام
فایلها (و
نام
دایرکتوریها
و غیره) که
نباید به
هیچ وجه
قابل
دسترسی
باشند
استفاده
شود. موارد
مشمول
پنهان
نمیشوند،
اما هرگونه
تلاش برای
انجام کاری
روی آنها
(بارگیری،
ورود به
دایرکتوری،
تأثیرگذاری
بر چیزی
درون
دایرکتوری
و غیره) رد
خواهد شد.
این گزینه
بسیار ساده
است و نباید
برای کنترل
دسترسی جدی
استفاده
شود -
اولویت با
استفاده از
دسترسیهای
سیستمفایل
است. با این
وجود، این
گزینه ممکن
است در برخی
ساختارهای
کاربران
مجازی
سودمند
باشد. به
ویژه آگاه
باشید که
اگر یک نام
فایل با
نامهای
گوناگونی
قابل
دسترسی
باشد (شاید
به دلیل
پیوندهای
نمادین یا
پیوندهای
سخت)، باید
دقت شود که
دسترسی به
تمامی آن
نامها
مسدود گردد.
دسترسی به
مواردی که
نام آنها
شامل رشته
مشخصشده
توسط hide_file
باشد یا با
عبارت
باقاعده
ارائهشده
توسط hide_file
مطابقت
داشته باشد
رد خواهد
شد. توجه
داشته
باشید که کد
تطبیق
عبارت
باقاعده در
vsftpd یک
پیادهسازی
ساده و
زیرمجموعهای
از
قابلیتهای
کامل
عبارات
باقاعده
است. به
همین دلیل،
لازم است
هرگونه
استفاده از
این گزینه
را با دقت و
بهطور
کامل
بیازمایید.
و به شما
توصیه
میشود که
برای
هرگونه
سیاستهای
امنیتی مهم
به دلیل
قابلیت
اطمینان
بالاتر، از
دسترسیهای
سیستمفایل
استفاده
کنید. نحو
عبارات
باقاعده
پشتیبانیشده
شامل هر
تعداد
عملگر *، ? و
عملگرهای
غیرتودرتوی
{,} است. تطبیق
regex تنها در
آخرین
مؤلفه مسیر
پشتیبانی
میشود؛
برای نمونه
a/b/? پشتیبانی
میشود اما
a/?/c پشتیبانی
نمیشود.
مثال: deny_file={*.mp3,*.mov,.private}
پیشفرض: (هیچ)
- dsa_cert_file
- این گزینه
مکان گواهی
DSA را برای
استفاده در
اتصالات
رمزگذاریشده
SSL مشخص
میکند.
پیشفرض: (هیچ - یک گواهی RSA کافی است)
- dsa_private_key_file
- این گزینه
مکان کلید
خصوصی DSA را
برای
استفاده در
اتصالات
رمزگذاریشده
SSL مشخص
میکند. در
صورت عدم
تنظیم این
گزینه،
انتظار
میرود
کلید خصوصی
در همان
فایل گواهی
قرار داشته
باشد.
پیشفرض: (هیچ)
- email_password_file
- این گزینه
میتواند
برای ارائه
یک فایل
جایگزین
جهت
استفاده
توسط تنظیم
secure_email_list_enable به کار
رود.
پیشفرض: /etc/vsftpd.email_passwords
- ftp_username
- این نام
کاربری است
که ما برای
رسیدگی به FTP
ناشناس
استفاده
میکنیم.
دایرکتوری
خانگی این
کاربر،
ریشه
محدوده FTP
ناشناس است.
پیشفرض: ftp
- این گزینه
متنی به شما
امکان
میدهد بنر
خوشآمدگویی
نمایش
دادهشده
توسط vsftpd را
هنگام
برقراری
اتصال
اولیه
بازنویسی و
تنظیم کنید.
پیشفرض: (هیچ - بنر پیشفرض vsftpd نمایش داده میشود)
- guest_username
- برای توصیف
آنچه که یک
ورود مهمان
را تشکیل
میدهد،
تنظیم بولی
guest_enable را
ببینید. این
تنظیم نام
کاربری
واقعی است
که کاربران
مهمان به آن
نگاشت
میشوند.
پیشفرض: ftp
- hide_file
- این گزینه
میتواند
برای تعیین
الگویی
برای نام
فایلها (و
نام
دایرکتوریها
و غیره) که
باید از
فهرست
دایرکتوری
پنهان شوند
استفاده
شود. با
وجود پنهان
بودن،
فایلها/دایرکتوریها
و غیره برای
کلاینتهایی
که نام
واقعی را
میدانند
کاملاً
قابل
دسترسی
هستند.
موارد در
صورتی
پنهان
میشوند که
نام آنها
شامل رشته
مشخصشده
توسط hide_file
باشد، یا با
عبارت
باقاعده
ارائهشده
توسط hide_file
مطابقت
داشته باشد.
توجه داشته
باشید که کد
تطبیق
عبارت
باقاعده در
vsftpd یک
پیادهسازی
ساده و
زیرمجموعهای
از
قابلیتهای
کامل
عبارات
باقاعده
است. برای
جزئیات
دقیق
درباره نحو
عبارات
باقاعده
پشتیبانیشده
به deny_file
مراجعه
کنید. مثال:
hide_file={*.mp3,.hidden,hide*,h?}
پیشفرض: (هیچ)
- listen_address
- اگر vsftpd در
حالت مستقل
باشد، آدرس
شنود
پیشفرض (از
میان تمامی
رابطهای
محلی)
میتواند
با این
تنظیم
تغییر داده
شود. یک
آدرس عددی IP
وارد کنید.
پیشفرض: (هیچ)
- listen_address6
- مشابه listen_address
است، اما یک
آدرس شنود
پیشفرض
برای
شنونده IPv6 (که
در صورت
تنظیم listen_ipv6
استفاده
میشود)
تعیین
میکند.
قالب آن به
صورت
استاندارد
آدرس IPv6 است.
پیشفرض: (هیچ)
- local_root
- این گزینه
دایرکتوریای
را نشان
میدهد که vsftpd
پس از یک
ورود محلی
(یعنی
غیرناشناس)
تلاش
میکند به
آن وارد
شود. شکست
در این امر
بدون هشدار
نادیده
گرفته
میشود.
پیشفرض: (هیچ)
- message_file
- این گزینه
نام فایلی
است که
هنگام ورود
به یک
دایرکتوری
جدید به
دنبال آن
میگردیم.
محتوای آن
به کاربر
راه دور
نمایش داده
میشود. این
گزینه تنها
در صورتی
کاربرد
دارد که
گزینه dirmessage_enable
فعال باشد.
پیشفرض: .message
- nopriv_user
- این نام
کاربری است
که توسط vsftpd
زمانی که
میخواهد
کاملاً
بدون
امتیاز و
دسترسی
ویژه باشد
استفاده
میشود.
توجه داشته
باشید که
این باید یک
کاربر
اختصاصی
باشد، نه
کاربر nobody.
کاربر nobody
معمولاً
روی اکثر
ماشینها
برای موارد
مهم متعددی
استفاده
میشود.
پیشفرض: nobody
- pam_service_name
- این رشته،
نام سرویس PAM
است که vsftpd از
آن استفاده
خواهد کرد.
پیشفرض: ftp
- pasv_address
- از این
گزینه برای
بازنویسی
آدرس IP
اعلامشده
توسط vsftpd در
پاسخ به
دستور PASV
استفاده
کنید. یک
آدرس عددی IP
وارد کنید،
مگر اینکه
pasv_addr_resolve فعال
باشد، که در
این صورت
میتوانید
یک نام
میزبان
وارد کنید
تا هنگام
راهاندازی
از طریق DNS
برای شما حل
شود.
پیشفرض: (هیچ - آدرس از سوکت متصلشده ورودی گرفته میشود)
- rsa_cert_file
- این گزینه
مکان گواهی
RSA را برای
استفاده در
اتصالات
رمزگذاریشده
SSL مشخص
میکند.
پیشفرض: /usr/share/ssl/certs/vsftpd.pem
- rsa_private_key_file
- این گزینه
مکان کلید
خصوصی RSA را
برای
استفاده در
اتصالات
رمزگذاریشده
SSL مشخص
میکند. در
صورت عدم
تنظیم این
گزینه،
انتظار
میرود
کلید خصوصی
در همان
فایل گواهی
قرار داشته
باشد.
پیشفرض: (هیچ)
- secure_chroot_dir
- این گزینه
باید نام
دایرکتوریای
باشد که
خالی است.
همچنین،
این
دایرکتوری
نباید توسط
کاربر ftp
قابل نوشتن
باشد. این
دایرکتوری
در
زمانهایی
که vsftpd نیازی
به دسترسی
به
سیستمفایل
ندارد به
عنوان یک
محیط chroot() امن
استفاده
میشود.
پیشفرض: /var/empty
- ssl_ciphers
- این گزینه
میتواند
برای
انتخاب
سایفرهای SSL
مجاز توسط vsftpd
جهت
اتصالات
رمزگذاریشده
SSL استفاده
شود. برای
جزئیات
بیشتر به
صفحه
راهنمای ciphers
مراجعه
کنید. توجه
داشته
باشید که
محدود کردن
سایفرها
میتواند
یک اقدام
احتیاطی
امنیتی
سودمند
باشد زیرا
مانع از آن
میشود که
طرفهای
راه دور
مخرب از
سایفری
استفاده
کنند که در
آن مشکلاتی
یافتهاند.
پیشفرض: DES-CBC3-SHA
- ssl_sni_hostname
- در صورت
تنظیم،
اتصالات SSL
رد خواهند
شد مگر
اینکه نام
میزبان SNI در
دستتکانیهای
ورودی با
این مقدار
مطابقت
داشته باشد.
پیشفرض: (هیچ)
- user_config_dir
- این گزینه
قدرتمند
امکان
بازنویسی
هر گزینه
پیکربندی
مشخصشده
در این صفحه
راهنما را
به ازای هر
کاربر
فراهم
میسازد.
استفاده از
آن ساده است
و با یک
مثال بهتر
مشخص
میشود: اگر
user_config_dir را
برابر با
/etc/vsftpd_user_conf تنظیم
کنید و سپس
به عنوان
کاربر "chris"
وارد شوید،
vsftpd تنظیمات
موجود در
فایل /etc/vsftpd_user_conf/chris
را در طول
مدت نشست
اعمال
خواهد کرد.
قالب این
فایل
دقیقاً
مطابق با
توضیحات
این صفحه
راهنما است!
لطفاً توجه
داشته
باشید که
تمامی
تنظیمات به
ازای هر
کاربر قابل
اعمال
نیستند.
برای
نمونه،
بسیاری از
تنظیمات
تنها پیش از
شروع نشست
کاربر
اثرگذارند.
مثالهایی
از
تنظیماتی
که رفتاری
را به ازای
هر کاربر
تغییر
نمیدهند
شامل listen_address،
banner_file، max_per_ip، max_clients، xferlog_file
و غیره
هستند.
پیشفرض: (هیچ)
- user_sub_token
- این گزینه
در ارتباط
با کاربران
مجازی
سودمند است.
از آن برای
تولید
خودکار یک
دایرکتوری
خانگی بر
پایه یک
الگو برای
هر کاربر
مجازی
استفاده
میشود.
برای
نمونه، اگر
دایرکتوری
خانگی
کاربر
واقعی
مشخصشده
از طریق guest_username
برابر با
/home/virtual/$USER باشد و
user_sub_token روی $USER
تنظیم شود،
آنگاه
هنگامی که
کاربر
مجازی fred
وارد سیستم
میشود،
(معمولاً
بهصورت chroot
شده) در
دایرکتوری
/home/virtual/fred قرار
خواهد گرفت.
این گزینه
همچنین در
صورتی که
local_root شامل user_sub_token
باشد
اثرگذار
خواهد بود.
پیشفرض: (هیچ)
- userlist_file
- این گزینه
نام فایلی
است که
هنگام فعال
بودن گزینه
userlist_enable
بارگذاری
میشود.
پیشفرض: /etc/vsftpd.user_list
- vsftpd_log_file
- این گزینه
نام فایلی
است که لاگ
به سبک vsftpd در
آن نوشته
میشود. این
لاگ تنها در
صورتی
نوشته
میشود که
گزینه xferlog_enable
تنظیم شده
باشد، و
xferlog_std_format تنظیم
نشده باشد.
روش دیگر
این است که
اگر گزینه
dual_log_enable را
تنظیم کرده
باشید
نوشته
میشود. یک
پیچیدگی
دیگر: اگر
syslog_enable را
تنظیم کرده
باشید، این
فایل نوشته
نخواهد شد و
خروجی در
عوض به لاگ
سیستم
فرستاده
میشود.
پیشفرض: /var/log/vsftpd.log
- xferlog_file
- این گزینه
نام فایلی
است که لاگ
انتقال به
سبک wu-ftpd در آن
نوشته
میشود. لاگ
انتقال
تنها در
صورتی
نوشته
میشود که
گزینه xferlog_enable
به همراه
xferlog_std_format تنظیم
شده باشد.
روش دیگر
این است که
اگر گزینه
dual_log_enable را
تنظیم کرده
باشید
نوشته
میشود.
پیشفرض: /var/log/xferlog
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
scarybeasts@gmail.com