ftp部署
一、基于ubuntu16.04部署
1、安装vsftpd
sudo apt-get install vsftpd -y
2、设置vsftpd开机自动启动
systemctl enable vsftpd
3、添加ftp的工作目录
mkdir -p /srv/ftp/onap
4、修改ftp工作目录属组、属主、添加权限
chown -R ftp:ftp /srv/ftp/onap
chmod -R 755 /srv/ftp/onap
5、vsftpd基本配置
vi /etc/vsftpd.conf
chown_uploads=NO
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_umask=022
anon_umask=022
file_open_mode=0755
#配置匿名用户可删除
#anon_other_write_enable=YES
6、重启vsftpd
systemctl restart vsftpd
7、windows可以使用FileZilla Client等连接
8、linux系统可以使用lftp进行连接,命令如下:
apt-get -y install lftp
登陆ftp:
lftp ftp://ip
下载文件夹:mirror rdir ldir // 将远程目录rdir下载到本地目录ldir
上传文件夹:mirror -R ldir rdir // 将本地目录ldir上传到远程目录rdir
下载文件:get filename
上传文件: put filename
二:基于cetnos7部署
1、关闭防火墙
1>关闭SELinux
setenforce 0
sed -ri '/#SELINUX=/c\SELINUX=disabled' /etc/selinux/config
2>关闭firewalld
systemctl stop firewalld
systemctl disable firewalld
2、安装vsftpd 启动,设置开机自动启动、查看服务运行状态
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd
3、配置
1>配置FTP登录权限
1)禁止匿名用户登录
sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'
2)禁止匿名用户上传
sed -i "s/#anon_upload_enable=YES/anon_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'
2>给FTP目录添加写权限
chmod o+w /var/ftp/pub/
3>重启FTP服务
systemctl restart vsftpd
4>本地创建FTP用户并禁止登录系统(用户名baidu)请根据实际需求填写用户名
useradd -d /var/ftp/pub -m baidu -s /sbin/nologin
5>设置本地FTP用户密码(biadu@123)请根据实际需求填写密码
echo "baidu@123" |passwd --stdin baidu
4、测试
1>添加测试文件
echo hello >>/var/ftp/pub/test.txt
2>浏览器登录,浏览器地址栏输入:ftp://ip
3>linux通过lftp登录
1)安装lftp
yum -y install lftp
2)登录 填写自己公网或内网IP进行连接
lftp ftp://ip -ubaidu
5、基本命令:
下载文件夹:mirror rdir ldir // 将远程目录rdir下载到本地目录ldir
上传文件夹:mirror -R ldir rdir // 将本地目录ldir上传到远程目录rdir
下载文件:get filename
上传文件: put filename
在openstark内通过子网创建的虚拟机绑定floading无法访问ftp问题:
openstack有一个虚拟路由,在创建vm的时候可以给vm分配(并非绑定)一个floating ip,这个floating ip是可以随时更换的,更换之后也是即时生效.vm在需要连接外部网络的时候,虚拟路由会将eth0和分配给它floating ip进行一个NAT转换
这时候在vsftpd.conf中添加一条配置即可:
pasv_address=ip(即vm的floating ip)
再进行远程连接就可以正常登录了