




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
vsftpd配置手册(实用)2008-01-04 16:28:51|分类:Linux|字号订阅作者: 木頭 来源: PHPChina 开源社区门户1、vsftpd配置参数详细整理#接受匿名用户anonymous_enable=YES#匿名用户login时不询问口令no_anon_password=YES#匿名用户主目录anon_root=(none)#接受本地用户local_enable=YES#本地用户主目录local_root=(none)#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录deny_email_enable=YES#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录check_shell=YES#若启用此选项,userlist_deny选项才被启动userlist_enable=YES#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录userlist_deny=NO#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下)passwd_chroot_enable=NO#定义匿名登入的使用者名称。默认值为ftp。ftp_username=FTP#用户权限控制#可以上传(全局控制).write_enable=YES#本地用户上传文件的umasklocal_umask=022#上传文件的权限配合umask使用#file_open_mode=0666#匿名用户可以上传anon_upload_enable=NO#匿名用户可以建目录anon_mkdir_write_enable=NO匿名用户其它的写权利(更改权限?)anon_other_write_enable=NO如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。anon_world_readable_only=YES#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名#guest_enable=NO所有匿名上传的文件的所属用户将会被更改成chown_usernamechown_uploads=YES匿名上传文件所属用户名chown_username=lightwiter#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录chroot_list_enable=YES#允许使用async ABOR命令,一般不用,容易出问题async_abor_enable=YES管控是否可用ASCII 模式上传。默认值为NO。ascii_upload_enable=YES#管控是否可用ASCII 模式下载。默认值为NO。ascii_download_enable=YES#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/emptysecure_chroot_dir=/usr/share/empty#超时设置#空闲连接超时idle_session_timeout=600#数据传输超时data_connection_timeout=120#PAVS请求超时ACCEPT_TIMEOUT=60#PROT模式连接超时connect_timeout=60#服务器功能选项#开启日记功能xferlog_enable=YES#使用标准格式xferlog_std_format=YES#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用.#log_ftp_protocol=NO#允许使用pasv模式pasv_enable=YES#关闭安全检查,小心呀.#pasv_promiscuous+NO#允许使用port模式#port_enable=YES#关闭安全检查#prot_promiscuous#开启tcp_wrappers支持tcp_wrappers=YES#定义PAM 所使用的名称,预设为vsftpd。pam_service_name=vsftpd#当服务器运行于最底层时使用的用户名nopriv_user=nobody#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?)pasv_address=(none)#服务器性能选项#是否能使用ls -R命令以防止浪费大量的服务器资源#ls_recurse_enable=YES#是否使用单进程模式#one_process_model#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式listen=YES#当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。text_userdb_names=NO#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果use_localtime=NO#测试平台优化#use_sendfile=YES#信息类设置#login时显示欢迎信息.如果设置了banner_file则此设置无效ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容dirmessage_enable=YES#显示会话状态信息,关!#setproctitle_enable=YES#文件定义#定义不能更改用户主目录的文件chroot_list_file=/etc/vsftpd/vsftpd.chroot_list#定义限制/允许用户登录的文件userlist_file=/etc/vsftpd/vsftpd.user_list#定义登录信息文件的位置banner_file=/etc/vsftpd/banner#禁止使用的匿名用户登陆时作为密码的电子邮件地址banned_email_file=/etc/vsftpd.banned_emails#日志文件位置xferlog_file=/var/log/vsftpd.log#目录信息文件message_file=.message#目录定义#定义用户配置文件的目录user_config_dir=/etc/vsftpd/userconf#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的.local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk#匿名用户登陆后的根目录anon_root=/var/ftp#用户连接选项#可接受的最大client数目max_clients=100#每个ip的最大client数目max_per_ip=5#使用标准的20端口来连接ftpconnect_from_port_20=YES#绑定到某个IP,其它IP不能访问listen_address=#绑定到某个端口#listen_port=2121#数据传输端口#ftp_data_port=2020#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。pasv_max_port=0#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。pasv_min_port=0#数据传输选项#匿名用户的传输比率(b/s)anon_max_rate=51200#本地用户的传输比率(b/s)local_max_rate=5120000#别外,如果要对每个用户进行单独的控制,只需要在user_config_dir中建立username文件,内容为数据传输和用户权利里面设置个人的合适的选项,用户自定义文件同样适合用pam支持的虚拟用户附: FTP 数字代码的意义110 重新启动标记应答。120 服务在多久时间内ready。125 数据链路埠开启,准备传送。150 文件状态正常,开启数据连接端口。200 命令执行成功。202 命令执行失败。211 系统状态或是系统求助响应。212 目录的状态。213 文件的状态。214 求助的讯息。215 名称系统类型。220 新的联机服务ready。221 服务的控制连接埠关闭,可以注销。225 数据连结开启,但无传输动作。226 关闭数据连接端口,请求的文件操作成功。227 进入passive mode。230 使用者登入。250 请求的文件操作完成。257 显示目前的路径名称。331 用户名称正确,需要密码。332 登入时需要账号信息。350 请求的操作需要进一部的命令。421 无法提供服务,关闭控制连结。425 无法开启数据链路。426 关闭联机,终止传输。450 请求的操作未执行。451 命令终止:有本地的错误。452 未执行命令:磁盘空间不足。500 格式错误,无法识别命令。501 参数语法错误。502 命令执行失败。503 命令顺序错误。504 命令所接的参数不正确。530 未登入。532 储存文件需要账户登入。550 未执行请求的操作。551 请求的命令终止,类型未知。552 请求的文件终止,储存位溢出。553 未执行请求的的命令,名称不正确。2、VSFTPD官方资料翻译版(不完整版)-摘自中国Linux公社翻译了部分VSFTPD的官方资料。有些知道是什么意思,但难于翻译。有些涉及专业的知识,我自己也不懂,只好按字面翻译。有些我自己看不懂,只好尽量翻译。如果看了其中一部分觉得糊涂,请参阅官方文挡。安装篇=这个文件详细介绍了如何从VSFTPD的.tar.gz分发包开始,建立和安装并运行VSFTPD。1)建立VSFTPD先进入解压.tar.gz文件后产生的目录内。如下:cd vsftpd-2.0.1编辑builddefs.h以操作compile-time设定。(tcp_wrappers build,等)输入make,回车(如果它不工作请发邮件通知我 .这将产生一个二进制文件,你可以验证一下。如下:chrislocalhost vsftpd$ ls -l vsftpd-rwxrwxr-x 1 chris chris 61748 Sep 27 00:26 vsftpd2)满足VSFTPD安装所需的一些条件VSFTPD默认设置需要一个nobody用户,如果这个用户不存在,那么添加它。如下:rootlocalhost root# useradd nobodyuseradd: user nobody existsVSFTPD默认设置需要一个空目录:/usr/share/empty.增加这个目录,如果它还不存在的话。如下:rootlocalhost root# mkdir /usr/share/empty/mkdir: cannot create directory /usr/share/empty: File exists如果容许匿名用户(anonymous),那么你将需要一个ftp用户和其home目录(这个home目录不属于“ftp”用户,而且“ftp用户也对其没有写权限)在你的系统中存在。以下命令用来创建一个ftp用户,如果它还不存在的话。rootlocalhost root# mkdir /var/ftp/rootlocalhost root# useradd -d /var/ftp ftp(即使你的ftp用户已经存在,完成以下这两步也是很有好处的:)rootlocalhost root# chown root.root /var/ftprootlocalhost root# chmod og-w /var/ftp3)安装VSFTPD的配置、执行和帮助文件。输入make install后会将二进制文件和帮助文件拷贝到适当的目录。你也可以手工拷贝这些文件:cp vsftpd /usr/local/sbin/vsftpdcp vsftpd.conf.5 /usr/local/man/man5cp vsftpd.8 /usr/local/man/man8make install不会拷贝默认的配置文件,所以建议你手工拷贝:cp vsftpd.conf /etcdaidong注:根据你系统版本的不同,也可能是 cp vsftpd.conf /etc/vsftpd4)测试 (无inetd影响)VSFTPD能运行在独立模式(standalone)或者通过inetd(xinetd)来启动。你能通过inetd来运行vsftpd以更好地控制它。但我们在首次运行时不这么做,以便检查系统是否现在配置正常。编辑/etc/vsftpd.conf(daidong注:也可能是/etc/vsftpd/vsftpd.conf),并在最下面加入以下这一行:listen=YES这将告诉VSFTPD不要从inetd启动。OK,现在试着启动FTP。以ROOT登录。确定你没有运行其他FTP服务(否则VSFTPD不能占用FTP所需的21端口)。运行那个二进制文件,如下:rootlocalhost root#/usr/local/sbin/vsftpd &1 2104如果一切正常,那么你将连上FTP服务器,如下:chrislocalhost chris$ ftp localhostConnected to localhost ().220 (vsFTPd 1.1.1)Name (localhost:chris): ftp331 Please specify the password.Password:230 Login successful. Have fun.Remote system type is UNIX.Using binary mode to transfer files.ftp ls227 Entering Passive Mode (127,0,0,1,229,133)150 Here comes the directory listing.d-x-x-x 2 0 0 4096 Jan 14 2002 bind-x-x-x 2 0 0 4096 Apr 21 20:52 etcdrwxr-xr-x 2 0 0 4096 Apr 21 20:52 libdrwxr-sr-x 2 0 50 4096 Jul 26 22:58 pub226 Directory send OK.ftp5)从inetd或者类似方式启动(官方推荐使用standalone方式)你也许想通过inetd或者类似方式启动VSFTPD,因为这能给你更多的感受。例如xinetd就有很多的设置。(注意:VSFTPD的内在机制屏蔽了xinetd的大多数的有用的设置)。如果使用标准的inetd,你需要编辑/etc/inetd.conf,在其中加入以下一行:ftp stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/vsftpd(确定你删除或者注释掉一些已存在的FTP服务配置行。如果你没有安装tcp_wrappers,或者不想使用它们,那么请去掉/usr/sbin/tcpd part).inetd需要指定并重新载入它的配置文件:kill -SIGHUP pidof inetd如果你想使用xinetd,请参阅我们提供的范例 /EXAMPLE/INTERNET_SITE/README. 而其他范例文件将告诉你如何调配出更强大的xinetd功能。6)为本地登录配置PAM文件(可选)如果你在一台激活了PAM的设备上运行VSFTPD,你需要提供一个 /etc/pam.d/ftp 文件。否则非匿名用户将无法登录服务器。(注:如果你的PAM版本比较老,那么这个文件也许是 /etc/pam.conf).做为一个标准设置,你可以拷贝一个已提供的范例文件,如下:cp RedHat/vsftpd.pam /etc/pam.d/ftp7)自定义你的配置文件完成以上的配置后,建议你安装一个配置文件。默认的配置文件位置是/etc/vsftpd.conf. 在VSFTPD软件分发包内有一个范例配置文件。你可以拷贝其为/etc/vsftpd.conf以做进一步修改。cp vsftpd.conf /etc(daidong注:也可能是 cp vsftpd.conf /etc/vsftpd ).这个默认配置即不容许本地登录也不容许匿名用户上传,也许你希望更改这个配置。其它=测试平台 (已通过)-流行的,功能完善的平台都能测试通过。在以下平台的较新版本,VSFTPD工作得很好。在其大部分较早的版本下,也运行正常。- RedHat Linux- RedHat Enterprise Linux- Solaris / GNU tools (Solaris 8 or newer)- SuSE Linux- Debian Linux- OpenBSD- FreeBSD- NetBSD- HP-UX / GNU tools- IRIX / GNU tools- Mac OS X (note; older versions have setgroups() problem. 10.3.4 reported OK)虚拟用户1=这个例子示范了如何为虚拟用户设置VSFTPD/PAM。虚拟用户是一个在系统中并不作为一个登录实体而存在的用户。使用虚拟用户比使用真实的用户更安全,因为这个账号只能用于FTP服务器。虚拟用户经常用来提供给不大可信任的用户访问某些资源,而这些资源通常是其他普通用户不能访问的。1)创建虚拟用户数据库我们将使用pam_userdb来认证虚拟用户。这需要提供一个“db格式(一种通用数据库格式)的用户名/密码文件。创建一个db格式的文件,首先要创建一个标准文本文件,并把用户名,密码以竖直排列方式输入。如logins.txt:tomfoofiredbar这个例子中,tom用户的密码是foo.fired用户的密码是bar.以ROOT登录,创建一个数据库文件,如下:db_load -T -t hash -f logins.txt /etc/vsftpd_login.db(这要求berkeley db程序已经安装)(注:一些系统也许安装了多个版本的db,所以某些情况下你可能使用db3_load才是正确的。对于一些 Debian系统就是这样。关键在于要让pam_userdb相信它的登录数据库是哪一个db版本所产生(一般都是db3,尽管你的系统里可能安装的是db4).)这将创建/etc/vsftpd_login.db文件。显然,你希望设定这个文件的权限:chmod 600 /etc/vsftpd_login.db要了解更多关于维护你的登录数据库的信息,请在berkeley DB察看相关文档:/docs/utility/index.html2)用你的新数据库创建一个PAM文件请参考范例vsftpd.pam,它包含2行:auth required /lib/security/pam_userdb.so db=/etc/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd_login这是告诉PAM用新的数据库去验证用户。把这个PAM文件拷贝到PAM目录,一般是/etc/pam.dcp vsftpd.pam /etc/pam.d/ftp3)为虚拟用户设置home目录useradd -d /home/ftpsite virtualls -ld /home/ftpsite(which should give):drwx- 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite我们已经创建了一个名叫virtual的用户,home目录是/home/ftpsite.我们拷贝一些东西到这个下载目录:cp /etc/hosts /home/ftpsitechown virtual.virtual /home/ftpsite/hosts4)创建你的vsftpd.conf配置文件请参考这个目录下的例子。让我们一行行地看一看这些配置:anonymous_enable=NOlocal_enable=YES安全起见,屏蔽了匿名用户,只启用了非匿名用户(即虚拟用户使用的账号)write_enable=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NO为了安全请确认这几个配置,这将关闭写的权限。chroot_local_user=YES这将把虚拟用户锁定在我们在以上设置的/home/ftpsite目录内。guest_enable=YESguest_username=virtualguest_enable非常重要-它激活了虚拟用户!而guest_username说明所有的虚拟用户都对应我们在上面设置的真实用户:“virtual.这同时确定了虚拟用户在文件系统中的位置,也就是说,虚拟用户的home目录即virtual用户的home目录:/home/ftpsite。listen=YESlisten_port=10021这让VSFTPD以独立模式(standalone)运行,而不是从inetd方式启动。也就是说,你运行VSFTPD可执行文件就启动了FTP服务。同时也让VSFTPD启用非标准端口10021来监听FTP请求(FTP一般使用21端口)。pasv_min_port=30000pasv_max_port=30999这设定了被动模式的FTP请求端口。当你配置了一个防火墙的时候,这个配置就很好用。拷贝范例配置文件到/etccp vsftpd.conf /etc/(daidong注:也可能是/etc/vsftpd)5)启动VSFTPD到VSFTPD二进制文件所在的目录,输入:./vsftpd如果一切正常,这个命令将生效。否则,你将会看到一些错误信息的反馈。6)测试启动另一个会话。(或者ctrl-z,再输入bg,让VSFTPD在后台运行)。这是一个FTP会话的例子:ftp localhost 10021Connected to localhost ().220 ready, dude (vsFTPd 1.1.0: beat me, break me)Name (localhost:chris): tom331 Please specify the password.Password:230 Login successful. Have fun.Remote system type is UNIX.Using binary mode to transfer files.ftp pwd257 /ftp ls227 Entering Passive Mode (127,0,0,1,117,135)150 Here comes the directory listing.226 Transfer done (but failed to open directory).ftp size hosts213 147ftp注释:密码是foo出现”failed to open directory“的话,别担心。这是因为/home/ftpsite目录不容许被任意浏览。(我们可以更改anon_world_readable_only=NO以消除告警,但为了安全,还是保留这个配置)。我们能通过size命令看到我们已经访问了被我们拷贝到这里的hosts文件。vsftpd.confanonymous_enable=NOlocal_enable=YESwrite_enable=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOchroot_local_user=YESg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建泉州市泉港区部分公办学校专项招聘编制内新任教师17人(二)模拟试卷有完整答案详解
- 2025福建三明市清流县金星园建设发展有限公司招聘消防驾驶员2人模拟试卷及一套参考答案详解
- 2025贵州天柱县第二季度(第一次)拟招聘8个全日制城镇公益性岗位考前自测高频考点模拟试题及1套完整答案详解
- 2025年度上饶市广信区公安局面向社会公开招聘编制外聘用人员考前自测高频考点模拟试题及答案详解(历年真题)
- 2025年甘肃省陇南市徽县招聘城镇公益性岗位人员26人考前自测高频考点模拟试题附答案详解
- 2025年潍坊诸城市市属国有企业公开招聘工作人员(9名)模拟试卷附答案详解(突破训练)
- 2025广东深圳市宝安区陶园中英文实验学校招聘精英教师16人模拟试卷及一套答案详解
- 2025湖南张家界市公安局招聘警务辅助人员360人模拟试卷及完整答案详解一套
- 2025年西安市灞桥区纺织城小学教师招聘模拟试卷及答案详解(典优)
- 2025年宁波市北仑区大榭街道社区卫生服务中心招聘编外工作人员3人模拟试卷及答案详解参考
- 《涂料树脂合成及应用》课件-04聚酯树脂
- 高三物理放射性元素的衰变省公开课一等奖全国示范课微课金奖
- 医院保洁服务投标方案(技术方案)
- 信息安全与知识产权保护课件
- 新概念英语第二册+Lesson+46+A+clear+conscience+讲义
- 【获奖教学课件】小学综合实践活动创建自己的阅读银行-“阅读存折”设计方案2
- 中北大学简介
- GB/T 5656-2008离心泵技术条件(Ⅱ类)
- 原发性肝癌规范化病理诊断指南课件
- 剑桥少儿英语三级 词汇表
- (完整版)污水处理厂施工组织设计
评论
0/150
提交评论