Linux搭建FTP服務器

1.概述

Linux搭建FTP使用vsftp,有三種模式

匿名模式:可以不輸入用戶名和密碼登錄FTP

系統用戶模式:FTP所在服務器上的用戶使用用戶名和密碼登錄

用戶映射模式:用戶不存在於FTP所在服務器,隨意起名,然後映射到FTP服務器上的用戶(不用暴露FTP服務器上的用戶,提高安全性)

2.安裝

yum install vsftpd -y

3.配置

3.1.匿名用戶

安裝完vsftpd後,會創建一個ftp的用戶,匿名用戶登錄ftp後,起始目錄就是ftp的家目錄。

3.1.1創建目錄

对匿名用户来说,默认是不允许对家目录拥有写权限的,虽然有一个 allow_writeable_chroot=YES 选项,但是这个选项对匿名用户不生效。所以如果要让匿名用户操作服务端数据,一种做法就是在指定的数据目录下再创建一个目录,客户的数据存放在数据目录的子目录中。

# 创建数据目录
mkdir -p /ftp_data/anon_data

# 更改文件权限
chown root:root /ftp_data
chmod 755  /ftp_data
chown ftp:ftp /ftp_data/anon_data
3.1.2.配置文件
vim /etc/vsftpd.conf
# 开启匿名用户登录
anonymous_enable=YES
no_anon_password=YES

# 匿名用户权限配置
write_enable=YES
anon_upload_enable=YES
anon_umask=022
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=YES

# 数据目录设置
anon_root=/ftp_data
chroot_local_user=YES
allow_writeable_chroot=YES

# 日志设置 用于显示详细的日志信息
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES
systemctl start vsftpd
3.2.系統用戶模式
3.2.1.創建用戶

本地用戶登錄後,默認是在自己的家目錄。如果/home所在分區不足,可以修改本地用戶的家目錄

# 創建用戶並創建指定家目錄
useradd -m -d /data/ftp ftpadmin
# 設置密碼
passwd ftpadmin
3.2.2.配置文件

經過多次測試,userlist_enable=YES後,windows就無法登錄ftp,可以通過linux登錄。

# 禁用匿名用户登录
anonymous_enable=NO

# 启用系统用户模式
local_enable=YES

# 权限配置
write_enable=YES

# 指定数据目录
local_root=/data/ftp
chroot_local_user=YES
allow_writeable_chroot=YES

# 日志配置
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES

# 登录名单配置
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

# 登錄認證
pam_service_name=vsftpd
3.2.3.用戶白名單
vi /etc/vsftpd/user_list
-----------------------
ftpadmin
----------------------
3.3.用戶映射模式
3.3.1.創建虛擬用戶數據庫
# 編輯用戶密碼對
cd /etc/vsftpd
vi vusers
#-----------------------------
monkey
abc123def
saily
123abc456
#-----------------------------
# 生成DB文件
db_load -T -t hash -f vusers /etc/vsftpd/vusers.db
3.3.2.修改認證文件
vim /etc/pam.d/vsftpd
# 注釋原有auth和account,並加入下面的方式
auth    required        pam_userdb.so   db=/etc/vsftpd/vusers
account required        pam_userdb.so   db=/etc/vsftpd/vusers
3.3.3.配置文件
# 启用匿名用户模式
local_enable=YES
guest_enable=YES

# 指定映射的用户
guest_username=ftpadmin

# 日志配置
xferlog_enable=YES
xferlog_std_format=NO
log_ftp_protocol=YES

# 指定用于验证的PAM规则文件,不用加全路径,会默认到/etc/pam.d下找
pam_service_name=vsftpd

# 虚拟用户拥有和系统用户同样的权限
write_enable=YES
local_umask=022
virtual_use_local_privs=YES

# 数据目录指定
local_root=/data/ftp
chroot_local_user=YES
allow_writeable_chroot=YES
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值