Linux从入门到精通——ftp服务

一.vsftp服务的启用

1.下载安装服务并启动
yum install vsftpd        ##安装vsftpd
systemctl start vsftpd       ##开启vsftpd
systemctl enable vsftpd      ##设定开机自启动vsftpd

systemctl stop firewalld      ##关闭火墙

systemctl disable firewalld    ##设定开启不启动火墙

 

 

 

 

 

 

 

 

 

 

 

 

2.如果不想关闭防火墙,则需要更改防火墙的设置

(1)图形更改防火墙设置

firewall-config

firewalld-cmd --permanent --add-service=ftp      ##永久设定允许ftp服务开启端口
firewalld-cmd --reload                 ##重加载火墙配置


测试:
打开浏览器输入: ---->ftp://172.25.254.85
用ls命令检测是否可以浏览

 

 

 

 

 


二.ftp的基本信息

访问数据端口:21
数据传输端口:>1024的随机数

默认发布目录:/var/ftp/
访问方式:

lftp 172.25.254.9              ##匿名登陆

lftp 172.25.254.9 -u username    ##用户登陆,登陆后默认在用户家目录中(/home/username)


服务主配置文件:/etc/vsftpd/vsftpd.conf




三.ftp的安全部署
以修改配置文件的方式实现ftp的安全配置

配置前必须先关闭selinux,然后重启系统

vim /etc/selinux/config  ##selinux配置文件

selinux=disabled     ##开机不启动selinux

reboot         ##重启系统

 

1.对匿名用户进行设置

vim  /etc/vsftpd/vsftpd.conf

anonymous_enable=YES|NO           ##匿名用户是否可以登陆 

anon_mkdir_readable_only=YES|NO  ##匿名用户是否可以下载,NO表示可以

anon_umask=022           ##匿名用户上传文件的umask值

anon_upload_enable=YES|NO    ##匿名用户是否可以上传文件

chmod 775 /var/ftp/pub

chgrp ftp /var/ftp/pub        ##加大pub目录的权限,否则上传文件会出现553报错

anon_mkdir_write_enable=YES|NO    ##匿名用户是否可以创建目录,只能在/var/ftp中建立目录

anon_other_write_enable=YES|NO  ##匿名用户是否可以删除目录或文件

anon_max_rate=102400         ##匿名用户最大上速率,单位为B

chown_upload=YES  

chown_username=kiosk         ##修改匿名用户登陆的默认用户

max_client=10           ##允许最大登陆主机数

注:匿名用户默认是在服务器上以ftp用户身份登陆,并不是真的匿名

 

 

 

 

2.对本地用户进行设置  
local_enable=YES|NO             ##本地用户是否可以登陆

write_enable=YES|NO             ##本地用户是否可以写

local_root=/mnt           ##修改本地用户登陆的家目录

chroot_local_user=YES|NO      ##限制本地用户切换目录,所有用户将被锁在自己的家目录中无法切换目录,在白名单中的用户可以切换

chmod u-w /home/*           ##去掉普通用户家目录所有者的W权限,防止出现500报错

 

        ——————自建用户白名单——————

chroot_list_enable=YES         ##开启白名单

chroot_list_file=/etc/vsftpd/chroot_list  ##指定用户白名单文件,不在此文件中的用户无法登陆,在此文件中的用户可以切换到根下的任意目录

vim /etc/vsftpd/chroot_list       ##在此文件中写入用户,此文件即为白名单

chmod ugo-w  /etc/vsftpd/chroot_list   ##去掉写权限,否则会出现530报错

systemctl restart vsftpd        ##重启服务

 

        ——————用户黑名单——————

vim /etc/vsftpd/ftpusers        ##此文件为系统默认永久黑名单,只要出现在该名单中的用户,就无法登陆

userlist_deny=YES|NO        ##开启(关闭)黑名单
vim /etc/vsftpd/user_list          ##系统默认临时黑名单,在此名单的用户无法登陆,当黑名单关闭时,该文件为默认白名单。

 

 

可能会出现的报错:

530——账号的信息有误,ftp地址,ftp账号,ftp密码以及端口方面有问题,也有可能是服务器宕机,或家目录不存在
550——服务本身不允许该操作
553——目录权限太小无法允许该操作
500——目录权限太大无法允许该操作

 

 

3.虚拟用户模式(最安全的方法)

(1)虚拟用户的创建

第一步:创建用于进行ftp认证的用户数据库文件,

第二步:用hash算法将明文信息转换为密文

第三步:创建vsftp用于储存文件的根目录,以及虚拟用户影射的系统本地用户

第四步:建立用户支持虚拟用户的PAM文件

第五步:测试

第六步:配置虚拟用户具备独立的家目录

建立虚拟用户的家目录 

修改配置文件,让虚拟用户登陆到自己独立的家目录中

\

(2)虚拟用户的管理

将匿名用户的所有权限关闭

修改配置文件,给指定虚拟用户特定的权限。

在/etc/vsftpd/user_conf目录下建立文件,以虚拟用户命名

修改虚拟用户的家目录权限和虚拟用户登录家目录组

 

转载于:https://www.cnblogs.com/ChairmanYSL/p/9442869.html

你可能感兴趣的:(Linux从入门到精通——ftp服务)