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)

相关推荐
鸠摩智首席音效师3 分钟前
如何在 Docker 容器下运行 cronjob ?
运维·docker·容器
橙露15 分钟前
Kubernetes 集群运维:故障排查、资源调度与高可用配置
运维·容器·kubernetes
skywalk816318 分钟前
clonos control-pane: FreeBSD下的CBSD的web管理版(未完成,还有500error错误)
服务器·云原生·容器·freebsd·cbsd
天空属于哈夫克318 分钟前
企微API+RPA(机器人流程自动化)高效实战指南
linux·运维·服务器·自动化·企业微信·rpa
EndingCoder21 分钟前
性能优化:类型系统的最佳实践
linux·前端·javascript·ubuntu·性能优化·typescript
自动化控制仿真经验汇总22 分钟前
楼宇自动化智能控制系统-EXP-楼宇智能-多通道
运维·自动化
一个平凡而乐于分享的小比特24 分钟前
Linux根文件系统各文件夹作用详解
linux
linux kernel28 分钟前
第四部分:传输层
服务器·网络
hmywillstronger28 分钟前
【Rhino】【Python】对包含特定关键词的文字的MTEXT对象添加指定内容
linux·服务器·python
ICT董老师29 分钟前
通过OpenSSL 生成自签名证书
linux·运维·服务器·https·ssl