ftp搭建之本地用户验证登录

2024-02-08 02:48

本文主要是介绍ftp搭建之本地用户验证登录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

搭建ftp服务器,用户登录方式,
环境:centos7

1.安装

rpm -qa | grep vsftpd  #验证有没有安装
yum -y install vsftpd


2. 添加一个不可登录的用户

groupadd soft
adduser -d /home/soft -g soft -s /sbin/nologin soft


   用户指定根目录为/home/soft
   
3. 对要访问的根目录赋予755权限
   
   我们设置的访问根目录是/home/soft
   

chmod 755 /home/soft/


   
4. 配置

   vi /etc/vsftpd/vsftpd.conf


   参数含义:
   
         参数                                作用
         
    listen=[YES|NO]              是否以独立运行的方式监听服务
    listen_address=IP地址        设置要监听的IP地址
    listen_port=21               设置FTP服务的监听端口
    download_enable=[YES|NO]    是否允许下载文件
    userlist_enable=[YES|NO]     设置用户列表为“允许”还是“禁止”操作
    userlist_deny=[YES|NO]      设置用户列表为“允许”还是“禁止”操作
    max_clients=0                最大客户端连接数,0为不限制
    max_per_ip=0                 同一IP地址的最大连接数,0为不限制
    anonymous_enable=[YES|NO]    是否允许匿名用户访问
    anon_upload_enable=[YES|NO]  是否允许匿名用户上传文件
    anon_umask=022               匿名用户上传文件的umask值
    anon_root=/var/ftp           匿名用户的FTP根目录
    anon_mkdir_write_enable=[YES|NO]    是否允许匿名用户创建目录
    anon_other_write_enable=[YES|NO]    是否开放匿名用户的其他写入权限(包括重命名、删除等操作权限)
    anon_max_rate=0                     匿名用户的最大传输速率(字节/秒),0为不限制
    local_enable=[YES|NO]               是否允许本地用户登录FTP
    local_umask=022                     本地用户上传文件的umask值
    local_root=/var/ftp                 本地用户的FTP根目录
    chroot_local_user=[YES|NO]          是否将用户权限禁锢在FTP目录,以确保安全
    local_max_rate=0                    本地用户最大传输速率(字节/秒),0为不限制
    
    配置如下:
    
         参数                        作用
         
    anonymous_enable=NO    禁止匿名访问模式
    local_enable=YES    允许本地用户模式
    write_enable=YES    设置可写权限
    local_umask=022    本地用户模式创建文件的umask值
    userlist_deny=YES    启用“禁止用户名单”,名单文件为ftpusers和user_list
    userlist_enable=YES    开启用户作用名单文件功能
    allow_writeable_chroot=YES    允许用户可写
    chroot_local_user=YES
    local_root=/home/soft
    listen=NO
    listen_ipv6=YES
   
5. 开放21端口或者关闭防火墙
   
   开放21端口:

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

#配置立即生效:
         

firewall-cmd --reload   


   或者直接关闭防火墙:

systemctl stop firewalld.service
systemctl disable firewalld.service

6.关闭selinux

vi /etc/sysconfig/selinux


      将设置为SELINUX=disabled
 

或者执行:

setsebool -P ftpd_full_access=on


7. 启动服务

systemctl restart vsftpd
systemctl status vsftpd


   设置开机自启动
 

 systemctl enable vsftpd


   
   
8. 访问

   ftp://ip
   浏览器或者文件浏览器访问
   可以访问则成功!
 

这篇关于ftp搭建之本地用户验证登录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/689694

相关文章

Security OAuth2 单点登录流程

单点登录(英语:Single sign-on,缩写为 SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一注销(single sign-off)就是指

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

C++ | Leetcode C++题解之第393题UTF-8编码验证

题目: 题解: class Solution {public:static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num &

C语言 | Leetcode C语言题解之第393题UTF-8编码验证

题目: 题解: static const int MASK1 = 1 << 7;static const int MASK2 = (1 << 7) + (1 << 6);bool isValid(int num) {return (num & MASK2) == MASK1;}int getBytes(int num) {if ((num & MASK1) == 0) {return

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

easyui 验证下拉菜单select

validatebox.js中添加以下方法: selectRequired: {validator: function (value) {if (value == "" || value.indexOf('请选择') >= 0 || value.indexOf('全部') >= 0) {return false;}else {return true;}},message: '该下拉框为必选项'}