位置: 编程技术 - 正文

用OpenBSD 3.8 release自带的FTPD架设FTP服务器

编辑:rootadmin

推荐整理分享用OpenBSD 3.8 release自带的FTPD架设FTP服务器,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

使用OpenBSD 3.8 release自带的FTPD架设FTP服务器Author: MichaelBibby Date: // 可以任意转载,但请保留以上信息,谢谢。 注:本文参考OpenBSD 3.8的官方FAQ文档和ftpd的man文档写成,更全面的信息请参看这两个文件。 官方FAQ: ftpd的在线手册页: OpenBSD的ftpd程序没有配置文件,就靠设置运行参数进行配置。所有参数的含义都可以在ftpd 的man文档中获得详细信息: $ man ftpd ftpd程序的启动有三种方法(inetd/"rc file"/command line): 1: inetd方式:在"/etc/inetd.conf"文件中有这么一行: ftp stream tcp nowait root /usr/libexec/ftpd ftpd -US 这里为"ftpd"传递了两个参数"-US"。当然你还可以组合自己想要的参数。(一些常用参数的含义 在下文给出)。 inetd方式还需要同时启动inetd服务,OpenBSD默认启动了inetd(可以看看/etc/rc.conf中的 "inetd_flags"变量的值)。 2: "rc"方式;所谓"rc"方式,指的就是通过配置"/etc/rc.conf"或者"/etc/rc.conf.local"来启动系统服务。 为"/etc/rc.conf"中的"ftpd_flags"变量设置参数,并确保该行没有被注释掉。 这种方法需要在重新启动系统后才会生效; 3: 直接在命令行下执行ftpd命令,这样就不需要重启系统了:

ftpd程序的终止: 1: 如果不需要提供ftp服务,则在/etc/rc.conf中将ftpd_flags变量注释掉(在该行最开头加一个"#" 符号); 2:使用ps查看ftpd的PID,然后"kill PID"。 以下是ftpd常用的一些参数(这里列出的只是常用的,并不是全部。更多的参数请查看ftpd的man文档): -4 如果指定了"-D"参数,则强制ftpd只使用IPv4地址。 -6 和"-4"的解释类似;如果指定了"-D"参数,则强制ftpd只使用IPv6地址。 -A 只允许匿名登录(除非指定了"-n"选项)。 -D 如果指定了该参数,ftpd将做为daemon运行,****ftp端口并且fork子进程对连接进行 处理。在繁忙的服务器上,这样可以减少系统负载,与使用inetd方式启动ftpd比起来, 这种方式使用更少的系统资源。 -d 使用LOG_FTP将Debug信息写入syslog。 -l 每个成功和失败的ftp session都将由LOG_FTP工具通过syslog记录下日志。如果这个选 项被指定两次,所有get/put/append/delete/make directory/remove directory/rename 操作以及所操作的文件都将被记录进日志。 -U 每个并发的ftp session都被记录到日志文件/var/run/utmp,记录的格式就象who(1)命令 的输出一样。 -n 禁止匿名登录。通常是允许的。 -S 如果设置了这个参数,ftpd将会把所有匿名用户的下载情况记录在文件/var/log/ftpd中 (如果它存在的话)。 -T maxtimeout 连接超时的时间限制。默认是2小时。 -u mask 强制设置umask为指定的mask。而不是使用/etc/login.conf中的设置(login.conf中通常 设置为),并且不允许chmod。 看了这几个选项,你应该可以组合出合适的选项来满足自己的功能需求了。 1:只允许使用系统帐号登录FTP;因为匿名用户登录需要使用到系统中的一个名为"ftp"的帐户(更多关于该帐户的讨论,请看本文下 半部分),而OpenBSD系统中没有该帐户,需要手动建立并且设置正确的权限,所以如果只允许用户 通过系统帐号登录FTP服务器,则只需要在/etc/rc.conf中将ftpd_flags的值简单地设置为"-D"即可 (虽然这时候的设置仍然允许匿名用户登录,但是因为系统中没有"ftp"用户,所以无法登录)。当 然你也可以多设置一些参数。比如:

参考上面几个常用选项的说明,你就会明白这是什么意思了。 2:允许匿名用户登录访问FTP资源; 因为匿名用户登录到FTP服务器后,实际上是一个"ftp"用户的身份进行所有操作,所以出于安全考虑, 这个用户的权限通常被设置得很低。比如: 1:不为该用户提供一个可用的shell,使其无法登录系统; 2:没有一个可用的密码(即FAQ上说的"This account shouldn't have a usable password;"); 3:登录系统后被chroot; ...... 接下来我们要做的就是按照上面列出的三个要求来添加和设置这个低权限、处处受限的"ftp"用户。 2.1:添加"ftp"帐户以提供匿名访问;2.1.1:在/etc/shells中添加一个无法实际使用的shell: 设置"ftp"使用这个shell的目的,是不允许它通过shell登录到系统中。通常我们会有两种选择:

为了在添加用户时可以使用这两个shell,我们可以这样做:

用OpenBSD 3.8 release自带的FTPD架设FTP服务器

2.1.2:在未将它们加入到/etc/shells的情况下,使用adduser添加帐户时加上"-shell"参数:

...... 这里在询问该用户使用何种shell时就出现了/sbin/nologin。如果不带这个参数,将无法使用它:

这里就提示了不允许使用/sbin/nologin做为shell使用。 2.2:示例; 这里使用"adduser -s shell /sbin/nologin"来添加一个这样的"ftp"帐户做为示例,并将该用户的 $HOME目录设置为"/var/ftp":

到这里,添加用户的工作就完成了。还需要把从/etc/skel复制到$HOME目录的一些"dot files"给删除, 以免暴露信息。"dot files"的第一行通常会有一些系统的信息,比如"~/.cshrc"文件中就有这么一行: # $OpenBSD: dot.cshrc,v 1.5 // :: matthieu Exp $ 这至少就告诉了匿名登录的用户,这是个OpenBSD系统。所以把它们删除: # rm -f /var/ftp/.* 3:为/var/ftp目录设置正确的权限以保证安全性;3.1:"~ftp"目录; "~ftp"目录表示"ftp"用户的主目录,在本例中就是"/var/ftp"目录。 将它的owner设置为"root",权限设置为任何人都不可写(): # chown -R root:wheel /var/ftp # chmod -R /var/ftp 3.2:"~ftp/bin"目录; 这个目录并不是必须的。如果希望匿名用户登录到FTP后能够执行一些command,就可以将command 复制到这个目录下。所有的command的权限都应该设置为只允许执行()。 # mkdir /var/ftp/bin # chown -R root:ftp /var/ftp/bin #COPY YOUR PROGRAMS TO /var/ftp/bin,AND THEN: # chmod -R /var/ftp/bin/* 3.3:"~ftp/etc"目录; 和"~ftp/bin"目录一样,这也是个可选的,并不推荐创建它。(更多关于该目录设置的信息请查看"ftpd" 的man文档)。 3.4:"~ftp/pub"目录: 这个目录用来存放你希望被匿名用户访问的文件。权限应该设置为。

这里虽然提到了创建三个目录,但是实际上我们只需要创建"~ftp/pub"目录并设置好权限就可以了。 4:chroot匿名登录的用户;"ftpd"会将"/etc/ftpchroot"文件中列出的用户都chroot。要使"ftp"用户在登录ftp后被chroot,只需要简单 地把用户名添加到这个文件中就可以了。这是一个示例文件: # file : /etc/ftpchroot # $OpenBSD: ftpchroot,v 1.3 // :: deraadt Exp $ # # list of users (one per line) given ftp access to a chrooted area. # read by ftpd(8). ftp bibby "ftpd"在启动时会读取这个文件,如果"ftp"和"bibby"这两个用户登录ftp,将被分别chroot到自己的$HOME目录下。 5:其他一些相关文件;/etc/ftpusers -- 列出了所有不受欢迎的用户。列在该文件中的用户都无法登录ftp。 /etc/ftpwelcome -- 欢迎信息。登录上ftp的用户都将在登录时看到这一信息。 /etc/motd -- 如果"/etc/ftpwelcome"文件不存在,则使用"/etc/motd"文件的内容做为欢迎信息。 ".message" -- 这个文件可以被放置在"~ftp"目录下的任何一个子目录中。用户进入该目录时就会显示这个 文件中的内容。

FreeBSD系统SSH配置详解 修改freebsd可以用sshd权限用户登录ssh但不能用root用户登录的方法在/etc/ssh/sshd_config最后中加入PermitRootLoginyes#允许root登录PermitEmptyPasswordsno#不允许空密码

FreeBSD 6.2用freebsd-update升级过程 FreeBSD6.2-RELEASE下用freebsd-update升级过程:mail#uname-aFreeBSDmail.extmail.org6.2-RELEASEFreeBSD6.2-RELEASE#0:FriNov::UTCqiao@qiao.lpzq:/usr/src/sys/i/compile/kernel_IPFWimail

FreeBSD双线负载均衡NAT服务器配置方法 #vi/etc/rc.conf================+==============+=================defaultrouter=...ifconfig_fxp0=inet..0.1netmask...0ifconfig_rl0=inet...2netmask...0ifconfig_rl1

标签: 用OpenBSD 3.8 release自带的FTPD架设FTP服务器

本文链接地址:https://www.jiuchutong.com/biancheng/353949.html 转载请保留说明!

上一篇:OPENBSD-3.8上快速安装和配置apache+mysql+php+ssl(openbsd 6.9)

下一篇:FreeBSD系统SSH配置详解(freebsd怎么用)

  • 增值税发票勾选平台
  • 纳税人办理退税流程
  • 两个账户往来款怎么做现金流量表
  • 个税申报没填过租房信息,却有怎么回事
  • 资产处置收益计入利润总额吗
  • 金融服务担保费会计处理
  • 发票遗失如何报销
  • 购买旧资产如何入账
  • 对外投资所得税计算公式
  • 增值税一般纳税人证明文件
  • 养老基金利率多少
  • 建筑公司支付给个人的劳务费计入什么科目
  • 刚开始建账银行有存款怎么录
  • 广告位的费用
  • 没有进项开销项发票是虚开发票吗
  • 开票3个点13个点是什么意思
  • 个税申报已经申报如何更改
  • 公司账户转账给个人账户有限额吗?
  • 不动产分期转出要交税吗
  • 主营业务成本会计科目使用说明
  • 税后2.5万工资税前多少钱
  • 收入税金摘要怎么写
  • 独立核算的分公司可以享受小微企业吗
  • 前期认证相符且不符合
  • 不交社保是否可以马上辞职
  • 应收账款产生的利息分录
  • BIOS识别不了硬盘pe可以
  • 溢价发行股票的相关交易费用冲减资本公积
  • 在建工程完工后转入哪里
  • php获取指定日期是星期几
  • 长期待摊费用如何结转
  • 股东怎么签合同
  • 外企采购回扣普遍吗
  • 计算机网络拓扑结构有哪些
  • 九斑蛾,瑞士 (© Thomas Marent/Minden Pictures)
  • php实现原理
  • 电子税务局已申报信息查询
  • php array操作
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • 表关联查询语句
  • 专用发票抵扣联是什么意思
  • vue新手教程
  • 未达起征点的增值税怎么账务处理
  • java的范式
  • MySQL查看最大连接数
  • 预付卡账务处理在注会
  • 医疗机构销售药品能否加价
  • 发票的类型分为哪几类
  • 其他应付款付不出去怎么处理好
  • 长期待摊费用待抵扣税金
  • 非营利组织相关论文
  • 支付宝已经支付快递费怎么还支付
  • 双倍余额递减法例题及解析
  • 互联网金融理财产品的优势
  • 拿支票取钱
  • 金税盘费用不交会怎么样
  • 应收账款坏账准备的会计分录
  • 定额的餐饮发票
  • c# mysql实例
  • 如何删除windows更新文件
  • centos开启telnet服务
  • 如何解决笔记本电脑温度过高 蓝屏
  • WIN10如何禁用驱动程序强制签名
  • windows8使用教程
  • win7如何更改欢迎界面
  • jQuery实现checkbox即点即改批量删除及中间遇到的坑
  • node.js项目结构
  • css div布局的基本步骤
  • 批处理应用实例
  • python的入门教程
  • jquery操作元素的方法
  • asm/semaphore.h: No such file or directory
  • node.js操作数据库报错不再队列中
  • 重庆电子税务局怎么开电子发票
  • 怎么在手机开数据那里看用了多少流量
  • 国家河北税务局官网
  • 下设机构和内设的区别
  • 年度纳税申报基础信息表怎么填
  • 北京市生育津贴发放标准
  • 税务登录 河北省地方税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设