您好,对于不同系统对安装ftp有不同的方法;
在Linux系统下安装vsftpd;
在Windows Server 下 可安装IIS的同时安装FTP组件,或者安装FileZilla Server;
注意端口开放,具体的操作过程可以参考以下网友的内容:
Linux搭建FTP服务器:网页链接
Windows Server 2016 搭建FTP服务器:网页链接
Windows server 2016 部署FileZilla Server FTP服务器:网页链接
一、安装vsftpd及ftp命令yum install vsftpd -y
yum install ftp -y
二、vsftpd服务器的配置文件
实现在开启防火墙和SELinux情况下,实现匿名用户的登录,可以上传下载,可以创建目录,创建权限掩码为022,可以删除文件,最大上传速度为100kbit/s。
这个是我自己的vsftpd服务器的主要配置文件是/etc/chaodiquan.com/vsftpd/vsftpd.conf。
1.服务器端设置
1.1修改配置文件开放匿名用户上传、下载及其他权限,
anonymous_enable=yes //允许匿名用户登录
anon_upload_enable=yes //允许匿名用户上传
write_enable=yes //赋予写权限
anon_mkdir_write_enable=yes //允许匿名用户新建文件夹
anon_other_write_enable=yes //匿名用户拥有除了上传和新建目录之外的其他权限
anon_amask=022 //匿名用户的权限掩码
anon_max_rate=102400 //最大上传速度100kbit/s
然后重启服务
systemctl restart vsftpd.service
1.2修改上传目录的权限
为了让匿名用户实现上传,必须开放目录的写权限,以anonymous用户名登录后,相当于ftp用户的身份,ftp的登录目录为/var/ftp,开放这个目录的写权限:
chmod 777 /var/ftp,但是再重启服务并在服务器上用ftp登录时会出错,这是因为/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的。解决方法为在/var/ftp下再建一个目录,权限是777就可以了:
mkdir /var/ftp/pub
chmod 777 /var/ftp/pub
1.3开启防火墙和SELinux。
2.测试
ftp://IP
登录并创建文件
1.先检查有没有安装 rpm -q vsftpd如果没有安装 yum install vsftpd
2.先关闭防火墙进行调试.
service iptables stop
或者一步到位 添加规则允许21端口通行
vi /etc/sysconfig/iptables
添加一条
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行:
b.防火墙配置开放:
-A INPUT -p tcp --dport 30000:30100 -j ACCEPT
重启防火墙即可
service iptables restart
这时应该可以用 winscp进行 SFTP连接了 ROOT帐户
现在开始设置FTP 默认的已经可以用匿名登录了
二。备份 etc/vsftpd/vsftpd.conf
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
编辑vsftpd.config文件 vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
设定不允许匿名用户访问。
为了让FLASHFXP之类的软件更好的连接服务器,得让VSFTPD支持被动模式才行,上面已经开通相应端口防火墙,在最后加入
pasv_enable=YES
pasv_max_port=30100
pasv_min_port=30000
(上面的30000--30100端口号可以是其它的,在此举例)
/usr/sbin/setenforce 0 立刻关闭 SELINUX
#mkdir /tmp/test //首先创建好目录
#adduser -d /tmp/test -g ftp -s /sbin/nologin test
//-s /sbin/nologin是让其不能登陆系统,-d 是指定用户目录为/tmp/test ,即该账户只能登陆ftp,却不能用做登陆系统用。-g 是指定为FTP用户组
#passwd test
Changing password for user beinan.//接下来会出现让你设置新的密码
**************************************************
【如果要删除用户,用下面代码:
userdel test //userdel + 用户 即可删除ftp用户】
***********************************************************
有必要的话 设置TEST目录权限
修改/var/www目录属性:
$ chmod -R 777 /var/www 递归地给此目录下所有文件和子目录的读、写、执行权限
$ chgrp -R ftp /var/www 递归地把此目录及该目录下所有文件和子目录的组属性设置成ftp组
三。接着 限制用户目录,不得改变目录到上级
修改/etc/vsftpd/vsftpd.conf
将这两行
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
注释去掉
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
新增一个文件: /etc/vsftpd/chroot_list
内容写需要限制的用户名:
test
重新启动vsftpd
# service vsftpd restart
四。最后为了防止服务器由于断电、重启等现象发生,导致ftp进程在开机后未启动,将其添加到开机启动文件中:
(1)找到/etc/rc.local文件
(2)打开该文件,在最后一行添加:service vsftpd start
(3)保存,退出
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)