项目目录
- ftp使用场合
- ftp的作用
- ftp属性
- FTP服务配置
- ftp基本安装
- FTP设置匿名账号登录
- FTP服务启动不了的一个解决办法
- FTP设置允许本地用户登录
- FTP及脚本部署
- FTP设置匿名账号登录
- FTP设置允许本地用户登录
ftp使用场合
用于文件的传输
ftp的作用
用于文件的上传和下载。
ftp属性
- 属于tcp协议
- 端口号:20,21
- 21:控制层面,用于账户密码验证,权限的验证。
- 20:数据层面,用于文件上传和下载。
- ftp登录:匿名、系统、虚拟账户。
FTP服务配置
ftp基本安装
1、安装vsft服务
[root@ftp ~]# yum -y install vsftpd
2、给共享目录设置属主和属组用于匿名登录
[root@ftp ~]# chown -R ftp.ftp /var/ftp/pub
3、给共享目录设置访问权限
[root@ftp ~]# chmod -R 755 /var/ftp/pub
4、出创建一个文件用于客户机测试
[root@ftp ~]# echo "123456abc" > /var/ftp/pub/a1
FTP设置匿名账号登录
1、修改配置文件
[root@ftp ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #允许匿名账号登录
write_enable=YES #允许本地账号写入权限
anon_umask=022 #设置匿名账号的权限为755
anon_upload_enable=YES #允许匿名账号上传文件
anon_mkdir_write_enable=YES #允许匿名账号新建文件
anon_other_write_enable=YES #允许匿名账号其他写入权限
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
2、开启vsftp服务
[root@ftp ~]# systemctl start vsftpd
3、查看服务器是否启动
[root@ftp ~]# netstat -anptu|grep vsftpd
FTP服务启动不了的一个解决办法
- 如果配置文件里每条命令后面有空格也启动不了服务
- 解决办法:使用vim编辑配置输入 :set list查看每条命令后面是否有多的空格
FTP设置允许本地用户登录
1、修改配置文件
[root@ftp ~]# /etc/vsftpd/vsftpd.conf
#echo "local_enable=YES #允许本地用户登录
#write_enable=YES #允许本地用户写入权限
#local_umask=022 #设置本地用户权限为755
#chroot_local_user=YES #本地用户只允许登录在宿主目录下
#allow_writeable_chroot=YES #允许宿主目录写入权限
#userlist_enable=YES #启用用户列表
#userlist_deny=NO #只允许用户列表里的用户登录
#dirmessage_enable=YES
#xferlog_enable=YES
#connect_from_port_20=YES
#xferlog_std_format=YES
#listen=YES
#pam_service_name=vsftpd
#userlist_enable=YES
#tcp_wrappers=YES"
2、创建一个用户并设置密码
[root@ftp ~]# useradd lisi
[root@ftp ~]# echo "123456"|passwd --stdin lisi
3、给用户添加到白名单里
[root@ftp ~]# echo "lisi">>/etc/vsftpd/user_list
4、开启vsftp服务
[root@ftp ~]# systemctl start vsftpd
5、查看服务器是否启动
[root@ftp ~]# netstat -anptu|grep vsftpd
FTP及脚本部署
FTP设置匿名账号登录
#!/bin/bash
#ftp
#1、安装vsft服务
yum -y install vsftpd
#2、给共享目录设置属主和属组用于匿名登录
chown -R ftp.ftp /var/ftp/pub
#3、给共享目录设置访问权限
chmod -R 755 /var/ftp/pub
#4、出创建一个文件用于客户机测试
echo "123456abc" > /var/ftp/pub/a1
#5、允许匿名账号登录
echo "anonymous_enable=YES
#允许本地账号写入权限
write_enable=YES
#设置匿名账号的权限为755
anon_umask=022
#允许匿名账号上传文件
anon_upload_enable=YES
#允许匿名账号新建文件
anon_mkdir_write_enable=YES
#允许匿名账号其他写入权限
anon_other_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES" > /etc/vsftpd/vsftpd.conf
#6、开启vsftp服务
systemctl start vsftpd
#7、查看服务器是否启动
netstat -anptu|grep vsftpd
FTP设置允许本地用户登录
#!/bin/bash
#ftp
#1、安装vsft服务
yum -y install vsftpd
#2、给共享目录设置属主和属组用于匿名登录
chown -R ftp.ftp /var/ftp/pub
#3、给共享目录设置访问权限
chmod -R 755 /var/ftp/pub
#4、出创建一个文件用于客户机测试
echo "123456abc" > /var/ftp/pub/a1
#5、允许本地用户登录
echo "local_enable=YES
#允许本地用户写入权限
#write_enable=YES
#设置本地用户权限为755
#local_umask=022
#本地用户只允许登录在宿主目录下
#chroot_local_user=YES
#允许宿主目录写入权限
#allow_writeable_chroot=YES
#启用用户列表
#userlist_enable=YES
#只允许用户列表里的用户登录
#userlist_deny=NO
#dirmessage_enable=YES
#xferlog_enable=YES
#connect_from_port_20=YES
#xferlog_std_format=YES
#listen=YES
#pam_service_name=vsftpd
#userlist_enable=YES
#tcp_wrappers=YES" > /etc/vsftpd/vsftpd.conf
#设置白名单
useradd lisi
echo "123456"|passwd --stdin lisi
echo "lisi">>/etc/vsftpd/user_list
systemctl restart vsftpd