首页
归档
技术支持
友链
关于我
联系
Search
1
CentOS7官方停止支持,yum源变更
100 阅读
2
Ubuntu22.04配置vsftp服务
36 阅读
3
苹果电脑命令行常用命令
34 阅读
4
CentOS7安装多版本php
31 阅读
5
您是否有遇到以下问题,或许我们能帮到您
30 阅读
默认分类
电脑3C
Linux运维
生活杂谈
Search
标签搜索
电脑
Mac OS
雪中悍刀行
PHP
Nginx
Linux
Typecho
网络
软路由
Openw'r't
翻墙
VPS
电脑DIY
FTP
名言
帮助
问题
钉钉消息
苹果
建议
清阳
累计撰写
19
篇文章
累计收到
12
条评论
首页
栏目
默认分类
电脑3C
Linux运维
生活杂谈
页面
归档
技术支持
友链
关于我
联系
搜索到
1
篇与
的结果
2024-08-17
Ubuntu22.04配置vsftp服务
Ubuntu22.04配置vsftp服务本文记录了Ubnutu配置基于Vsftp的FTP服务注意本文配置文件和路径仅适用于Ubuntu22.04下的vsftp配置,其他系统请适当变通配置{alert type="info"}(主要是 配置pam认证 部分,不同系统的pam.so库路径不一致){/alert}一、环境系统 软件环境Ubuntu: 22.03Vsftp: 3.0.5ftp 用户这里以用户名: admin, 密码:123456为例ftp上传目录 /data/ftp/adminftp被动模式,监听55554端口,同时允许公网访问本机 55555-55557端口二、配置步骤概要FTP配置过程分为以下几步:安装软件创建必须得目录结构和空的配置文件写入vsftp配置文件修改vsftp pam认证配置文件生成用户账号密码数据库调整ftp目录权限,修正vsftp chroot环境登录测试三、安装软件和创建文件结构apt update apt install vsftpd db-util -y vsftpd -v vsftpd:version 3.0.5 cd /etc/ cp /etc/vsftpd.conf /etc/vsftpd.conf.bak mkdir vsftpd cd vsftpd touch chroot_list ftpusers user_list vuser_passwd.txt mkdir vsftpd_user_conf touch vsftpd_user_conf/admin #这个是ftp用户配置文件四、user配置向配置文件中写入配置cat > ftpusers <<EOF #Users that are not allowed to login via ftp root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody EOF允许登录的ftp用户,主要是写入admin这个ftp用户cat > user_list <<EOF #vsftpd userlist #If userlist_deny=NO, only allow users in this file #If userlist_deny=YES (default), never allow users in this file, and #do not even prompt for a password. #Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers #for users that are denied. #root #bin #daemon #adm #lp #sync #shutdown #halt #mail #news #uucp #operator #games #nobody #gameday-dg admin EOF创建ftp目录 mkdir -p /data/ftp/admin五、用户认证密码文件写入初始账号密码,一会根据这个生成数据库初始源文件cat > vuser_passwd.txt <<EOF admin 123456 EOF生成ftp用户认证所需的数据库文件db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db六、SSL加密配置生成ssl安全连接证书文件 (如果需要开启SSL安全连接的情况下)openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem 在交互式回话框中填入内容如下:CN Shanghai Shanghai gmork gmork Gmork 825943010@qq.com 例如:Country Name (2 letter code) [AU]:CNState or Province Name (full name) [Some-State]:ShanghaiLocality Name (eg, city ) []:Shanghai Organization Name (eg, company) [Internet Widgits Pty Ltd]:gmork Organizational Unit Name (eg, section) []:gmork Common Name (e.g. server FQDN or YOUR name) []:Gmork Email Address []:825943010@qq.com七、配置vsftpd.conf文件写入/etc/vsftpd.conf主配置文件cat > /etc/vsftpd.conf <<EOF local_enable=YES write_enable=YES local_umask=022 user_config_dir=/etc/vsftpd/vsftpd_user_conf dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=NO idle_session_timeout=300 ftpd_banner=Welcome to blah FTP service. chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list ls_recurse_enable=YES listen=YES listen_port=55554 pam_service_name=vsftpd guest_enable=YES guest_username=ftpuser userlist_enable=YES userlist_deny=NO tcp_wrappers=YES use_localtime=YES allow_writeable_chroot=YES #ssl_enable=YES #allow_anon_ssl=NO #force_local_data_ssl=YES #force_local_logins_ssl=YES #ssl_tlsv1=YES #ssl_sslv2=YES #ssl_sslv3=YES #rsa_cert_file=/etc/vsftpd/vsftpd.pem #ssl_ciphers=HIGH #require_ssl_reuse=NO xferlog_enable=YES secure_chroot_dir=/var/run/vsftpd/empty #下面这行很重要,用来解决云服务器服务,客户端连接后报 #425 Security:B爱的IP connection错误的问题。 pasv_promiscuous=yes EOF设置chroot用户内容cat > /etc/vsftpd.user_list <<EOF #vsftpd userlist #If userlist_deny=NO, only allow users in this file #If userlist_deny=YES (default), never allow users in this file, and #do not even prompt for a password. #Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. #root #bin #daemon #adm #lp #sync #shutdown #halt #mail #news #uucp #operator #games #nobody #gameday-dg admin EOF八、配置pam认证这里需要注意,由于 pam_userdb.so 在不同架构的系统下路径名略有差异, 可以根据自己的系统来确认 find / -name "pam_userdb.so" 知道到对应的so连接库文件,根据路径和名字把以下的改一下即可: 当前测试过的系统类型有: amd64位系统 x86_64架构文件名为: /usr/lib/x86_64-linux-gnu/security/pam_userdb.so 苹果电脑m1芯片下,linux虚拟机中.so文件路径为: /usr/lib/aarch64-linux-gnu/security/pam_userdb.so #先备份ftp认证配置文件 cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak ## 然后写入配置 cat > /etc/pam.d/vsftpd <<EOF auth required /usr/lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /usr/lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd EOF九、设置虚拟ftp用户配置设置虚拟ftp用户名字,权限,ftp工作模式,监听端口,被动模式使用到端口cat > /etc/vsftpd/vsftpd_user_conf/admin << EOF local_root=/data/ftp/admin local_umask=022 pasv_enable=YES pasv_min_port=55555 pasv_max_port=55557 virtual_use_local_privs=YES write_enable=YES EOF十、修改目录权限创建ftp虚拟用户所属的实体账户,用户登录和目录读写授权判断 useradd ftpuser -m -s /usr/sbin/nologin配置ftp上传目录属主chown -R ftpuser.ftpuser /data/ftp 十一、测试和debug测试结果如下图、即配置测试成功十二、报错和解决办法报错1:错误: GnuTLS 错误 -15,位于 gnutls_record_recv: An unexpected TLS packet was received. 错误: 无法读取套接字: ECONNABORTED - 连接中止 错误: 无法连接到服务器解决重新生成证书:报错2useradd ftpuser -m -s /usr/sbin/nologinchown -R ftpuser.ftpuser /data/ftp响应: 500 OOPS: cannot change directory:/nonexistent
2024年08月17日
36 阅读
3 评论
1 点赞