Linux vsftpd安装配置使用(详细)
本文结合了多个前人写的文章与自己多次安装配置的经验,写得比较详细,文章的最后有ftp命令集与vsftpd.conf的所有配置属性注释。若有问题请回复给我,感谢!
1. 直接去vsftpd网站(ftp://vsftpd.beasts.org/users/cevans/)下载最新的tar.gz格式源码包 2. #解压 $tar -zxf vsftpd-xx.tar.gz $cd ./vsftpd-xx #编译 make make install #如果make install没有安装文件,你可能需要手动执行下面的命令 cp vsftpd /usr/local/sbin/vsftpd cp vsftpd.conf.5 /usr/local/share/man/man5 cp vsftpd.8 /usr/local/share/man/man8 cd ./EXAMPLE/INTERNET_SITE cp vsftpd.conf /etc cp vsfpd.xinetd /etc/xinetd.d/vsftpd /etc/rc.d/init.d/xinetd restart 或者service xinetd restart ######若无xinetd服务,则用命令 $yum install xinetd 3. 若要設置独立启动模式,则在/etc/xinetd.d/vsftpd文件中,把disable=no改成YES 并在/etc/vsftpd.conf文件中: 添加listen=yes这样就改成了STANDALONE独立模式 4. 匿名登录配置: 修改(若默認已是则不用修改) anonymous_enable=YES anon_root=/sunwill #匿名登陆的目录 anon_no_anon_password=YES #不需要提示輸入密码 NO则提示輸入密码 其他的属性如为文章最后部分的配置属性清单中(匿名一般含有anon),自己将有需要的添加或修改 6.本地用戶 首先 cp RedHat/vsftpd.pam /etc/pam.d/ftp(拷贝本地用戶认证的pam文件,没有这一步将不能使用本地用户登录!) 修改或添加: local_enable=YES write_enable=YES local_umask=022 local_root=/sunwill #本地用戶登录默認目录,若没有该条则登录为本地用戶原来默認的目录,可用usermod来修改(usermod -d /dir user)。 7.虚拟用戶配置: (1).生成虚拟用户口令库文件。为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单数行为用户名,偶数行为口令: #vi account.txt ylg 1234 zhanghong 4321 gou 5678 (2).生成口令库文件,并修改其权限:
db_load -T -t hash -f ./account.txt /etc/vsftpd/account.db chmod 600 /etc/vsftpd/account.db (若要改变用戶请刪除account.db,然后再db_load)
若没有db_load 则可以从光盘中拷贝關于db4开头的几个rpm文件来安装(rpm -ivh *.rpm)。
下载地址:http://download.fedora.redhat.com/pub/fedora/linux/core/6/i386/os/Fedora/RPMS/ 用命令$rpm -q db4 檢查, 若已装,则下载db4-java-4.3.29-9.fc6.i386.rpm, db4-tcl-4.3.29-9.fc6.i386.rpm,db4-utils-4.3.29-9.fc6.i386.rpm三个包, 若db4未装则多下载db4-4.3.29-9.fc6.i386.rpm,db4-devel-4.3.29-9.fc6.i386.rpm两个软件包。用rpm -ivh *.rpm安装所下载的包 (3).新建一个虚拟用户的PAM文件。加上如下两行内容: #vi /etc/pam.d/vsftp.vu auth required /lib/security/pam_userdb.so db=/etc/vsftpd/account account required /lib/security/pam_userdb.so db=/etc/vsftpd/account (4).建立虚拟用户,设置该用户所要访问的目录,并设置虚拟用户访问的权限: useradd -d /ftpsite virtual_user chmod 777 /ftpsite ###允许所有用戶讀寫操作 经过该步骤的设置,/ftpsite就是virtual_user用户的主目录,该用户也是/ftpsite目录的拥有者。 (5)在/etc/vsftpd.conf中添加 guest_enable=YES guest_username=virtual_user pam_service_name=vsftp.vu (6) 到此为止已经可以用account.txt中的帐号密码登录ftp 至于更改每个用戶的权限则需在vsftpd.conf中添加 user_config_dir=用户配置文件目录,如user_config_dir=/etc/vsftpd/ 先mkdir /etc/vsftpd 然后在该目录下創建与用戶名同名的文件,如 $vi /etc/vsftpd/gou 并添加权限属性,如下: write_enable=NO #可写 anono_upload_enable=NO #可上传 其他属性可以自己查看配置属性增加。 (7)启动ftp, /etc/local/sbin/vsftpd & (8) Linux下連接ftp 的命令: ftp 192.168.18.107 #以下为输入命令后的窗口信息 Connected to 127.0.0.1. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (127.0.0.1:root): gou 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> 显示如上则表示連接成功 8. 設置开机运行 (1)我们在前面將其設置为独立启动模式,若要开机运行则在/etc/vsftpd.conf 中的listen=YES 该为listen=NO或注释掉 (2)#vi /etc/xinetd.d/vsftpd 将disable=YES 改为disable=NO (3)#service xinetd restart 此时可用ftp 127.0.0.1测试 9. ftp客户端的命令 FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,其中 -v 显示远程服务器的所有响应信息; -n 限制ftp的自动登录,即不使用;.n etrc文件; -d 使用调试方式; -g 取消全局文件名。 FTP使用的内部命令如下(中括号表示可选项): <1>.![cmd[args]]:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip <2>.$ macro-ame[args]: 执行宏定义macro-name。 <3>.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。 <4>.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。 <5>.ascii:使用ascii类型传输方式。 <6>.bell:每个命令执行完毕后计算机响铃一次。 <7>.bin:使用二进制文件传输方式。 <8>.bye:退出ftp会话过程。 <9>.case:在使用mget时,将远程主机文件名中的大写转为小写字母。 <10>.cd remote-dir:进入远程主机目录。 <11>.cdup:进入远程主机目录的父目录。 <12>.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode, 如:chmod 777 a.out。 <13>.close:中断与远程服务器的ftp会话(与open对应)。 <14>.cr:使用asscii方式传输文件时,将回车换行转换为回行。 <15>.delete remote-file:删除远程主机文件。 <16>.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。 <17>.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件 <18>.disconnection:同close。 <19>.form format:将文件传输方式设置为format,缺省为file方式。 <20>.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。 <21>.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。 <22>.hash:每传输1024字节,显示一个hash符号(#)。 <23>.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。 <24>.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。 <25>.image:设置二进制传输方式(同binary)。 <26>.lcd[dir]:将本地工作目录切换至dir。 <27>.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。 <28>.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。 <29>.mdelete[remote-file]:删除远程主机文件。 <30>.mdir remote-files local-file:与dir类似,但可指定多个远程文件, 如 :mdir *.o.*.zipoutfile 。 <31>.mget remote-files:传输多个远程文件。 <32>.mkdir dir-name:在远程主机中建一目录。 <33>.mls remote-file local-file:同nlist,但可指定多个文件名。 <34>.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。 <35>.modtime file-name:显示远程主机文件的最后修改时间。 <36>.mput local-file:将多个文件传输至远程主机。 <37>.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。 <38>.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。 <39>.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。该命令特别适用于远程主机为非UNIX机的情况。 <40>.ntrans[inchars[outchars]]:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。 <41>.open host[port]:建立指定ftp服务器连接,可指定连接端口。 <42>.passive:进入被动传输方式。 <43>.prompt:设置多个文件传输时的交互提示。 <44>.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。第一条ftp命令必须为open,以首先建立两个服务器间的连接。 <45>.put local-file[remote-file]:将本地文件local-file传送至远程主机。 <46>.pwd:显示远程主机的当前工作目录。 <47>.quit:同bye,退出ftp会话。 <48>.quote arg1,arg2...:将参数逐字发至远程ftp服务器,如:quote syst. <49>.recv remote-file[local-file]:同get。 <50>.reget remote-file[local-file]:类似于get,但若local-file存在,则从上次传输中断处续传。 <51>.rhelp[cmd-name]:请求获得远程主机的帮助。 <52>.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。 <53>.rename[from][to]:更改远程主机文件名。 <54>.reset:清除回答队列。 <55>.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。 <56>.rmdir dir-name:删除远程主机目录。 <57>.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。 <58>.send local-file[remote-file]:同put。 <59>.sendport:设置PORT命令的使用。 <60>.site arg1,arg2...:将参数作为SITE命令逐字发送至远程ftp主机。 <61>.size file-name:显示远程主机文件大小,如:site idle 7200。 <62>.status:显示当前ftp状态。 <63>.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。 <64>.sunique:将远程主机文件名存储设置为只一(与runique对应)。 <65>.system:显示远程主机的操作系统类型。 <66>.tenex:将文件传输类型设置为TENEX机的所需的类型。 <67>.tick:设置传输时的字节计数器。 <68>.trace:设置包跟踪。 <69>.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。 <70>.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3 <71>.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。 <72>.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.
-----------vsftpd.conf配置文件的属性-------------- anonymous_enable=NO 禁用匿名用户 no_anon_password=YES 需要密码 anon_root=/var/ftp 匿名用户的默认主目录 local_enable=NO 禁用本地用户 local_root=webdisk 本地用户的主目录(相对路径是相对于用户的家目录,绝对路径是所有用户都只能登录到这个目录下比如:/localftp) guest_enable=NO 禁用gust用户 ftp_username=ftp 匿名用户的用户名(默认还有anonymous可使用)
权限控制
write_enable=YES 本地用户可写 local_umask=022 上传文件的umask file_open_mode=0666 使用文件的方式 anon_upload_enable=NO 匿名用户不可以上传 anon_mkdir_write_enable=NO 匿名用户不可以建目录等写操作 anon_other_write_enable=NO 匿名用户不可以做其他的写操作 anon_world_readable_only=YES 匿名用户可以读文件 #chown_uploads=YES 修改上传的文件的属主 #chown_username=ftpadmin 修改上传的文件的属主为XXX ascii_upload_enable=NO 不使用ascii上传文件 ascii_download_enable=NO 不使用ascii下载文件
secure_chroot_dir=/usr/share/empty 默认值
超时控制 idle_session_timeout=600 空闲超时600秒 data_connection_timeout=120 传输超时120秒 accept_timeout=60 pasv模式等待时间60秒 connect_timeout=60 port模式等待时间60秒
服务控制
xferlog_enable=YES 启动日志功能 xferlog_std_format=YES 使用标准日志格式 xferlog_file=/var/log/vsftpd.log 日志默认的位置 pasv_enable=YES 启用被动模式 #port_enable=YES 启用主动模式 #注意此处pasv和port只能写一个,不能一个YES,另一个NO,要想让另一个不起作用,只能用#注释掉,否则会出错。 tcp_wrappers=YES 启用tcp_wrappers功能 nopriv_user=nobody 最低权限用户
listen=YES 使用standalone 模式(推荐的)
显示信息
ftpd_banner=welcome to ftp. 登录时的欢迎信息 dirmessage_enable=YES 启动切换目录时提示目录信息的功能 message_file=.message 目录提示信息的内容文件
文件权限设置 chroot_list_enable=YES 启动用户目录限制功能 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list 此文件中的用户不能改变到其他外层目录中。
userlist_enable=YES 启动用户限制功能 userlist_deny=YES userlist文件中的用户禁止登录,NO的话则只有userlist中用户可以登录 userlist_file=/etc/vsftpd/vsftpd.user_list 禁止登录用户列表文件名和位置(可自定义)
user_config_dir=/etc/vsftpd/userconf/ 对个别用户特殊设置的配置文件的目录(在此目录下建立对应“用户名”的文件,文件里写 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES 等权限信息,此用户将有这里所写的权限)
连接选项 max_clients=100 最大连接数 max_per_ip=5 每个ip最大连接数 connect_from_port_20=YES 启用20端口传输数据 #listen_address=192.168.0.2 指定监听的ip地址,如果你有多个ip的话 listen_port=21 监听的端口号 ftp_data_port=20 数据传输端口号
pasv_max_port=40000 被动模式的端口号的上限(0为不限) pasv_min_port=30000 被动模式的端口号的下限(0为不限)
数据传输速度
anon_max_rate=51200 匿名用户最大传输率 local_max_rate=5120000 本地用户最大传输率
|
分享到:
相关推荐
建筑工地扬尘治理与文明施工检查表.docx
基于java的个性化旅游攻略定制系统设计与实现.docx
数学建模培训资料 数学建模实战题目真题答案解析解题过程&论文报告 导弹追击模型的建立与求解 共6页.pdf
基础课程辅助教学-JAVA-基于springBoot程序设计基础课程辅助教学系统设计与实现
适用人群:大学生 自学者 使用场景:大学生毕设 自学者练手项目 学习与交流 其它说明:部分资源来源网络及开源社区、仅供参考与学习、不可商用、若有侵权请联系删除! 内容概要:用springmvc实现的校园选课管理系统
java课程期末考试
C++ Vigenère 密码(解密代码)
工程研究中心申报基本情况一览表.docx
Vigenère 密码(加密代码)
密码学AES算法源代码,密码学实验
基于java的百货中心供应链管理系统设计与实现.docx
环境说明:开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat 开发软件:eclipse/myeclipse/idea Maven包:Maven 浏览器:谷歌浏览器。 项目均可完美运行
【资源说明】 大数据毕业设计 基于Python+Spark机器学习天气预测系统详细文档+全部资料.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
购物系统 微信小程序+PHP毕业设计 源码+数据库+论文+启动教程
BIM 人才培养的框架和方法 相关的标准
源项目文件
ActiveMQ消息中间件的测试案例
内容概要:本文全面解析了汽车电动化、智能化背景下,车规芯片SoC的重要性和发展趋势。首先概述了汽车行业发展三大趋势——新能源车市场崛起、智能化引领新潮流、商业模式及价值链重构。随后详细介绍了车规芯片SoC的应用领域,包括主控芯片、功率芯片、CMOS芯片、射频接收器、传感器、存储芯片及汽车面板,并阐述了它们的作用和技术需求。文章接着讨论了电子电气架构的演进路径,从分布式向集中式的演进对汽车芯片供应链带来的影响。最后探讨了汽车SoC的技术特征、应用领域、未来发展方向及其面临的挑战。 适合人群:汽车芯片设计师、汽车制造商、科研机构及相关行业的专业人士。 使用场景及目标:理解和掌握汽车芯片尤其是SoC在智能电动汽车中的应用及未来发展,帮助相关从业者做出更好的技术和商业决策。 其他说明:随着智能电动汽车市场的快速成长,车规芯片SoC作为核心技术将面临前所未有的机遇和挑战。
用于控制 Broadlink RM2/3 (Pro) 遥控器、A1 传感器平台和 SP2/3 智能插头的 Python 模块python-broadlink用于本地控制 Broadlink 设备的 Python 模块和 CLI。支持以下设备通用遥控器RM home、RM mini 3、RM plus、RM pro、RM pro+、RM4 mini、RM4 pro、RM4C mini、RM4S、RM4 TV mate智能插头SP mini、SP mini 3、SP mini+、SP1、SP2、SP2-BR、SP2-CL、SP2-IN、SP2-UK、SP3、SP3-EU、SP3S-EU、SP3S-US、SP4L-AU、SP4L-EU、SP4L-UK、SP4M、SP4M-US、Ankuoo NEO、Ankuoo NEO PRO、Efergy Ego、BG AHC/U-01开关MCB1、SC1、SCB1E、SCB2出口BG 800, BG 900电源板MP1-1K3S2U、MP1-1K4S、MP2环境传感器A1报警套件S1C、S2KIT灯泡LB1、LB26 R1、LB2
这是一份关于五个城市的PM2.5监测数据文件,以CSV格式存储。数据涵盖了广州、北京、沈阳等地的空气质量情况,旨在帮助研究人员和数据分析人员更好地理解城市空气污染状况。 使用人群 适合对环境科学、大气污染研究感兴趣的科研工作者、学生及环保组织成员使用。 数据内容 包含五个主要城市的PM2.5浓度数据 时间跨度较长,覆盖多年数据 CSV格式方便导入各种数据分析软件进行进一步处理和分析