vsftp搭建[通俗易懂]

vsftp搭建[通俗易懂]阿里云ECS专有网络下vsftpd服务搭建

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

环境:

阿里云ECS centos 7.9

专有网络

安装:

1、先看看有没有安装,有的话卸载

rpm -qa | grep vsftpd

2、安装

yum install -y vsftpd ftp

3、ftp启停

systemctl start vsftpd
systemctl stop vsftpd
systemctl restart vsftpd
systemctl enable vsftpd

配置:

# cat /etc/vsftpd/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
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
ftpd_banner=”welcome test Ftp Server.”
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
virtual_use_local_privs=YES
guest_enable=YES
user_config_dir=/etc/vsftpd/vuser_conf
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30200
pasv_promiscuous=YES
allow_writeable_chroot=YES

虚拟用户:

1、创建对外的目录

mkdir /data/ftp_dir2
mkdir /data/ftp_dir3

2、创建系统用户并授权ftp对外目录权限

useradd -s /sbin/nologin ftpuser

给不给密码貌似都行

chown ftpuser:ftpuser /data/ftp_dir2
chown ftpuser:ftpuser /data/ftp_dir3

3、允许系统用户更改目录

# cat /etc/vsftpd/chroot_list 
ftpuser

4、创建ftp虚拟用户

格式就是上面用户名下面密码,可以有多对

# cat  /etc/vsftpd/login.txt

ftpuser2
ftppasswd2

ftpuser3
ftppasswd3

使用刚刚创建的用户名密码文件生成 .db 文件 

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db

5、修改/etc/pam.d/vsftpd文件如下

注意最后两行指定的密码文件不带 .db ,系统会自动找到该文件

# cat /etc/pam.d/vsftpd
#%PAM-1.0
session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
session    required     pam_loginuid.so
session    include      password-auth
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login

6、创建虚拟用户授权文件

先创建目录,该目录就是/etc/vsftpd/vsftpd.conf配置文件中指定的目录

/etc/vsftpd/vuser_conf

创建授权文件

# cat /etc/vsftpd/vuser_conf/ftpuser2

local_root=/data/ftp_dir2
virtual_use_local_privs=YES
guest_username=ftpuser
write_enable=YES
anon_umask=022



# cat /etc/vsftpd/vuser_conf/ftpuser3

local_root=/data/ftp_dir3
virtual_use_local_privs=YES
guest_username=ftpuser
write_enable=YES
anon_umask=022

注意:

        1、授权文件名必须和上面的虚拟用户名一致

        2、guest_username处绑定上面创建的系统用户,且该用户拥有ftp对外目录的权限才能进行读写

                           

重启vsftpd服务

使用 ftpuser2 和 ftpuser3 用户进行连接测试

某些报错:

报错1:        500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因是用户限制在ftp目录时默认不允许拥有写权限,需要增加下面配置

vim /etc/vsftpd/vsftpd.conf

# 添加一行配置 allow_writeable_chroot=YES

这个配置上面配置文件已经加入

报错2:        500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

原因是系统用户没有变更目录权限,需要增加下面配置

# cat /etc/vsftpd/chroot_list 
ftpuser

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190018.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android 4.4 源码打包下载13G

    android 4.4 源码打包下载13G

    2021年8月31日
    63
  • matlab做图像_matlab语言基础

    matlab做图像_matlab语言基础注:读取图像的路径自己设置。图像文件的查询%imfinfo()用于获取一张图片的具体信息info=imfinfo(‘E:\a_matlab_file\picture\longmao.jpg’);disp(info);图像的读取img_route=’E:\a_matlab_file\picture\***.jpg’;A=imread(img_route);set(0,’de…

    2022年9月26日
    5
  • SpringBoot面试题大汇总附答案,SpringBoot面试题-持续更新中「建议收藏」

    SpringBoot面试题大汇总附答案,SpringBoot面试题-持续更新中「建议收藏」2021最新SpringBoot面试题【附答案解析】SpringBoot面试题及答案2021,SpringBoot2021最新面试题及答案,SpringBoot面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集整理的。这些答案难免会存在一些错误,仅供大家参考。如果发现错误还望大家多多包涵,不吝赐教,谢谢~SpringBoot最新面试题大汇总,附答案其实,博主还整理了,更多大厂面试题,直接下载吧下载链接:高清172份,累计7701页大厂面试题PDF1、SpringBoo

    2022年6月7日
    48
  • java caller_callee和caller属性的区别[通俗易懂]

    java caller_callee和caller属性的区别[通俗易懂]在函数内部,有两个特殊的对象:arguments和this。arguments是一个类数组对象,用于存放传入函数中的所有参数。callee是arguments对象的属性,caller是所有函数对象的属性。calleecallee是一个指针,指向拥有当前arguments对象的函数,即返回正在执行的函数本身的引用。使用callee时要注意:1这个属性只有在函数执行时才有效2它有一个length…

    2025年7月2日
    3
  • 怎么把eclipse改成英文(java汉化包)

    eclipse汉化教程(官方汉化包,傻瓜式操作)首先到eclipseIDE中,点击‘Help’>‘Installnewsoftware…’在弹出的Install窗口中点击Add按钮Name任意填Location填https://download.eclipse.org/technology/babel/update-site/R0.18.3/2021-03/这里解释一下这个Location的出处,是在Eclipse官方的babel语言包project网页上找的,可能不是最

    2022年4月18日
    175
  • 智能点餐系统开发纪实1—–java服务器搭建,android客户端实现通信

    今天开始做的,由于是根据以前的一个小项目改的,不是从头做的,所以没法把所有代码共享,就在这里记录一下每天的思路,希望能给需要的同学抛砖引玉。思路其实就是上一篇博客的内容,完善了一下代码,实现了从android发送一句话给服务器,然后服务器把这句话再发回来。能够实现这样的正常通信,后面的工作应该不会太难。下面开始贴些主要的代码。首先是服务器端,用了两个类,一个MyServer,处理and

    2022年3月11日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号