`

Linux Ftp vsftpd

 
阅读更多

Linux FTP操作

1.运行rpm -qa | grep vsftpd查看ftp是否已经安装
2.如果未安装,使用yum  -y  install vsftpd 安装(ubuntu 下使用apt-get install vsftpd)
3.运行chkconfig --list vsftpd,检查ftp是否开机启动
 显示:vsftpd     0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
 如果未开机启动可以运行chkconfig --level 35 vsftpd on设置ftp开机启动。
 0~6代表等级,等级指定该系统服务要在哪一个执行等级中开启或关毕。
  等级0表示:表示关机
  等级1表示:单用户模式
  等级2表示:无网络连接的多用户命令行模式
  等级3表示:有网络连接的多用户命令行模式
  等级4表示:不可用
  等级5表示:带图形界面的多用户模式
  等级6表示:重新启动

 chkconfig --list可以查看所有服务
4.运行service vsftpd start启动FTP
  运行service vsftpd stop停止FTP
  运行service vsftpd restart重启FTP
  运行service vsftpd status查看FTP状态

5.运行vi /etc/vsftpd/vsftpd.conf设置FTP
 如: anonymous_enable=NO
  ocal_root=/home/ftp

 

 

看鸟哥私房菜服务器架设篇第三版

 

1.查看日志
/var/log/
2.限制用户活动目录
change root,简称chroot
3.FTP使用到的端口
命令通道:21,数据传输:20

 

 

文件
1./etc/vsftpd/vsftpd.conf
配置FTP
man vsftpd.conf/man 5 vsftpd.conf
查看详细配置
2./etc/pam.d/vsftpd
使用PAM模块相关配置
3./etc/vsftpd/ftpusers
设置无法登录FTP的用户,/etc/pam.d/vsftpd中设定的就是这个文件
4./etc/vsftpd/user_list
设置用户是否可以访问FTP,可以访问或不可以访问由userlist_deny={YES/NO}设定
userlist_enable设置开关
5./etc/vsftpd/chroot_list
文件默认不存在。设置用户chroot在某目录下。
通过chroot_list_enable/chroot_list_file两个参数设置
6./usr/sbin/vsftpd
vsftpd的执行文件
7.anon_root=/home/ftp
修改匿名用户登录目录,默认/var/ftp
8.ocal_root=/home/ftp
修改本地用户登录目录,默认/root

 

 

服务器环境相关设置
1.connect_from_port_20=YES(NO)
ftp数据传输端口
Default: NO
2.listen_port=21
ftp命令通道端口
Default: 21
3.dirmessage_enable=YES(NO)
显示用户进入的目录要注意的内容,可以通过message_file修改
Default: NO
4.message_file=.message
当dirmessage_enable=YES时可以让vsftpd显示该档案讯息
Default: .message
5.listen=YES(NO)
设定为YES表示vsftpd以standalone的方式启动
Default: NO
6.pasv_enable=YES(NO)
是否支持数据流的被动式联机模式
Default: YES
7.use_localtime=YES(NO)
是否使用本地时间
Default: NO
8.write_enable=YES(NO)
是否允许用户上传数据
Default: NO
9.connect_timeout=60
单位是秒,主动式联机模式下,发出连接信号60秒内没有响应则断线
Default: 60
10.accept_timeout=60
被动式联机模式下,服务器启用端口等待60无回应则断线
Default: 60
11.data_connection_timeout=300
成功建立连接,300秒内容无法顺利完成数据传送,客户端联机会被vsftpd强制剔除
Default: 300
12.idle_session_timeout=300
300秒内无命令动作,强制脱机
Default: 300
13.max_clients=0
如果vsftpd以standalone方式启动,设定同一时间内的最大连接数
Default: 0 (unlimited)
14.max_per_ip=0
如果vsftpd以standalone方式启动,设定同一IP在同一时间内的最大连接数
Default: 0 (unlimited)
15.pasv_min_port=0/pasv_max_port=0
被动模式下,如想使用65400到65410这11个端口,设置pasv_min_port=65400/pasv_max_port=65410
Default: 0 (use any port)
16.ftpd_banner=说明文字
连接FTP时,在客户端软件上显示的说明文字。可以使用banner_file设定值来取代
Default: (none - default vsftpd banner is displayed)
17.banner_file=/path/file
同16

 

 

本地用户相关设置
1.guest_enable=YES(NO)
值为YES时,任何用户都被认为是guest
Default: NO
2.guest_username=ftp
guest_enable=YES时生效,指定访客身份
Default: ftp
3.local_enable=YES(NO)
值为YES时,/etc/passwd内的账号才能以本地用户的方式登录FTP服务器
Default: NO
4.local_max_rate=0
本地用户的传输速度限制,单位为bytes/second,0为不限制
Default: 0 (unlimited)
5.chroot_local_user=YES(NO)
是否将用户限制在特定目录之内
Default: NO
6.chroot_list_enable=YES(NO)
是否启用chroot写入列表的功能
Default: NO
7.chroot_list_file=/etc/vsftpd/chroot_list
如果chroot_list_enable=YES,此文件生效
Default: /etc/vsftpd.chroot_list
8.userlist_enable=YES(NO)
阻止用户登录
Default: NO
9.userlist_deny=YES(NO)
当userlist_enable=YES时才会生效,或值为YES,则当使用者账号被列入userlist_file时,无法登入FTP
Default: YES
10.userlist_file=/etc/vsftpd/user_list
阻止登录FTP的用户列表
Default: /etc/vsftpd/user_list

 

 

匿名用户相关设置
1.anonymous_enable=YES(NO)
是否允许匿名用户登入FTP,其他相关设置必须在此设置为YES时才会生效
Default: YES
2.anon_world_readable_only=YES(NO)
匿名用户只能下载可读
Default: YES
3.anon_other_write_enable=YES(NO)
是否允许匿名用户除了写入之外的权限。包括删除、修改服务器上的文件及文件名等。
Default: NO
4.anon_mkdir_write_enable=YES(NO)
匿名用户是否可以建立目录,如果为YES,anon_other_write_enable必须为YES
Default: NO
5.anon_upload_enable=YES(NO)
匿名用户是否可以上传数据,如果为YES,anon_other_write_enable必须为YES
Default: NO
6.deny_email_enable=YES(NO)
匿名用户使用Email登录时,可以设置某此Email无法登入,与banned_email_file一起使用
Default: NO
7.banned_email_file=/etc/vsftpd/banned_emails
配合6,输入email地址
Default: /etc/vsftpd/banned_emails
8.no_anon_password=YES(NO)
当设置为YES时,匿名用户将会略过Email检验
Default: NO
9.anon_max_rate=0
匿名用户的传输速度,单位bytes/second,0为不限制
Default: 0 (unlimited)
10.anon_umask=077
匿名用户上传的文件的权限,如果是077,上传文件的权限是-rw-------
Default: 077

 

 

系统安全相关设置
1.ascii_download_enable=YES(NO)
设置为YES,客户端优先使用ASCII格式下载文件
Default: NO
2.ascii_upload_enable=YES(NO)
设置为YES,客户端优先使用ASCII格式上传文件
Default: NO
3.one_process_model=YES(NO)
设置为YES,每个连接都会拥有一个Process
Default: NO
4.tcp_wrappers=YES(NO)
支持TCP Wrappers的防火墙机制,利用/etc/hosts.[allow|deny]作为基础防火墙
Default: NO
5.xferlog_enable=YES(NO)
设置为YES,会记录上传下载日志到xferlog_file设置的文件中
Default: NO (but the sample config file enables it)
6.xferlog_file=/var/log/xferlog
如果xferlog_enable为YES,记录上传下载日志
Default: /var/log/xferlog
7.xferlog_std_format=YES(NO)
是否设置为wu-ftp的登录格式
Default: NO
8.dual_log_enable=YES(NO)
除了/var/log/xferlog的wu-ftp格式登录日志,还可以设置具有vsftpd的独特登录日志格式
Default: NO
9.vsftpd_log_file=/var/log/vsftpd.log
具有vsftpd的独特登录日志格式
Default: /var/log/vsftpd.log
10.nopriv_user=nobody
vsftpd预设以nobody为服务执行者的权限
Default: nobody
11.pam_service_name=vsftpd
pam模块的名称,放置在/etc/pam.d/vsftpd中
Default: ftp

 

 

vsftpd默认值
1.anonymous_enable=YES
支持匿名者登入FTP
2.local_enable=YES
支持本地本地用户登入
3.write_enable=YES
允许用户上传数据
4.local_umask=022
建立新目录(755)和文件(644)的权限
5.#anon_upload_enable=YES
6.#anon_mkdir_write_enable=YES
7.dirmessage_enable=YES
若目录下有.message则会显示该文件的内容
8.xferlog_enable=YES
记录登录日志到xferlog_file参数中,默认为/var/log/xferlog
9.connect_from_port_20=YES
支持主动式联机功能
10.chown_uploads=YES
11.#chown_username=whoever
12.xferlog_file=/var/log/vsftpd.log
13.xferlog_std_format=YES
14.#idle_session_timeout=600
15.#data_connection_timeout=120
16.#nopriv_user=ftpsecure
17.#async_abor_enable=YES
18.ascii_upload_enable=YES
19.ascii_download_enable=YES
20.#ftpd_banner=Welcome to blah FTP service.
21.#deny_email_enable=YES
22.#banned_email_file=/etc/vsftpd/banned_emails
23.#chroot_local_user=YES
24.#chroot_list_enable=YES
25.#chroot_list_file=/etc/vsftpd/chroot_list
26.#ls_recurse_enable=YES
27.listen=YES
28.#listen_ipv6=YES
29.pam_service_name=vsftpd
30.userlist_enable=NO
31.#tcp_wrappers=YES
32.userlist_deny=NO
33.local_root=/var/ftp
34.use_localtime=yes
增加该设置

 

 

针对本地用户的设置
预期效果:
1.使用本地时间代替GMT时间
2.用户登录时显示欢迎信息
3.系统账号不可登入FTP(UID小于50的账号)
4.本地用户可以上传、下载、建立目录及修改文件。
5.用户新增目录、文件权限为002
6.其他主机设置保留默认值

 


具体设置
1.匿名用户无法登入
anonymous_enable=NO
2.本地用户设置
local_enable=YES
write_enable=YES
local_umask=002(可写入)
userlist_enable=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list(必须存在)
3.与服务器环境相关设置
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
banner_file=/etc/vsftpd/welcome.txt(必须存在,须手动建立)
4.创建/etc/vsftpd/welcome.txt
5.建立限制系统账号登入的文件
有两个文件控制,一个是PAM模块管理,一个是vsftpd主动提供。
在默认情况下,PAM设置的文件为/etc/vsftpd/ftpusers;
vsftpd.conf的userlist_file设置的文件为/etc/vsftpd/user_list.
两个文件必须存在,且内容一样。打开/etc/passwd,将UID小于500的账号名称复制到这两个文件中。

 

 

ftp常用指令
1.help
指令说明
2.dir/ls
显示远程服务器的目录、文件列表
3.cd
切换目录
4.get filename
下载文件名为filename的文件
5.mget filename*
下载多个文件,可使用通配符*
6.put filename
上传文件名为filename的文件
7.delete file
删除file这个文件
8.mkdir dir
创建dir这个目录
9.lcd /home
切换到[本地端主机]的工作目录,会将文件下载到这个目录或从这个目录上传文件
10.passive
启动或关闭passive模式
11.binary
数据传输模式设置为binary格式
12.bye
退出FTP
13.ftp hostname [port]
连接ftp,默认为21

 

 

lftp:
1.lftp localhost
默认匿名登录
如果报错:500 OOPS: vsftpd: refusing to run with writable anonymous root
修改匿名用户文件夹权限:chmod 755 /var/ftp
2.lftp [-p port] [-u username[,password]] [host|IP]
完整登录指令,如果没有指定用户则以匿名用户登录
3.参数
-p:指定端口
-u:指定用户名及密码,密码可以不指定,后面会要求输入
-f:可以将指令写入脚本
-c:后面直接加上需要的指令

4.定时任务
4.1.新建文件autoftp.sh,内容如下:
open localhost
cd temp
lcd /mnt/hgfs/share/
mget -c -d abc*
bye
保存后,运行:lftp -f autoftp.sh即可。
4.2.修改autoftp.sh内容如下,注意引号:
lftp -c "open localhost
cd temp
lcd /mnt/hgfs/share/
mget -c -d abc*
bye"
保存后运行sh autoftp.sh,或修改文件权限直接运行
4.3.若为非匿名用户,可以将第一行修改为open -u username,password hostname
4.4.将脚本写入crontab中,就可以定时上传下载文件了

 


新增用户并设置
1.useradd -s /sbin/nologin -d /home/ftp/test test
新增用户test,并指定目录/home/ftp/test/
#限定用户不能telnet,只能FTP
usermod -s /sbin/nologin test
#用户恢复正常,/bin/bash是否存在,可通过cat /etc/shells查看
usermod -s /bin/bash test
#更改用户主目录
usermod -d /test
#删除用户
userdel -r test
2.passwd test
设置用户test的密码
3.修改/etc/vsftpd/vsftpd.conf,设置local_enable=YES,chroot_local_user=YES
限定了所有用户只能在FTP主目录及其子目录
下面限制test用户只能访问/home/ftp/test/目录
在vsftpd.conf中添加user_config_dir=/etc/vsftpd/userconfig
创建目录userconfig,并在其下添加相应用户的配置信息,文件名即用户名。
如 vim test
添加local_root=/home/ftp/test/则用户test只能访问该目录
如果在该文件中添加write_enable=NO,则用户不能上传文件。
即可以给每个用户定制
如果所有用户都无法上传,修改FTP目录的权限
chmod -R 777 /home/ftp
4.允许某个用户访问其他目录
3.1修改/etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
3.2编辑chroot_list,一个用户一行


 

分享到:
评论

相关推荐

    linux ftp服务器安装包(vsftpd-1.1.3-8.i386.rpm)

    Linux FTP服务器是Linux系统中用于实现文件传输服务的软件,其中`vsftpd`(Very Secure FTP Daemon)是一个广泛使用的FTP服务器程序。本教程将详细解释如何在Linux环境下使用`vsftpd-1.1.3-8.i386.rpm`安装包设置FTP...

    linux环境vsftpd安装包-vsftpd-3.0.3-32.el8.aarch64.rpm

    linux环境vsftpd安装包-vsftpd-3.0.3-32.el8.aarch64.rpm

    linux下搭建ftp服务(vsftpd).docx

    ### Linux下搭建FTP服务(vsftpd)详细教程 #### 一、前言 FTP (File Transfer Protocol) 是一种用于在网络上进行文件传输的标准协议。它主要用于实现计算机之间的文件传输功能。在Linux系统中,最常用的FTP服务器...

    Linux离线安装ftp安装包

    首先,"vsftpd"是"Very Secure FTP Daemon"的缩写,它是一个开源、免费且安全的FTP服务器软件,适用于Linux系统。其设计目标是提供高效、安全的FTP服务,支持多种配置选项,满足不同用户的需求。 离线安装FTP服务器...

    linux离线安装vsftpd包.zip

    Linux系统中的VSFTPD(Very Secure FTP Daemon)是一款流行的FTP服务器软件,因其高度的安全性和配置灵活性而被广泛使用。在没有网络连接的情况下,通过离线安装包进行VSFTPD的安装是一个常见需求,特别是对于那些...

    linux安装vsftpd配置FTP服务器

    ### Linux安装vsftpd配置FTP服务器详解 在Linux系统中,vsftpd是配置FTP服务的常用工具之一,因其安全性和稳定性而广受好评。本文将深入解析如何在Linux环境中安装与配置vsftpd,搭建FTP服务器,以及进行必要的安全...

    linux的centOS7.5(1804)版本的vsftpd+ftp客户端rpm安装包

    在本场景中,我们关注的是如何在CentOS 7.5上安装并配置VSFTPD(Very Secure FTP Daemon)服务器,以及FTP客户端。这两个组件可以通过提供的RPM(Red Hat Package Manager)安装包进行安装。 首先,VSFTPD是一个...

    linux ftp目录迁移

    - 在Linux系统中,FTP服务通常由vsftpd(very secure FTP daemon)程序提供。 - 主要配置文件位于`/etc/vsftpd/vsftpd.conf`。 - 这个文件包含了所有关于FTP服务的重要设置,包括但不限于监听端口、认证方式、...

    LinuxFTP服务器配置实验报告整理.pdf

    通过本次实验的实践和学习,我们掌握了在 Linux 下 Vsftpd 的安装和配置方法,以及了解了 FTP 服务配置文件的信息内容和功能作用,熟悉了 FTP 客户端工具的使用,同时还掌握了常见 FTP 服务器的故障排除,对 FTP ...

    linux ftp上传文件

    Linux FTP 上传文件配置 Vsftpd 支持限额配置 Linux FTP 上传文件是指通过 FTP protocol 将文件上传到 Linux 服务器上的一种方法。Vsftpd 是一个广泛使用的 FTP 服务器软件,它提供了多种配置选项来满足不同的需求...

    基于LINUX的VSFTPD服务的实现.pdf

    FTP协议在Linux操作系统中的实现通常涉及使用专门的FTP服务器软件,其中VSFTPD(Very Secure FTP Daemon)是备受推崇的一个选择。本文主要探讨如何在Linux平台上实现基于VSFTPD的FTP服务。 VSFTPD以其高安全性、...

    linux 系统vsftpd服务配置文档

    在Linux系统中,vsftpd(Very Secure FTP Daemon)是一种广泛使用的FTP服务器软件,它不仅提供了强大的安全性功能,还具备良好的性能与稳定性。本篇文章将根据提供的`/etc/vsftpd/vsftpd.conf`配置文件示例,深入...

    Linux FTP服务配置

    Linux FTP服务配置主要涉及到的是VSFTP服务器的配置,VSFTPd(Very Secure FTP Daemon)是一个安全的FTP服务器,提供对匿名用户和本地用户的不同访问权限控制。配置文件位于`/etc/vsftpd/vsftpd.conf`,其中包含了...

    linux ftp shell ftp-0.17-54.el6.x86_64.rpm

    vsftpd是Linux中最常用的FTP服务器程序之一,以其安全性、高效性和易于配置而闻名。它的主要特性包括支持匿名FTP访问、本地用户访问、SSL/TLS加密、Chroot jail(限制用户访问特定目录)以及严格的权限控制。`ftp-...

    linux vsftpd 一键配置、用户权限配置脚本

    该FTP是配置在linux环境上的vsftpd,可以为FTP用户制定任意主目录,分配任意权限,很灵活、方便,有说明ReadMe.txt 首先 确认 linux 系统的 selinux 和防火墙,这些自己百度修改吧。 包含: 一键初始化配置vsftpd ....

    linux安装vsftpd详细教程

    本文将详细介绍如何在Linux 7系统上安装与配置VSFTPD(Very Secure FTP Daemon),以便实现安全、高效的文件传输服务。 #### 二、安装VSFTPD 首先,我们需要通过`yum`包管理器来安装VSFTPD软件包。执行以下命令: ...

    阿里云ECS CentOS7 Linux配置FTP-vsftpd.docx

    ### 阿里云ECS CentOS7 Linux配置FTP-vsftpd #### 概述 本文档将指导您如何在阿里云ECS上基于CentOS 7操作系统配置一个可用的FTP服务器(vsftpd)。该教程适用于希望在阿里云ECS上搭建FTP服务器以实现文件传输功能...

    企业Linux下vsFTPD实战方案

    VsFTPd,全称为“Very Secure FTP Daemon”,是一款专为Linux系统设计的高效、安全的FTP服务器软件。它强调安全性,通过限制不必要的功能和服务来降低被攻击的风险。VsFTPd支持虚拟用户、SSL/TLS加密传输,以及各种...

Global site tag (gtag.js) - Google Analytics