总体流程
服务端
- 创建站点主目录/var/xxxftp
- 配置vsftpd的主配置文件,
/etc/vsftpd/vsftpd.conf
- 创建不能通过 shell 登录的用户
- 创建用户操作目录
- 创建ftp服务中的用户配置文件
/etc/vsftpd/vsftpd_user_conf/
- 配置ftp服务中的用户配置文件
/etc/vsftpd/vsftpd_user_conf/shnsftp1
- 启动服务
service vsftpd restart
虚拟用户登录,并且ssl认证
- 创建用户目录
mkdir /home/shnvftp
touch /home/shnvftp/testv1
- 配置虚拟用户
/etc/vsftpd/login.txt
- txt转换db
db_load -t -t hash -f login.txt login.db
- 验证虚拟用户
/etc/pam.d/vsftpd
- 创建ftp服务中的用户配置文件
/etc/vsftpd/vsftpd_user_conf/
- 配置ftp服务中的用户配置文件
/etc/vsftpd/vsftpd_user_conf/shnvftp1
目录与权限 - 创建ssl证书
- 开启
/etc/vsftpd/vsftpd.conf
中的ssl - 启动服务
service vsftpd restart
- 监听管口
tshark -ni eth0 -r "tcp.port eq 21"
客户端
登录ftp
虚拟用户登录,并且ssl认证
使用高级的图形客户端登录
配置vsftpd
#允许匿名用户登录 anonymous_enable=no #本地用户登录服务器所访问的路径 local_root=/var/shnftp #登录时显示欢迎信息,如果设置了banner_file则此设置无效 ftpd_banner=欢迎登录shn'ftp服务器。 #登录用户允许使用ls -r命令,(一般禁止,服务器开销巨大) #ls_recurse_enable=yes #是定服务器在standalone模式下,不依赖于xinetd,可以独立启动 listen=yes listen_address=10.10.1.10 # ssl/tls加密 先no 后面使用ssl再开启 ssl_enable=no
创建用户
useradd shnsftp1 -s /sbin/nologin passwd shnsftp1
创建操作目录
mkdir shnsftp chown -r shnsftp1.shnsftp1 /shnsftp chmod 777 shnsftp touch shnsftp/tests1
创建ftp服务中的用户配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd_user_conf/shnsftp1
shnsftp1:为刚才创建的用户名
配置ftp服务中的用户配置文件
#全局控制-可以上传 write_enable=no #设置允许下载 download_enable=yes #本地用户登录服务器所访问的路径 local_root=/shnsftp #允许匿名用户上传 anon_upload_enable=no #设定vsftpd的服务日志保存路径(默认不存在,必须手动touch,并提升权限) #xferlog_file=/var/log/xferlog #设定日志使用标准的记录格式
- 权限允许下载,禁止上传,操作目录只限于/xxxsftp下
write_enable=yse
就可以增删改- 40行注释以后的内容都可以删掉
配置虚拟用户
shnvftp1 shnvftp1
- 单数行为用户名
- 双数行为密码
验证虚拟用户
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/login account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/login
创建ssl
# openssl req -x509 -days 365 -newkey rsa:2048 -nodes -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem // 创建 ssl generating a 2048 bit rsa private key .............................................+++ ....+++ writing new private key to '/etc/vsftpd/vsftpd.pem' ----- you are about to be asked to enter information that will be incorporated into your certificate request. what you are about to enter is what is called a distinguished name or a dn. there are quite a few fields but you can leave some blank for some fields there will be a default value, if you enter '.', the field will be left blank. ----- country name (2 letter code) [gb]:cn // 国家 state or province name (full name) [berkshire]:ln // 省 locality name (eg, city) [newbury]:ltu // 城市 organization name (eg, company) [my company ltd]:soft // 组织 organizational unit name (eg, section) []:network // 单位名称 common name (eg, your name or your server's hostname) []:localhost // 主机名称 email address []: # chmod 600 vsftpd.pem // 授权权限
登录ftp
# ftp 10.10.1.10 // 连接 ftp connected to 10.10.1.10. 220 欢迎登录shn'ftp服务器。 530 please login with user and pass. 530 please login with user and pass. kerberos_v4 rejected as an authentication type name (10.10.1.10:root): shnmftp1 // 登录 331 please specify the password. password: // 密码 230 login successful. remote system type is unix. using binary mode to transfer files. ftp> ls // 查看 227 entering passive mode (10,10,1,10,247,9) 150 here comes the directory listing. -rw-r--r-- 1 0 0 0 may 13 06:14 m1 drwx------ 2 603 603 4096 may 20 03:31 shnm 226 directory send ok. ftp> get m1 /var/m99 // 下载 local: /var/m99 remote: m1 227 entering passive mode (10,10,1,10,35,242) 150 opening binary mode data connection for m1 (0 bytes). 226 file send ok. ftp> put /var/m99 ./s99 // 上传 local: /var/m99 remote: ./s99 227 entering passive mode (10,10,1,10,244,124) 150 ok to send data. 226 file receive ok. ftp> delete s99 // 删除 250 delete operation successful. ftp> quit // 退出 221 goodbye.
高级的图形客户端登录
到此这篇关于linux网络配置之ftp配置详细教学的文章就介绍到这了,更多相关linux ftp配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论