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)

相关推荐
考虑考虑6 小时前
数据库中的EXISTS
运维·数据库·后端
爱网络爱Linux6 小时前
【系列】每天一个 Linux 命令(53)startx 命令
linux·rhce·rhca·linux运维·linux命令大全·红帽认证
ZhengEnCi6 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
M78佐菲7 小时前
51单片机学习笔记:ds18b20要点整理
linux·笔记·嵌入式硬件·学习·51单片机
高亦真7 小时前
今天是学习嵌入式的第37天
linux·学习·算法
一个有温度的技术博主8 小时前
Linux 核心命令速查指南:从文件操作到系统运维
linux·服务器
小小的木头人8 小时前
Docker 环境下迁移 containerd 数据目录:从 `/var/lib/containerd` 到 `/data/containerd`
linux·docker
天远数科8 小时前
零信任架构实战:基于天远全能消金报告构建自动化信贷评估网关
运维·人工智能·架构·自动化
东城居士9 小时前
验证第一个Linux字符驱动程序
linux·嵌入式系统
Winner_hwx9 小时前
华为ICT大赛备赛复习1
服务器·网络·华为