热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Linux系统安装vsftp服务

在工作中,FTP是非常重要的,今天记录下用VSFTP创建一个简单可用的FTP服务器。第一步创建帐号[root@linuxvsftpd]#useradd-s/sbin/nologinwujie[root@linuxvsftpd]#passwdwujieChangingpasswordforuserwujie.NewUNI
在工作中,FTP是非常重要的,今天记录下用VSFTP创建一个简单可用的FTP服务器。
第一步 创建帐号
[root@linux vsftpd]# useradd -s /sbin/nologin wujie
[root@linux vsftpd]# passwd wujie
Changing password for user wujie.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
OK,这样,FTP的用户主目录就是默认的 /home/wujie 目录了,如果想要修改这个目录,可以在创建帐号的时候修改,也可以在创建好后修改,命令如下:
[root@linux vsftpd]# usermod -d /var wujie
这样wujie用户的主目录就变成了 /var 这个目录
第二步 安装VSFTP
安装非常的简单,这里简单介绍下,用yum或者rpm安装vsftp.rpm,在系统光盘里都有,网上也可以下到。
第三步 配置VSFTP
1 在安装好VSFTP后,配置文件在 /etc/vsftpd 这个目录,配置文件为: vsftpd.conf
2 其实修改的内容还是蛮多的,但是我这里为了创建简单的,就不搞那么复杂了,主要修改内如如下:
这句是把匿名登陆关闭,我们是要用帐号访问的
anonymous_enable=NO
在大概94行左右,把 chroot_list_enable=YES 这句的注释去了,表示限制FTP登陆打开
在它下面两行,把 chroot_list_file=/etc/vsftpd/chroot_list 注释也去了,表示要限制的帐号在chroot_list 中(除了限制帐号,其它帐号都登录不了)
3 不允许用户删除文件,在配置文件中添加如下命令:
cmds_allowed=ABOR,APPE,CWD,CDUP,FEAT,HELP,LIST,MKD,MDTM,MODE,NLIST,PASS,PASV,PWD,QUIT,RETR,REST,RNFR,RNTO,STAT,STOR,STRU,TYPE,USER
4 然后编辑chroot_list 把需要限制的帐号写入
5.注意: ftp目录权限一定要 chroot_list 中的用户的权限
修改默认目录: 添加这句 local_root=/var/www/html
6 [root@linux vsftpd]# service vsftpd start
为 vsftpd 启动 vsftpd:[确定]
到此为止一个简单的FTP服务器就搭建完成了。
第四步 配合IPTABLES
1 要能通过防火墙,必须开启 20 和 21 两个端口。如果还不行的话,用 lsmod 命令看看加载的内核模块有没有ip_nat_ftp和ip_conntrack_ftp 如果没有的话,执行如下命令: modprobe ip_nat_ftp
2 然后在 /etc/sysconfig/iptables 文件中加入
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
3 在 /etc/sysconfig/iptables-config 文件中加入(或者修改):
IPTABLES_MODULES="ip_nat_ftp"
4 保存,重启iptables,搞定。

附录:cmds_allowed用户权限
# ABOR - abort a file transfer 取消文件传输
# CWD - change working directory 更改目录
# DELE - delete a remote file 删除文件
# LIST - list remote files 列目录
# MDTM - return the modification time of a file 返回文件的更新时间
# MKD - make a remote directory 新建文件夹
# NLST - name list of remote directory
# PASS - send password
# PASV - enter passive mode
# PORT - open a data port 打开一个传输端口
# PWD - print working directory 显示当前工作目录
# QUIT - terminate the connection 退出
# RETR - retrieve a remote file 下载文件
# RMD - remove a remote directory
# RNFR - rename from
# RNTO - rename to
# SITE - site-specific commands
# SIZE - return the size of a file 返回文件大小
# STOR - store a file on the remote host 上传文件
# TYPE - set transfer type
# USER - send username
#ACCT
#APPE
#CDUP
#HELP
#MODE
#NOOP
#REIN
#STAT
#STOU
#STRU
#SYST


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
author-avatar
卢军好2602912493
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有