部署FTP服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署FTP服务相关的知识,希望对你有一定的参考价值。
FTP简介
- FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。它是典型的C/S结构的应用层协议需要从服务端软件、客户端软件两个部分实现文件传输功能。
在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。"下载"文件就是从远程主机拷贝文件至自己的计算机上;"上传"文件就是将文件从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件- FTP服务器默认使用TCP协议的20、21端口,20端口用于建立数据连接,并传输文件数据。21端口用来建立控制连接,并传输FTP控制命令。
安装部署FTP服务、
- 匿名访问FTP
-
Redhat6.5 上安装
# mount /dev/cdrom /mnt //挂载CDROM # rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
-
CentOS7 上安装
# yum install vsftpd -y # systemctl stop firewalld # setenforce 0 # vim /etc/vsftpd/vsftpd.conf //配置文件开启匿名的权限 anon_upload_enable=yes # 号去掉 上传权限 anon_mkdir_write_enable=yes # 号去掉 创建写入权限 anon_other_write_enable=yes chroot_local_user=YES //禁锢在组目录 # chmod 777 /var/ftp/pub/ # systemctl start vsftpd //开启服务
- windows上访问FTP的目录
打开我的电脑 路径输入:ftp://192.168.200.131/pub/
-
基于本地用户登录
# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO //关闭匿名登录 local_enable=YES write_enable=YES local_umask=077 chroot_local_user=YES local_root=/var/ftp //末尾加入目录 # systemctl restart vsftpd
- windows上访问FTP的目录
打开我的电脑 路径输入:ftp://192.168.200.131/pub/
-
使用user_list用户列表文件
-
user_list黑名单使用
# vim /etc/vsftpd/user_list //添加想要禁止访问ftp的用户 test # vim /etc/vsftpd/vsftpd.conf userlist_enable=YES (没有#时 在user_list 里的帐号没法访问) # systemctl restart vsftpd
-
user_list白名单使用
# vim /etc/vsftpd/user_list //添加想要允许访问ftp的用户 test vi /etc/vsftpd/vsftpd.conf userlist_enable=YES (没有#时 在user_list 里的帐号没法访问) userlist_deny=NO (但加入这行后 只有user_list 里的帐号才能访问) # systemctl restart vsftpd
-
建立虚拟用户账户使用FTP
# cd /etc/vsftpd # vi /etc/vsftpd/vuser lisa //奇数行为用户 123123 //偶数行为密码 tom 123123 # db_load -T -t hash -f vuser vuser.db //转换成数据库文件 # chmod 600 vuser # chmod 600 vuser.db //不让别人看见里面的信息 # useradd -d /opt/vuser -s /sbin/nologin vuser //创建一个用户为vuser 指定家目录/opt/vuser 并不使用shell登陆 # mkdir /opt/vuser # chmod 755 /opt/vuser
-
编辑pam认证模块支持虚拟用户的登陆
vi /etc/pam.d/vsftpd.vu auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser //此处两个文件vuser并不是普通文件而是刚才创建的vuser.db数据库文件,此处必须省略不写 # vi /etc/vsftpd/vsftpd.conf #pam_service_name=vsftpd 加#注释 添加↓↓↓ guest_enable=YES guest_username=vuser pam_service_name=vsftpd.vu //开启虚拟用户,使用pam认证登陆 # systemclt restart vsftpd //重启服务
-
单独用户
# vi /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/vu_dir //添加单独用户配置目录 # mkdir vu_dir //创建文目录 # vi /etc/vsftpd/vu_dir/tom //在配置文件夹里创建用户配置文件 anon_umask=022 //指定上传文件的权限 (022的意思是反的 644)
- windows端cmd中操作命令
ftp 192.168.200.131 (访问ftp) (输入账户密码 匿名访问时 输入ftp 回车)
by 退出
e: 切换 E盘
cd pub
get test.txt 下载
put tes.txt 上传 (设置权限才能上传)
以上是关于部署FTP服务的主要内容,如果未能解决你的问题,请参考以下文章
Java项目生产环境部署,遇到FTP连接加密服务器的踩坑及爬坑过程
分布式部署网站---文件系统的存储--ftp上传图片到指定文件服务器