linux下面ftp的搭建

linux下面ftp服务器一般选择vsftpd这个免费开源的ftp程序。主要说一下其安装,配置,启动这些过程。 由于我的是centos系统,只需要使用

yum install vsftpd

就可以安装啦 ubuntu用

apt-get install vsftpd

安装完毕之后。首先在linux下面添加一个用户作为ftp用户 useradd –d /var/www/site -g ftp –s /sbin/nologin myftp -s /sbin/nologin 是让其不能登陆系统 -d 是指定用户目录为/var/www ,这里可以替换成任何你需要的目录。 -g ftp 把用户加入到ftp组中(vsftp已创建) myftp是ftp用户名,在配置时把这个myftp换成你的ftp用户名。 执行该命令后,如果出现这样的错误提示: useradd: warncat ing: the home directory already exists. Not copying any file from skel directory into it. 这说明用户的目录已经存在(/var/www,这个可以是任何你设定的目录),不可再新建此目录,并非添加用户失败,可以忽略。

需要进行一些配置

vim /etc/vsftpd/vsftpd.conf 编辑这个配置文件。

1.禁止匿名登录 anonymous_enable=NO 特别提醒:用useradd建立的用户,如果后面不加–s /sbin/nologin参数,建立的用户为普通系统用户,有系统登陆centos服务器的权限,在虚拟主机环境下,这非常危险。所以要在 useradd命令后面加上参数–s /sbin/nologin,为centos 服务器虚拟主机添加不可以登录系统的ftp专用账号(虚拟账户)

启动ftp服务

service vsftpd start

如果到这里你在本地用ftp软件无法登陆的话,那么可能是开启了防火墙。你需要更新一下防火墙规则,如果能够正常访问,说明你的服务器并没有安装iptables服务或者禁用了,就不用管下面的了

编辑 /etc/sysconfig/iptables 文件

vim /etc/sysconfig/iptables

在80端口下面加上一条

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

保存退出。 然后编辑 /etc/sysconfig/iptables-config

vim /etc/sysconfig/iptables-config

IPTABLES_MODULES=""

改为

IPTABLES_MODULES="ip_nat_ftp"

重启iptables,service iptables restart

关于etc/vsftpd/ftpusers

这个里面的是一些重要的用户,这里面的是禁止登陆ftp的,开始我以为这个是ftp的用户,结果我添加了用户进去,死也登陆不上去,一查发现这里面的用户是不能登陆ftp的。

关于etc/vsftpd/user_list

安全起见,我们只允许特定用户登陆ftp

在userlist_enable=YES文件后面添加

 


userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

 

 

赞赏

微信赞赏支付宝赞赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注