ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

VSFTP服务(Linux)

2021-09-23 20:03:17  阅读:242  来源: 互联网

标签:ftp enable 服务 用户 vsftpd VSFTP Linux YES local


ftp:文件传输协议,应用层协议

windows系统:server版的IIS中集成;servU实现;第三方ftp软件,fellzilla-server

linux系统:vsftpd;proftp

ftp服务监听TCP的21号端口,主要是建立会话链接;数据传输时使用20号端口,用于与客户端的数据传输

1.ftp的工作模式:

1)主动模式:ftp主动打开20号端口,向客户端进行数据传送

2)被动模式:ftp等待客户端链接,打开随即端口

2.ftp服务器安装:

  1) 关闭防火墙及SElinux:

                        systemctl stop firewalld;systemctl disable firewalld

                        setenforce 0;vim /etc/selinux/config-->SELINUX=disabled[该操作需要重启系统]

        2) 配置静态IP地址:

                        修改/etc/sysconfig/network-scripts/ifcfg-ens33文件

  3)安装vsftpd软件包:

      a)配置yum源

                                cd /etc/yum.repos.d/

                                mkdir bak

                                mv CentOS-* bak/

                                vim local.repo

                                

                                [local]

                                name=local

                                baseurl=file:///mnt

                                enabled=1

                                gpgcheck=0

                               

                                mount /dev/sr0 /mnt

                        b)安装软件包:

        yum install -y vsftpd  ftp【客户端软件包】

3.ftp安装目录[/etc/vsftpd]中文件:

  1)ftpusers:该文件中的所有用户不能访问FTP服务器,相当于ftp的黑名单

  2)user_list:该文件中的用户是否可以登录取决于/etc/vsftpd/vsftpd.conf文件中的配置项:userlist_deny=YES/NO;如果是YES,则文件中用户不可登录;如果为NO,则可登录。

  3)vsftpd.conf

作用范围 配置项 说明

匿名用户 anonymous_enable=YES 是否允许匿名用户访问

虚拟用户 anon_upload_enable=YES 是否允许匿名用户上传

anon_mkdir_write_enable=YES 是否允许匿名用户创建目录

anon_umask=022 设置匿名用户上传文件的权限掩码

anon_root=/var/ftp 设置你名用户根目录

anon_other_write_enable=YES 设置匿名用户的其他写入权限

本地用户 local_enable=yes 是否允许本地用户访问

local_umask=022 设置本地用户上传文件的权限掩码

local_root=$HOME 设置本地用户根目录,默认用户家目录

chroot_local_user=yes 是否禁锢宿主目录

local_max_rate=0 设置传输速度,0表示不限制

全局配置 listen=YES 设置IPv4监听,与IPv6监听不能同时开启

                         listen_ipv6=NO 设置IPv6监听

listen_address=0.0.0.0 设置监听地址

listen_port=21 设置监听端口号

write_enable=yes 设置是否开启所有写入权限

download_enable=yes 设置是否可以下载

userlist_enable=yes 设置是否启用user_list列表

userlist_deny=yes 设置user_list列表中用户是否能登录

allow_writeable_chroot=yes 允许对目录具有写入权限的用户锁定宿主目录

user_config_dir=/etc/vsftpd/vusers_dir 设置虚拟用用户权限目录

4. ftp配置:

  1)匿名访问:

    配置过程:ftp根目录:/var/ftp/

    默认安装完毕启动服务即可!

    systemctl start vsftpd

  匿名用户:ftp、anonymous,没有密码

anonymous_enable=YES

local_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

listen_ipv6=NO

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

若要匿名用户具有写入权限,需要设置本地/var/ftp/目录的权限为777

  chmod -R 777 /var/ftp/pub

访问验证:

  linux系统:

    ftp 192.168.100.1;ftp;enter

  windows系统:

    win+E-->ftp://192.168.100.1-->对话框

2)本地用户访问:

  配置过程:本地用户的家目录

useradd lisi

passwd lisi

 

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

allow_writeable_chroot=yes

验证访问:

  linux系统:

                                ftp 192.168.100.1;lisi;123

        windows系统:

                                win+E-->ftp://192.168.100.1-->对话框

3)虚拟用户访问: //非重点配置

配置过程:

  a)建立用户名与密码列表

  vim /etc/vsftpd/vusers.list

  user1

  123

  user2

  234

b)创建Berkeley数据库文件

cd /etc/vsftpd

db_load -T -t hash -f vusers.list vusers.db

chmod 600 vusers.*

c)创建虚拟用户的映射帐号并且创建访问根目录

useradd -d /var/vftproot -s /sbin/nologin vuser

chmod 755 /var/vftproot

d)为虚拟用户建立PAM认证文件

cd /etc/pam.d/

vim vsftpd.vu

#%PAM-1.0

auth       required pam_userdb.so db=/etc/vsftpd/vusers

account    required pam_userdb.so db=/etc/vsftpd/vusers

e)修改vsftpd.conf,添加虚拟用户的支持

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd.vu

tcp_wrappers=YES

allow_writeable_chroot=yes

guest_enable=yes

guest_username=vuser

f)可以为不同的虚拟用户设置不同的权限:

cd  /etc/vsftpd/

vim vsftpd.conf

user_config_dir=/etc/vsftpd/vusers_dir

systemctl restart vsftpd

mkdir /etc/vsftpd/vusers_dir

vim user1

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

touch user2

说明:以上设置可以实现,user1可下载可上传;user2只能下载;加入要设置不同虚拟用户登录后在不同的根目录中,需在权限目录中对应的文件下写入:local_root=目录

5.ftp服务器登录说名:

2xx或者3xx开头,说明操作成功,或者登录成功

4xx或者5xx开头,说明操作失败,或者登录失败

 

命令补充:

w:查看正在连接系统的用户;

last:查看登录成功但是已经断开连接的用户。

lastb:查看尝试登录系统但是没有成功的用户!

 

标签:ftp,enable,服务,用户,vsftpd,VSFTP,Linux,YES,local
来源: https://www.cnblogs.com/qhy8686/p/15325705.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有