前言

用户名密码方式访问 FTP。

简介

场景:ftp 和 www web 服务器相结合

公司内部现在有一台 FTP 和 WEB 服务器,FTP 的功能主要用于维护公司的网站内容,包括上传文件、创建目录、更新网页等等。公司现有两个部门负责维护任务,他们分别使用 team1 和 team2 帐号进行管理。先要求仅允许 team1 和 team2 帐号登录 FTP 服务器,但不能登录本地系统,并 将两个帐号的根目录限制为/var/www/html,不能进入该目录以外的任何目录。

分析:

FTP和web服务器常结合使用,方便进行管理。为了保证安全,本地用户可以登录系统。禁用匿名账号,team1和team2不容许登录系统。使用chroot功能锁定team1和team2的根目录为/var/www/html。若需要修改目录还要加write权限。此外FTP还可以使用加密传输。

用户名密码方式访问 FTP

1.创部门管理用户 team1 和 team2

[root@tudou63 vsftpd]# useradd -s /sbin/nologin team1 && echo 123456 |passwd --stdin team1

[root@tudou63 vsftpd]# useradd -s /sbin/nologin team2 && echo 123456 |passwd --stdin team2

2.修改vsftpd的配置文件

[root@tudou63 vsftpd]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名用户登录

local_enable=YES #允许本地用户登录

local_root=/var/www/html #设置本地用户的根目录为 /var/www/html。

chroot_list_enable=YES #开启 chroot 功能。

chroot_list_file=/etc/vsftpd/chroot_list #设置锁定用户在根目录中的列表文件。此文 件存放要锁定的用户名。

allow_writeable_chroot=YES #允许锁定的用户有写的权限。

3.将部门用户team1 和 team2锁定到/etc/vsftpd/chroot_list

[root@tudou63 vsftpd]# vim /etc/vsftpd/chroot_list
team1
team2

4.测试

[root@tudou63 vsftpd]# chmod -R o+w /var/www/html/ #给team1和team2添加写权限

[root@tudou63 vsftpd]#cp /etc/passwd /var/www/html

使用filezilla连接测试:

vsftpd使用 SSL 证书加密数据传输

1.使用 OpenSSL 生成自签证书

[root@tudou63 ~]# cd /etc/vsftpd/
[root@tudou63 vsftpd]# ls
chroot_list ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
[root@tudou63 vsftpd]# openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem -days 3650

2.修改配置文件,支持 SSL数据传输

[root@tudou63 vsftpd]# vim /etc/vsftpd/vsftpd.conf
ssl_enable=YES #启用 SSL 支持。
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES #这四行 force 表示强制匿名用户使用加密登陆和数据传输。
ssl_tlsv1=YES #指定 vsftpd 支持 TLS v1。
ssl_sslv2=YES #指定 vsftpd 支持 SSL v2。
ssl_sslv3=YES #指定 vsftpd 支持 SSL v3。
require_ssl_reuse=NO #不重用 SSL 会话,安全配置项 。
ssl_ciphers=HIGH #允许用于加密 SSL 连接的 SSL 算法,这可以极大地限制那些尝试发现使用存在缺陷的特定算法的攻击者。
rsa_cert_file=/etc/vsftpd/.sslkey/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/.sslkey/vsftpd.pem #定义 SSL 证书和密钥文件的位置。

3.测试连接

[root@tudou63 vsftpd]# systemctl restart vsftpd

测试连接:

总结

1.遇到的问题:

​ 无法连接到vsftp服务器,一直提示530登陆失败,后多次检查,发现是/etc/shells的问题,vsftp登陆前会查找/etc/shells是否有对应的shells,若没有,则没法登陆。

解决办法:

在/etc/shells文件里面添加用户的shell(解释器),如/sbin/nologin

[root@tudou63 ~]# vim /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/sbin/nologin

注:

原因:vsftpd默认会检查用户的shell,如果用户的shell在/etc/shells没有记录,则无法登陆ftp

2.在配置/etc/vsftpd/vsftpd.conf的配置文件中,每个配置项后不要加注释,而且配置项后 也不能有多余的空格,否则启动报错。

