linux——管理系统设备之vsftpd服务

vsftpd服务

前提:在做ftp实验前,修改/etc/sysconfig/selinux中的SELINUX为disabled,修改后需要重启才能生效


1.什么是ftp

  • FTP(File Transfer Protocol)即文件传输协议,中文简称为“文传协议”。
  • FTP用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。
  • 在FTP的使用当中,用户经常遇到两个概念:
下载:"下载"文件就是从远程主机拷贝文件至自己的计算机上

上传:"上传"文件就是将文件从自己的计算机中拷贝至远程主机上

2.安装ftp

yum install vsftpd  -y


systemctl stop firewalld

systemctl disable firewalld

systemctl start vsftpd

systemctl enable vsftpd

注:防火墙可以不用关闭,但是需要将ftp服务添加到防火墙允许的程序中。


lftp ip               

##能登陆并且显示,表示安装成功


注意:如果主机没有lftp,那么也需要下载lftp,yum install lftp -y


3.vsftpd文件信息

软件安装包:     vsftpd

默认发布目录:  /var/ftp

协议接口:         21/tcp

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

报错id的解析:

                        500    ##文件系统权限过大

                        530    ##用户认证失败

                        550    ##服务本身功能未开放

                        553    ##本地文件系统权限过小

4.vsftpd服务的配置参数

vim /etc/vsftpd/vsftpd.conf

匿名用户设定

anonymous_enable=YES | NO    ##匿名用户登陆限制

  • 匿名用户上传

vim /etc/vsftpd/vsftpd.conf

write_enable=YES      ##用户是否可以进行写操作,匿名和本地用户同时管理

anon_upload_enable=YES

systemctl restart vsftpd

chgrp ftp /var/ftp/pub/

chmod 775 /var/ftp/pub/


  • 匿名用户家目录修改
anon_root=/目录

注意:修改的这个家目录必须存在


vim /etc/vsftpd/vsftpd.conf

anon_root=/ftpdir

systemctl restart vsftpd




  • 匿名用户上传文件默认权限修改

anon_umask=xxx


未修改权限前,即默认情况下

修改权限后


  • 匿名用户建立目录
vim /etc/vsftpd/vsftpd.conf

anon_mkdir_write_enable=YES | NO  ##设定参数值为no表示匿名用户不可以建立目录

systemctl restart vsftpd

未添加权限时

添加权限并允许后


  • 匿名用户下载
vim /etc/vsftpd/vsftpd.conf

anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

systemctl restart vsftpd



  • 匿名用户删除
vim /etc/vsftpd/vsftpd.conf

anon_other_write_enable=YES | NO  ##设定参数值为YES表示匿名用户可以删除

systemctl restart vsftpd




  • 最大上传速率

vim /etc/vsftpd/vsftpd.conf

anon_max_rate=102400

systemctl restart vsftpd

默认上传速率

修改速率后



  • 最大连接数

max_client=3  ##允许同时有多少台主机可以远程连接本主机

本地用户设定

local_enable=YES | NO    ##本地用户登陆限制

write_enable=YES | NO    ##本地用户写权限限制

  • 本地用户家目录修改

vim /etc/vsftpd/vsftpd.conf

local_root=/tutudir

systemctl restart vsftpd




  • 本地用户上传文件权限

local_umask=xxx

未修改前,即默认上传权限022

修改上传文件权限为077后


  • 限制本地用户浏览/目录

chroot_local_user=YES
chmod u-w /home/*

未修改前


修改内容及修改后



  • 用户黑名单建立

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

vim /etc/vsftpd/ftpusers     ##用户黑名单,永久性


vim /etc/vsftpd/user_list     ##用户临时黑名单


  • 用户白名单建立及设定
chroot_local_user=YES
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list


注意:要想黑白名单生效,最好/etc/vsftpd/user_list文件和/etc/vsftpd/chroot_list文件都要存在

ftp虚拟用户的设定

  • 创建虚拟用户帐号身份

vim /etc/vsftpd/userdb    ##文件名称任意

db_load -T -t hash -f userdb userdb.db    ##设置加密方式为哈希加密,生成加密文件userdb.db


vim /etc/pam.d/ftpuser    ##文件名称任意



  • 虚拟帐号身份指定

guest_username=tutu
useradd -d /home/tutu tutu

实验是否可以登陆


  • 虚拟帐号家目录独立设定

vim /etc//vsftpd/vsftpd.conf
local_root=/vftpdir/$USER
user_sub_token=$USER


mkdir /vftpdir

chgrp tutu /vftpdir

chmod g+s /vftpdir

mkdir /vftpdir/user{1..3}


  • 虚拟帐号独立配置

默认情况下,虚拟用户拥有相同的权限,就是tutu的权限,我们可以根据实际需求对不同的虚拟用户分配权限

首先在FTP的主配置文件中加一个选项:

user_config_dir=/etc/vsftpd/user_conf             ##//文件名和路径都可以自己定义

然后创建该目录.

mkdir /etc/vsftpd/user_conf

下面就可以在该目录下编辑不同虚拟用户的权限配置文件了,比如要对user1编辑其权限

touch user1                  ##//建立user1的权限文件.文件名要与虚拟用户名相同

可以根据实际需求为该文件添加下面的选项和值:

anon_world_readable_only=NO               ##//表示用户可以浏览FTP目录和下载文件

anon_upload_enable=YES                    ##//表示用户可以上传文件

anon_mkdir_write_enable=YES               ##//表示用户有创建和删除目录的权限

anon_other_write_enable=YES               ##//表示用户具有文件改名和删除文件的权限

 

注:在此文件中设定配置文件中的所有参数,此文件的优先级高

猜你喜欢

转载自blog.csdn.net/hh5820/article/details/80247146