热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

FTP服务及相关命令参数

目录1、FTP概论■ftp的概论■匿名、系统、虚拟账户2、验证方式■验证的etcpasswd和etcshadow■验证的是用户列表(用户必须是系统创建),相当于白名单

目录

  • 1、FTP概论
    • ■ ftp的概论
    • ■ 匿名、系统、虚拟账户
  • 2、验证方式
    • ■ 验证的/etc/ passwd和/etc/shadow
    • ■ 验证的是用户列表(用户必须是系统创建),相当于白名单
  • 3、FTP相关命令参数
  • 4、设置虚拟账户列表
  • 5、设置虚拟账户的配置文件


1、FTP概论

■ ftp的概论

● 用于文件的上传和下载
● ftp属于tcp,端口号: 20,21
◆ 21:控制层面,用于账户密码验证,权限的验证。
◆ 20:数据层面,用于文件上传和下载。

■ 匿名、系统、虚拟账户

● 匿名账户:登录名: ftp、 anonymous。不验证密码即可登录。 ● 系统账户:本身系统已存在的账户、密码作验证。

2、验证方式

■ 验证的/etc/ passwd和/etc/shadow


■ 验证的是用户列表(用户必须是系统创建),相当于白名单

● 默认root账户不允许登录。
● 虚拟账户:预定义的列表账户(以前系统未创建过的)

3、FTP相关命令参数

Javascript
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭核心防护
rpm - ivh /mnt/Packages/vsftpd-3.0.2- 10. el7. x86_64. rpm
匿名帐户:
chown -R ftp. ftp /var/ftp/ pub/
chmod -R 755 /var/ ftp/ pub/
ls -l /var/ftp/ pub/
vi /etc/vsftpd/vsftpd. conf
anonymous_enable=YES #允许匿名账户登录
anon_upload_enable=YES #允许匿名账户上传
anon_mkdir_write_enable=YES #允许匿名账户新建文件或目录
anon_other_write_enable=YES #允许匿名账户的其他写权限
anon_umask=022 #设置匿名账户的权限为755
local_enable=YES #允许本地账户登录
local_max_rate=102400 #本地账户限速
chroot_local_user=yes #锁定宿主目录,此配置针对本地账户
write_enable=YES #写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022 #本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #监听IPV4地址的请求
listen_ipv6=N0 #不监听IPV6地址的请求
systemctl start vsftp # 开启ftp服务

4、设置虚拟账户列表

vi /etc/vsftpd/vusers.list
mike
123
john
234
新建虚拟用户账户数据库
cd /etc/vsftpd/
db_ load -T -t hash -f vusers. list vusers.db
file vusers.db
chmod 600 /etc/vsftpd/vusers.*
ls -lh /etc/vsftpd/vusers.*
useradd -d /var/ftproot -s /sbin/nologin virtual
chmod 755 /var/ ftproot
vi /etc/pam. d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.sov db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
auth #对账户名和密码进行认证
account #对密码的有效期及密码账户的--些权限限定的认证
vi /etc/vsftpd/vsftpd.conf
anonymous enable=N0. #关闭匿名账户
local_enable=YES #启用本地账户,一定要启用,如果禁用的话,虚拟用户则无法登录了
chroot local user=YES
guest_enable=YES #启用虚拟用户
guest_username=virtual #指定虚拟用户的宿主用户
pam_service_name=vsftpd.vu #pam认证的文件
anon_world_readable_only=N0 #允许虚拟用户下载
max_clients=400 #最天连接数
max_per_ip=10 #每ip最大可登录数
listen=YES
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/vusers_dir #配置文件
write_enable=YES

5、设置虚拟账户的配置文件

mkdir /etc/vsftpd/vusers_dir/
cd /etc/vsftpd/vusers_dir/
vi mike #默认mike只可下载,不能上传,需要上传权限,需要另外指定
anon_upload_enable=YES
anon_mkdir_write_enable=YES
write_enable=YES
vi john #空文件,只有下载权限


推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 实践指南:使用Express、Create React App与MongoDB搭建React开发环境
    本文详细介绍了如何利用Express、Create React App和MongoDB构建一个高效的React应用开发环境,旨在为开发者提供一套完整的解决方案,包括环境搭建、数据模拟及前后端交互。 ... [详细]
  • 本文介绍了一个使用Spring框架和Quartz调度器实现每周定时调用Web服务获取数据的小项目。通过详细配置Spring XML文件,展示了如何设置定时任务以及解决可能遇到的自动注入问题。 ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • 本文详细介绍了Android系统的四层架构,包括应用程序层、应用框架层、库与Android运行时层以及Linux内核层,并提供了如何关闭Android系统的步骤。 ... [详细]
  • JUnit下的测试和suite
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、Advice执行顺序二、Advice在同一个Aspect中三、Advice在不同的Aspect中一、Advice执行顺序如果多个Advice和同一个JointPoint连接& ... [详细]
  • 本文详细探讨了在使用 Python 的 pip 工具安装包时遇到的 ReadTimeoutError 错误,并提供了有效的解决方案。 ... [详细]
  • 本文深入探讨了Go语言中的接口型函数,通过实例分析其灵活性和强大功能,帮助开发者更好地理解和运用这一特性。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
author-avatar
Aircraftl
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有