在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd (very serure ftp)
搭建vsftpd 服务
yum 安装需要用两个包:vsftpd 和 db4-utils
yum install –y db4-utils yum install –y vsftpd
1.建立虚拟用户关联的系统账户和虚拟用户、密码文件
系统用户:useradd virftp -s /sbin/nologin
系统用户、密码文件: vim /etc/vsftpd/vsftpd_login 其内容:
test1
123456 test2 abcdef #奇数行是用户名,偶数行数密码chmod 600 /etc/vsftpd/vsftpd_login 文件只允许root查看写入
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db,其类似于pure-ftp(pure-pw mkdb #创建密码文件)
2.建立虚拟账号相关的目录以及配置文件 mkdir /etc/vsftpd/vsftpd_user_conf
vim test1 内容如下:
local_root=/home/virftp/test1 anonymous_enable=NO write_enable=YES local_umask=022 anon_upload_enable=NO anon_mkdir_write_enable=NO idle_session_timeout=600 data_connection_timeout=120 max_clients=10 max_per_ip=5 local_max_rate=50000注意:虚拟用户的目录必须存在home/virftp/test1 没有的话,需要创建
mkdir /home/virftp/test1
修改权限: chown -R virftp:virftp /home/virftp3. vim /etc/pam.d/vsftpd 在最开头添加两行
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so 再修改/etc/vsftpd.conf vim /etc/vsftpd/vsftpd.conf .4 .主配置文件/etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf 其内容位:
anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO #anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NOchroot_local_user=YES #是否允许跳出ftp根目录意外的目录
guest_enable=YES guest_username=virftp virtual_use_local_privs=YES user_config_dir=/etc/vsftpd/vsftpd_user_conf启动vsftpd服务 /etc/init.d/vsftpd start
vsftp相关的博客请查看:
ftp两个工作方式概念详解:
主动模式(port)被动模式(passive)
主机模式:192.168.176.1:1236(客户端) 192.168.176.253:21 (服务端)
192.168.176.1:1238(客户端) 192.168.176.253:21 (服务端)
被动模式:192.168.176.1:1318(客户端) 192.168.176.253:21 (服务端)
192.168.176.1:1238(客户端) 192.168.176.253:1524 (服务端) 范围是1024 -65355
ftp两个工作方式配置修改在哪里实验: