参考网站:https://blog.csdn.net/lianghongge/article/details/78209445

============================================================

https://www.cnblogs.com/Confession/p/6813227.html    (比较全)

https://blog.csdn.net/m0_37355951/article/details/76854141     (阿里云搭建FTP服务器)

新建总虚拟账户virtusers,

修改用户家目录  usermod -d /var/ftp/ virtusers

修改/opt/vsftp/passwd

需要 生成虚拟用户数据文件

db_load -T -t hash -f   /opt/vsftp/passwd  /opt/vsftp/passwd.db

需要注意的是,以后对虚拟用户的增删操作完之后需要再次执行上述命令,使其生成新的数据文件

然后重新启动vsftpd

=============================================================

限制用户登录权限:         https://blog.csdn.net/zgy621101/article/details/78902020

userlist_enable=YES

然后把需要限制的用户添加进文件/etc/vsftpd/user_list当中去。

=============================================================

新建用户并限制访问的目录文件夹:

https://blog.csdn.net/dxmgood/article/details/51895574

https://zhidao.baidu.com/question/2205911713706365028.html       (好像说反了,没在文件 /etc/vsftpd/chroot_list里面设置的用户名才会限制访问目录)

(1)用户ftptest为useradd创建的用户,相关设置,限制访问默认目录,及访问的默认目录

chroot_local_user=YES         #(修改为NO以后,虚拟账户就不限制切换上下级目录了)
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
local_root=/var/ftp/pub
anon_root=/var/ftp/pub

[root@smcweb01 ~]# cat /etc/vsftpd/chroot_list
user2
[root@smcweb01 ~]#

(2)虚拟用户test,相关配置,及访问的默认目录

在这个文件内设置:/etc/vsftpd/vconf/test

新建的虚拟用户存放的文件地址  : /opt/vsftp/passwd

设置PAM验证文件,并制定虚拟用户数据库文件进行读取:     /etc/pam.d/vsftpd   添加以下两行

#####64位系统配置
auth sufficient /lib64/security/pam_userdb.so db=/opt/vsftp/passwd
account sufficient /lib64/security/pam_userdb.so db=/opt/vsftp/passwd

=============================================================

我的vsftpd.conf设置内容如下:::::::

# grep -v '^#' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=3600
nopriv_user=vsftpd
async_abor_enable=YES
ftpd_banner=Welcome to blah FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
allow_writeable_chroot=YES
local_root=/var/ftp/pub
anon_root=/var/ftp/pub
ls_recurse_enable=NO
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

guest_enable=YES
guest_username=virtusers
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vconf
reverse_lookup_enable=NO

=============================================================

CentOS7搭建FTP服务器

以下操作均要以ROOT身份进行。

一、设置用户账号。

#创建用于登陆的FTP的账号

useradd myftp -s /sbin/nologin -U

#修改myftp密码

passwd myftp

二、修改vsftpd的主要配置文件。

#修改/etc/vsftpd/vsftpd.conf 文件,确认以下内容是否一致:

#允许用账号密码的方式登陆

local_enable=YES

#允许文件的写入操作

write_enable=YES

#连接的超时时间设定

idle_session_timeout=600

data_connection_timeout=120

#所有登陆的用户都作为nobody身份,更安全。

nopriv_user=nobody

#以下内容默认是没有,添加进vsftpd.conf 文件的最后

#使用被动模式连接
pasv_enable=YES

#被动模式超时时间
accept_timeout=60

#被动模式所使用的端口范围
pasv_min_port=65400
pasv_max_port=65410

#启动并指定开放的用户列表
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#监听的端口
listen_port=21
listen=YES
#开放用户账号登陆
guest_enable=YES
guest_username=ftp

#限制用户的上传下载速度,0为不限制,单位: bytes/秒
local_max_rate=0

#限制登陆用户的到默认的位置,默认为/var/ftp文件夹
chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#进入文件夹后提示的欢迎内容,如果没有/etc/vsftpd/welcome.txt这个文件就自己新建一个,随便写点东西进去。
dirmessage_enable=YES
banner_file=/etc/vsftpd/welcome.txt
#使用pam托管的账号
pam_service_name=vsftpd
#允许上传等写入操作

anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

三、创建必须的文件

检查下/etc/vsftpd/目录里是否有以下3个文件,如果没有就建个空的。

chroot_list 这个一般是没有的,建个空的吧

user_list 这个一般默认就存在,里面存放允许登陆的账号,一行一个账号名,如果不想让某个账号登陆ftp,那么这里就别填那个账号进来。

ftpusers 这个一般默认就存在,里面存放禁止登陆的账号,一行一个账号名。

PS:user_list和ftpusers功能差不多的,可以只用user_list 这个来管理,把 ftpusers 里面内容都删掉。

四、允许第一步创建的账号名myftp登陆。

在/etc/vsftpd/user_list 添加一行内容是myftp

查验一下/etc/vsftpd/ftpusers是否有myftp,如果有,就要删掉,不然就被禁止登陆了。

五、创建用于ftp的文件夹

mkdir -p /var/ftp

六、创建允许ftp用户操作的文件夹

mkdir -p /var/ftp/share

chmod 777 /var/ftp/share

七、防火墙开放相关的端口,并重启防火墙,输入以下指令,一行一行运行:

firewall-cmd --permanent --zone=public --add-port=20/tcp

firewall-cmd --permanent --zone=public --add-port=21/tcp

firewall-cmd --permanent --zone=public --add-port=65400-65410/tcp

firewall-cmd --permanent --zone=trusted --add-port=20/tcp

firewall-cmd --permanent --zone=trusted --add-port=21/tcp

firewall-cmd --permanent --zone=trusted --add-port=65400-65410/tcp

systemctl restart firewalld.service

#可以通过以下指定查看端口是否已添加进去

firewall-cmd --zone=public --list-ports

firewall-cmd --zone=trusted --list-ports

八、selinux开放相关权限,并重启selinux:

setsebool -P ftpd_full_access 1

setenforce 0

setenforce 1

#可以通过以下指令查看ftpd_full_access 是否为ON状态

getsebool -a|grep
ftpd_full_access

九、启动ftp服务

systemctl restart vsftpd.service

#如果想开机启动ftp还要运行以下指令:

systemctl enable vsftpd.service

十、现在可以尝试用ftp账号登陆了,可以参考下图,登陆时间可能需要几秒,如果登陆不了就重启服务器再试下吧。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

更改ftp访问的共享文件夹

参考网站:https://www.cnblogs.com/huangye-dream/p/3454595.html

修改ftp的根目录只要修改/etc/vsftpd/vsftpd.conf文件即可:

加入如下几行:

local_root=/var/www/html
chroot_local_user=YES
anon_root=/var/www/html

注:local_root 针对系统用户;anon_root 针对匿名用户。

重新启动服务:

service vsftpd restart

任何一个用户ftp登录到这个服务器上都会chroot到/var/www/html目录下。

=======================================================

问题:用户不能上传文件?注意修改文件目录权限 chmod 777 就可以了

=======================================================

