Linux/CentOS8配置FTP

点击这里:阿里镜像下载

First测试FTP

1、安装vsftp服务

rpm -q vsftpd

显示:package vsftpd is not installed

yum install vsftpd -y 
su root
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom
vim /etc/yum.repos.d/base.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/cdrom/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/cdrom/AppStream
enabled=1
gpgcheck=0

[报错,然后进行yum 源配置
参见,这里centos8 阿里源 Errors during downloading metadata for repository ‘BaseOS‘:问题解决

yum install vsftpd -y 

完成

systemctl stop firewalld
setenforce 0

2、启动vsftp服务

systemctl start vsftpd
systemctl enable vsftpd

显示:

Created symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service → /usr/lib/systemd/system/vsftpd.service.

3、关闭vsftp服务

systemctl disable vsftpd

显示:

Removed symlink /etc/systemd/system/multi-user.target.wants/vsftpd.service.
systemctl stop vsftpd

4、测试vsftp服务

vim /etc/vsftpd/vsftpd.conf

设置anonymous_enable=YES

systemctl restart vsftpd

然后打开客户端(另一台centos8)下载ftp进行测试

su root
yum install ftp -y

ftp 192.168.112.135(服务端IP)

输入: anonymous
回车(不需要输入密码,直接回车)

**

sencond&third 配置匿名用户模式

**
再打开服务端

vim /etc/vsftpd/vsftpd.conf

设置

anonymous_enable=YES

修改

anon_upload_enable=YES
anon_mkdir_write_enable=YES

添加

anon_umask=022
anon_other_write_enable=YES

此上
把/var/ftp/pub 目录所有者改为用户 ftpgjz

chown -R ftpgjz /var/ftp/pub

systemctl stop firewalld
setenforce 0
systemctl restart vsftpd

然后在客户端匿名登录 此时有权限对文件进行修改
ftp 192.168.112.135

注意:exit可退出ftp

服务端开启防火墙,允许FTP流量

systemctl start firewalld
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

Four配置本地用户模式

vim /etc/vsftpd/vsftpd.conf

设置

anonymous_enable=NO (可以不改)
local_enable=YES
local_umask=022
write_enable=YES

local_root=/var/ftp

systemctl restart vsftpd

客户端本地用户身份登录
ftp 192.168.112.133
root是不行的(无权限)

ftpgjz(服务端用户)

打开服务端限制用户权限

vim /etc/vsftpd/vsftpd.conf

修改

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES

此上

将用户名ftpgjz添加到/etc/vsftpd/chroot_list

echo ftpgjz >> /etc/vsftpd/chroot_list

systemctl restart vsftpd

此时用户ftpgjz权限收到限制

扩展任务:配置虚拟用户模式
再打开服务端

yum install pam * libdb-utils libdb * --skip-broken -y

添加虚拟用户ftp1和ftp2及对应密码

vim /etc/vsftpd/ftpusers.txt
ftp1
123
ftp2
123

将明文文件转化为数据库文件

cd /etc/vsftpd/
db_load -T -t hash -f ftpusers.txt vuser.db
chmod 600 vuser.db
rm -f ftpuser.txt
useradd -d /var/ftproot -s /sbin/nologin vusergjz
chmod -Rf 755 /var/ftproot/

创建认证pam

mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
vim /etc/pam.d/vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

修改参数

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES

guest_enable=YES
guest_username=vusergjz

allow_writeable_chroot=YES
pam_service_name=vsftpd
local_umask=022
systemctl restart vsftpd

记得开启防火墙和selinux

systemctl start firewalld
setenforce 1
systemctl enable firewalld
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

客户端使用虚拟用户登录

补充:yum源配置也可参考这里:
【已解决】Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist

参考:
1、【已解决】Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist

2、centos8 阿里源 Errors during downloading metadata for repository ‘BaseOS‘:问题解决

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值