linux系统如何配置一个FTP服务器

1. FTP安装与配置

1.1 FTP安装

一般使用yum直接在线安装

# 在线安装FTP
yum install -y vsftpd

安装完成后查看ftp状态

# 查看ftp状态
systemctl status vsftpd.service
# 启动ftp状态 重启:restart,停止:stop,开机自启:enable,关闭开机自启:disable
systemctl start vsftpd.service

1.2 FTP配置

配置文件路径:/etc/vsftpd/vsftpd.conf

# 编辑vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
# 显示行号
:set nu
# 修改配置12行,不允许匿名访问,默认YES允许
anonymous_enable=NO
#修改配置83、84行  允许ascii文件上传下载
ascii_upload_enable=YES
ascii_download_enable=YES
# 修改配置87行
ftpd_banner=Welcome to blah FTP service.
#修改配置101,102,104行 将用户限制在为其配置的主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

#添加下列内容到vsftpd.conf末尾
use_localtime=YES
# 监听端口
listen_port=21
idle_session_timeout=300
# 允许写
allow_writeable_chroot=YES
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
# ftp默认使用GMT时间与系统时间相差8小时
use_localtime=YES
# Esc :wq保存

2 FTP账号、组、目录配置

# 新建一个ftpuser组
groupadd ftpuser
# 新建一个ftpuser账号,并且该账号不需要登录服务器,设定家目录在 /home/ftpuser,-d '用户主目录'
useradd -g ftpuser -M -d /home/ftpuser -s /sbin/nologin ftpuser
# 设置用户 ftpuser 的密码
passwd ftpuser
# 把 /home/ftpuser 的所有权给ftpuser
chown -R ftpuser:ftpuser  /home/ftpuser
# 在home目录下先创建文件夹,作为后续ftp账号的默认目录
mkdir -p  /home/ftpuser
# 设置目录权限为755
chmod 755 -R /home/ftpuser

2.1 FTP登录用、密码设置

# 进入/etc/vsftpd/目录
cd /etc/vsftpd/
 
# 创建用户密码信息文件
vim vuser_passwd
#编辑如下内容,创建ftp账户信息
ftpuser
123456
# Esc :wq保存退出
# 安装db_load命令
yum install libdb-utils
# 生成ftp用户数据文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
# 将该目录的权限改成600
chmod 600 /etc/vsftpd/vuser_passwd.db

2.2 编辑pam认证文件

# 查看系统位数
getconf LONG_BIT
# 备份pam认证文件
mv  /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bak
# 新建pam认证文件
vim /etc/pam.d/vsftpd
# 根据自己的操作系统选2行,不要全部都填写哟
# 注:db=/etc/vsftpd/vuser_passwd 中的vuser_passwd 是你生成的虚拟用户的db文件,这里不要加扩展名。
# 系统为32位:
auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd account
required pam_userdb.so db=/etc/vsftpd/vuser_passwd
 
# 系统为64位:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
# Esc :wq 保存内容

2.3 chroot_list文件

# 进入目录/etc/vsftpd
cd /etc/vsftpd
#创建使当前配置的虚拟用户允许访问的文件列表
vim chroot_list
#写入FTP用户名
ftpuser
# Esc :wq 保存退出

2.4 防火墙、SELinux等配置

#  SELINUX不对vsftp不做任何限制
setsebool -P ftpd_full_access on
# 防火墙设置 IPtables 的设置方式:
vi /etc/sysconfig/iptables
#编辑iptables文件,添加如下内容,开启21端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
 
#firewall 的设置方式,以下指令
firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent 
 

2.6 sftp连接

连接命令:sftp -P 22 用户名@Ip Address
示例:sftp -P 22 user1@192.168.3.5

  • 13
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是在Linux中搭建FTP服务器的步骤: 1.安装vsftpd软件包: ```shell sudo apt-get update sudo apt-get install vsftpd ``` 2.配置vsftpd: ```shell sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig #备份原始配置文件 sudo nano /etc/vsftpd.conf #编辑配置文件 #确保以下设置正确: anonymous_enable=NO #禁用匿名访问 local_enable=YES #启用本地用户访问 write_enable=YES #启用写入权限 local_umask=022 #设置默认的文件权限 dirmessage_enable=YES #启用目录信息 use_localtime=YES #使用本地时间 xferlog_enable=YES #启用传输日志 connect_from_port_20=YES #使用20端口进行数据连接 chroot_local_user=YES #限制用户只能访问自己的主目录 secure_chroot_dir=/var/run/vsftpd/empty #设置安全的chroot目录 pam_service_name=vsftpd #启用PAM认证 rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #设置SSL证书 rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #设置SSL私钥 ssl_enable=NO #禁用SSL pasv_enable=YES #启用被动模式 pasv_min_port=40000 #被动模式最小端口 pasv_max_port=40100 #被动模式最大端口 listen=YES #启用监听 listen_ipv6=NO #禁用IPv6监听 ``` 3.创建ftp用户和用户组: ```shell sudo groupadd ftpusers #创建ftp用户组 sudo useradd -g ftpusers -d /var/ftp/ftp1 ftp1 #创建ftp1用户 sudo useradd -g ftpusers -d /var/ftp/ftp2 ftp2 #创建ftp2用户 sudo passwd ftp1 #设置ftp1用户密码 sudo passwd ftp2 #设置ftp2用户密码 sudo chown ftp1:ftpusers /var/ftp/ftp1 #设置ftp1用户的主目录 sudo chown ftp2:ftpusers /var/ftp/ftp2 #设置ftp2用户的主目录 sudo chmod 755 /var/ftp/ftp1 #设置ftp1用户的主目录权限 sudo chmod 755 /var/ftp/ftp2 #设置ftp2用户的主目录权限 ``` 4.重启vsftpd服务: ```shell sudo systemctl restart vsftpd ``` 现在,你已经成功地在Linux中搭建了FTP服务器,可以使用ftp1和ftp2用户登录并上传/下载文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值