centos7配置vsftpd服务器的更多相关文章

  1. CentOS7配置FTP服务器增强版~(零基础学会FTP配置)

    ps:原文不知出处,但是原文也不能正常启动,这里做了一些修改!如果能正常配置请在下方留言让更多的人看到,因为之前我本人照着网上的教程安装卸载了十多次也无法正常使用,不希望后面的兄弟继续浪费时间,如果不 ...

  2. (转载)在vmware中简单配置vsftpd服务器

    (转载)http://blog.chinaunix.net/uid-7453676-id-2625582.html 分类: LINUX 一 试验的前期环境搭建   系统环境:Fedora 2   软件 ...

  3. centOS7配置DNS服务器

    世上无难事只怕有心人,遇事千万千万不要抵触,消极的情绪是失败之母,一点一滴,踏踏实实是通往幸福的捷径. 历经激动,受挫,抵触和鼓励以及征服,终于配好了让我欢喜让我忧的dns.在这里记录下来,希望能够给 ...

  4. CentOS7配置VSFTP服务器

    [1] 安装VSFTP [root@localhost ~]# yum -y install vsftpd [2] 配置vsftpd.conf文件 [root@localhost ~]# vi /et ...

  5. centos7 配置ftp服务器搭建(匿名访问,以及本地登录)

    大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release ...

  6. CentOS7 配置FTP服务器

    1.安装vsftpd yum -y install vsftpd 2.在firewalld中添加规则 为确保成功 先启动firewalld服务 systemctl enable firewalld s ...

  7. 腾讯云下的CentOS7 配置 FTP 服务器

    第一步安装vsftp * yum -y install vsftpd 第二步配置ftp文件 要实现用户不仅可以下载ftp上的内容 还可以删改增加文件到ftp服务器 需要给ftp的目录赋予写入权限 1. ...

  8. centos7配置vsftpd

    ftp服务器192.168.1.198 1.关闭selinux.关闭防火墙 2.yum -y install vsftpd* 3.开启服务,通过浏览器访问ftp://192.168.1.198,匿名用 ...

  9. centos7 配置 ftp 服务器(本地用户)

    2021-09-02 1. 安装 # 安装 vsftpd yum -y install vsftpd 2. 启动服务并添加到开机自启 # 启动 vsftpd systemctl start vsftp ...

随机推荐

  1. DDD领域驱动设计 ---- 系列文章

    C#进阶系列——DDD领域驱动设计初探(七):Web层的搭建 C#进阶系列——DDD领域驱动设计初探(六):领域服务 C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用 C#进阶系 ...

  2. JQuery 在网页中查询

    最近遇到客户的一个需求,要在网页中添加一个Search 功能,其实对于网页的搜索,Ctrl+F,真的是非常足够了,但是客户的需求,不得不做,这里就做了个关于Jquery Search function ...

  3. ThinkPHP5 控制器中怎么实现 where id = 2 or id = 3 这个查询语句?

    使用 whereOr whereIn();  (来自 ★C̶r̶a̶y̶o̶n-杭州 ) 为什么不用数组啊,array('eq', array(1,2),'or') (来自 supler)

  4. [C++] Win32 API 的多线程Timer管理Trick - 利用PostThreadMessage

    有时候我们需要在程序里定时地完成一些任务, 比如5秒后发送, 10秒后弹窗之类的操作. 这就需要一个类似于定时器的组件. 这个组件在windows.h里被称为Timer. 设置一个Timer 第一步当 ...

  5. MVC ASP.NET MVC各个版本的区别 (转)

    Net Framework4.5是不支持安装在window server 2003上,如非装请用net framework4.0; MVC1.0 publsh time:2008 IDEV:VS200 ...

  6. 组件之间的通讯:vuex状态管理,state,getters,mutations,actons的简单使用(一)

    之前的文章中讲过,组件之间的通讯我们可以用$children.$parent.$refs.props.data... 但问题来了,假如项目特别大,组件之间的通讯可能会变得十分复杂... 这个时候了我们 ...

  7. Android 禁止系统进入深度休眠

    在Linux系统中,wake_lock是一直锁机制,只要有驱动占用这个锁,系统就不会进入深度休眠. 获取此锁的方法有两种: 1.在adb中通过指令获取wake_lock,系统就不会进入深度休眠 ech ...

  8. ML(4.3): R Random Forest

    随机森林模型是一种数据挖掘模型,常用于进行分类预测.随机森林模型包含多个树形分类器,预测结果由多个分类器投票得出. 决策树相当于一个大师,通过自己在数据集中学到的知识对于新的数据进行分类.俗话说得好, ...

  9. 惠普(HP)战66 Pro G1 - 批量GHOST[Win10专业版 ] (UEFI)

    笔记本型号:惠普(HP)战66 Pro G1 14英寸轻薄笔记本电脑(i5-8250U 8G 256G PCIe SSD+500G 标压MX150 2G独显)银色 需求: 公司一共采购10台笔记本,需 ...

  10. Python数据结构算法

    Python内置了许多非常有用的数据结构,比如列表(list),集合(set)以及字典(dictionary).就绝大部分情况而言,我们可以直接使用这些数据结构.但是,我们通常还要考虑比如搜索,排序, ...