用户名密码方式访问 FTP相关推荐

  1. sasl java_javaSASL_SSL帐号密码方式访问kafka

    java SASL_SSL 帐号密码 方式访问 kafka Producer Java Sample java生产者: Properties props = new Properties(); pro ...

  2. sasl java_java SASL_SSL 帐号密码 方式访问 kafka

    java SASL_SSL 帐号密码 方式访问 kafka Producer Java Sample java生产者: Properties props = new Properties(); pro ...

  3. linux系统查看FTP用户名密码,Linux的FTP的三种登录方式:

    Linux的FTP的三种登录方式: 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous. 本地用户登录:使用系 ...

  4. nginx配置访问密码,让用户输入用户名密码才能访问

    如果我们在 nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问,那么我们可以设置访问认证.只有让用户输入正确的用户名和密码才能正常访问.效果如下: 在 ngi ...

  5. Nginx之让用户通过用户名密码认证访问web站点

    有时我们会有这么一种需求,就是你的网站并不想提供一个公共的访问或者某些页面不希望公开,我们希望的是某些特定的客户端可以访问. 那么我们可以在访问时要求进行身份认证,就如给你自己的家门加一把锁,以拒绝那 ...

  6. k8s登录_用户名密码方式登录Kubernetes-Dashboard

    背景:默认安装完k8s集群和Dashboard之后都是使用token登录的,这样使用起来不是很方便,每次登录还要找到token才能登录. 本片文章使用用户和密码方式进行登录! 环境介绍 集群环境    ...

  7. EMQX服务器搭建系列四:配置EMQX服务器用户名/密码方式登录

    系统:ubuntu 18.04server lts EMQX版本:v4.0.6 停止服务 emqx stop 编辑用户名密码配置文件 vim ./etc/emqx/plugins/emqx_auth_ ...

  8. 【kafka专栏】安全认证之SASL_PLAINTEXT用户名密码方式

    文章目录 一.服务端配置 1.1.修改`server.properties` 1.2.配置用户名密码 1.3.修改启动脚本 二.模拟客户端shell脚本调整 2.1. 脚本调整 2.2.脚本测试 三. ...

  9. Windows系统实现共享文件夹——通过无账号密码方式访问

    一.实现效果 在日常的工作中,我们需要给一些软件或连接公司网络的所有人员共享一些通用的资料内容,并且我们的系统是Windows的,且不想设置任何的账号密码,只要是连接了公司网络的成员都可以访问读取这些 ...

最新文章

  1. Cocos2d-x 3.0 rc0中加入附加项目,解决无法打开包括文件:“extensions/ExtensionMacros.h”...
  2. msdn关于Visual C++ 编译器选项的说明
  3. git中的删除命令操作
  4. 【算法系列之万字总结常用的查找算法,持续补充更新中】
  5. java ee 下版本_将旧版本从Java EE 5减少到7
  6. 推荐系统和搜索引擎的关系
  7. LVM逻辑卷管理学习
  8. java基础-final
  9. SW转发与MAC地址表
  10. 设有单总线结构计算机的cpu数据通路,中央处理器——数据通路之单总线结构
  11. 放大电路中反馈及类型的判断
  12. iPhone5充不进电
  13. Vue3中数据更新函数effect的实现
  14. python图片截取斜四边形_python shapely.geometry.polygon任意两个四边形的IOU计算实例...
  15. 移动应用性能测试简介
  16. 虚拟研讨会:如何设计好的RESTful API?
  17. ios App支付宝开放平台申请支付宝支付具体步骤
  18. 白话讲懂wait notify 和park unpark的使用示例和区别
  19. 不错的在线印章生成器网站
  20. at24c02系列和at24c256系列的比较

热门文章

  1. 子网号能不能为全0或全1
  2. Java复习整理 01
  3. CAD2007安装的一些问题
  4. spring boot SLF4J: Failed to load class “org.slf4j.impl.StaticLoggerBinder“
  5. 精细化运营管理需要的4种核心能力
  6. java实现网上在线支付--13java在线支付所有源码
  7. 电脑内网外网同时访问-解决办法
  8. 雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
  9. 29给灯加文本渲染组件和盒装碰撞体组件
  10. Artifactory搭建本地仓库