تو این مطلب قصد دارم نحوه ایجاد سرور افتیپی روی CentOS رو برای کاربران سرور استار توضیح بدم.
نصب VSftpd روی سرور
برای راهاندازی ftp نیاز داریم ابتدا باید VSftpd رو نصب بکنیم
|
yum install vsftpd -y
|
برای اطمینان یک نسخه بکآپ از تنظیمات vsftpd خود بردارید
|
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.back
|
فایل تنظیمات vsftpd رو باز کرده
|
nano /etc/vsftpd/vsftpd.conf
|
مطمئن بشید که متغییرهای زیر به همین صورت تنظیم شدند.
|
# Disable anonymous login
anonymous_enable=NO
# Enable local users
local_enable=YES
# Give FTP users permissions to write data
write_enable=YES
# Port 20 need to be turned off. It makes VSftpd run less privileged
connect_from_port_20=NO
# Chroot everyone
chroot_local_user=YES
# Set umask to 022, to make sure that all the files (644) and folders (755) you upload, get the proper permissions
local_umask=022
|
ایجاد کاربر جدید
کاربر جدیدی که میخوایم ایجاد کنیم، تنها برای دسترسی از طریق ftp ساخته میشه و یه یک دایرکتوری خاص دسترسی داره، پس:
|
useradd -d '/ftp/username' -s /sbin/nologin serverstar
|
اگر میخواید از کاربری که قبلا ایجاد کردید استفاده کنید میتونید با دستور زیر دایرکتوری اصلی اون رو عوض کنید.
|
usermod -d '/ftp/username' olduser
|
پسورد مناسبی برای کاربر انتخاب کنید
|
passwd serverstar
|
مطمئن بشید که کاربری که ساختید به دایرکتوری مورد نطر شما اجازه دسترسی داره
|
chown -R ftpuser '/ftp/username'
chmod 775 '/ftp/username'
|
تنظیمات فایروال
برای اینکه پورت 21 برای ftp آزاد بشه، باید iptables رو ویرایش کنید
|
nano /etc/sysconfig/iptables
|
سطر زیر رو درون فایل قبل از سطر REJECT اضافه کنید.
|
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
|
سرویس iptables رو ریستارت کنید
|
service iptables restart
|
راهاندازی و تست ftp
در نهایت سرویس رو restart کنید
|
service vsftpd restart
|