Linux下搭建FTP服务器

Linux 下我们使用vsftp来作为我们的ftp server.
 
Server OS :  Redhat 6.3
 
1.检查server上是否已经安装了vsftpd
rpm -qa | grep vsftpd
 
2.假如没有相应的vsftpd rpm包,我们需要下载安装
yum install vsftpd
 
3.配置vsftpd配置文件。
# ls /etc/vsftpd/
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
vim vsftpd.conf
修改对应的值如下:
anonymous_enable=NO     #禁止匿名用户登录 
local_enable=YES               #允许本地实体用户登录 
write_enable=YES               #允许用户上传数据  
local_umask=022                #建立新目录(755)与文件(644)的权限  
dirmessage_enable=YES  #若登录目录下有.message则会显示该文件内容  可以自己在登录目录下创建.message文件并写入信息  
xferlog_enable=YES           #启动日志文件记录,记录于/var/log/xferlog 
connect_from_port_20=YES #支持主动式连接功能 
xferlog_std_format=YES    #支持WuFTP的日志文件格式 
local_root=/home/xx/ftp      #限制登录用户只能在/home/xx/ftp目录下操作 
chroot_local_user=YES     #限制登录用户在主目录内local_root定义目录 
chroot_list  listen=YES       #使用stand alone方式启动vsftpd  
pam_service_name=vsftpd           #支持PAM模块的管理
userlist_enable=YES         #支持/etc/vsftpd/user_list文件内的账号登录控制 
tcp_wrappers=YES            #支持TCP Wrappers的防火墙机制
 
 
这里为了为了安全,我们可以编辑 user_list 这个文件,把禁止通过FTP登录系统的账号添加进去。这样的话,这些账户尝试远程登录的时候。会被拒绝登录。
 
举个栗子:
>ftp xxxxxxx
用户(xxxxxx:(none)): root
530 Permission denied.
登录失败。
 
我在server上创建了一个专门为ftp使用的账户 test_ftp,所以我在vsftpd.conf里面把local_root=/home/xx/ftp 改成了 local_root=/home/test_ftp/ftp
这样用test_ftp账户上传的文件会被放到 /home/test_ftp/ftp目录下。
 
3.重启vsftpd 服务,尝试使用ftp传输文件。
service vsftpd restart
 
4.在另外的机器上打开命令行:
ftp xxxxxx
 
配置顺利的话,现在就可以用ftp传输文件了。
posted @ 2017-11-27 11:22  huohuohiahia  阅读(1490)  评论(0编辑  收藏  举报