vsftpd配置用户和密码让其他客户端连接

一、第一个主机:vsftpd下载及配置

前置准备:

复制代码
#卸载防火墙
yum -y remove firewalld
#为了不让防火墙有影响,iptables配置也清空
iptables -F
vim /etc/selinux/conf
SELINUX=disabled #主要是把它改为disabled或者permissive
SELINUXTYPE=targeted
#重启linux让selinux生效
reboot

vim ftp.sh

复制代码
#! /bin/bash
#ftp客户端连接的用户名
FTP_USER=ftpuser
#ftp客户端连接的密码
FTP_PASS="ftpuser1007"
#配置文件路径
CONF_FILE="/etc/vsftpd/vsftpd.conf"
FTP_LOCAL_ROOT=/data/ftp_sources
#备份一下配置文件,改错了还可以利用备份文件还原,重新开始
cp $CONF_FILE  ${CONF_FILE}_bak
#追加配置文案的function
add_conf() {      
     check_conf=$1
     #如果没有对应的该项配置,就追加
     grep "$check_conf"  $CONF_FILE || echo "$check_conf" >> $CONF_FILE 
}
# 安装vsftpd服务
yum install vsftpd -y
# 创建FTP登录用户
useradd -s /sbin/nologin $FTP_USER
#设置用户密码
echo "$FTP_PASS" | passwd --stdin $FTP_USER
#如果不存在$FTP_LOCAL_ROOT目录,就创建该目录
[[ -d "$FTP_LOCAL_ROOT"  ]] ||  mkdir -p $FTP_LOCAL_ROOT
#不要忘记赋予用户.组的权限
chown -R  ${FTP_USER}.${FTP_USER} $FTP_LOCAL_ROOT
# 查询/etc/shells是否有/sbin/nologin解释器,如果没有就追加该解释器
grep "/sbin/nologin"  /etc/shells || echo "/sbin/nologin" >> /etc/shells 
# 追加给/etc/vsftpd/vsftpd.conf的配置
add_conf "listen_port=8090"
add_conf "chroot_local_user=YES"
add_conf "chroot_list_enable=NO"
add_conf "allow_writeable_chroot=YES"
add_conf "userlist_deny=NO"
add_conf "userlist_file=/etc/vsftpd/user_list"
add_conf "local_root=/data/ftp_sources"
add_conf "vsftpd_log_file=/var/log/vsftpd.log"
#注意将原来的listen=NO和listen_ipv6=YES注释掉
sed -i 's/^listen=NO/#listen=NO/' $CONF_FILE
sed -i 's/^listen_ipv6=/#listen_ipv6=/' $CONF_FILE
#将ftp能够登录的用户列表文件备份
cp /etc/vsftpd/user_list  /etc/vsftpd/user_list_bak
#将ftp能够登录的用户列表文件清空,只留ftpuser这个用户
echo "ftpuser" > /etc/vsftpd/user_list

systemctl restart vsftpd
systemctl enable vsftpd

使用ftp.sh

复制代码
chmod +x ftp.sh
./ftp.sh

二、其他linux主机使用ftp连接

复制代码
#下载ftp插件
yum -y install ftp

[root@localhost shared_dir]# ftp 192.168.137.12 8090
Connected to 192.168.137.12 (192.168.137.12).
220 (vsFTPd 3.0.3)
Name (192.168.137.12:root): ftpuser
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

下载文件使用get xxx

上传使用put xxx

进入本机目录: lcd 本机目录

三、windows电脑使用Filezilla连接

下载地址:

Download FileZilla Client for macOS (Intel)

相关推荐
qq_4523962317 分钟前
第十五篇:《UI自动化中的稳定性优化:解决flaky tests的七种武器》
运维·ui·自动化
j_xxx404_40 分钟前
Linux:静态链接与动态链接深度解析
linux·运维·服务器·c++·人工智能
_只道当时是寻常1 小时前
【Codex】Ubuntu 安装 Codex CLI 并解决 Clash 代理与账号认证问题
linux·ubuntu·chatgpt
墨风如雪2 小时前
别被“高价建站”劝退了!我跑了多年的 WordPress 架构,一年只花 $25.7
服务器
Elastic 中国社区官方博客2 小时前
Elastic-caveman : 在不损失 Elastic 最佳效果的情况下,将 AI 响应 tokens 减少64%
大数据·运维·数据库·人工智能·elasticsearch·搜索引擎·全文检索
brucelee1862 小时前
Claude Code 安装教程(Windows / Linux / macOS)
linux·windows·macos
云飞云共享云桌面2 小时前
东莞智能装备工厂数字化实践—研发部门10名SolidWorks设计共享一台云主机流畅设计
服务器·自动化·汽车·负载均衡·制造
专注API从业者2 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
xingyuzhisuan3 小时前
稳定性考验:连续跑7天,哪家云主机不重启、不掉线?
服务器·人工智能·gpu算力
jsons13 小时前
给每台虚拟机设置独立控制台密码
linux·运维·服务器