广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 9727 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
love104 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[Linux] FTP 教学分享
出处:鸟哥的 Linux 新手讨论区 http://phorum.....org

这是我跟同学一起整理的ftp教学
有错ㄉ话请指正喔!!!...^^

10-0 FTP SERVER摘要
FTP(File Transfer Protocol)档案传输协定,是目前Internet最常被用来传输档案的方法,它可以提供使用者上传或下载档案。由于FTP伺服器的服务功能相当好用,所以Linux在安装光碟中就有WU-FTP Server,另外还有相当好用的PROFTP Server可在网路上下载供使用者安装,使用者可在Linux文字模式下直接以ftp指令连接伺服器。
FTP伺服器除了提供拥有专属帐号的使用者连接外,更提供了匿名式的档案下载服务,使用者只要在帐号中填入anonymous,密码则键入电子邮件地址,就能以匿名方式登入FTP伺服器来上传或下载档案,这也是FTP通讯协定得以盛行的原因之一。



10-1 WU-FTP 简介
WU-FTPD 为 Washington Univ. in Saint Louis 所写的FTP server程式。除了它原有 ftp server 的功能,主要地也增加了下列数项功能︰
1.可将使用者区分成不同的class,给予一些权限上的限制。
2.记录 (log) 使用者所下的命令及传送档案的名称。
3.可对不同网域做不同存取权限和可存取的时段。
4.提供user在下载档案的时,可自动压缩或解压。
5.可记录FTP Server使用情形。
6.可限定最多连线人数,以符合整体运作效能。
7.显示相关讯息,让使用者了解接收状态。
8.可将FTP Server暂停,便于系统维护。
9.支援虚拟FTP主机(Virtual FTP Servers)。

10-2 WU-FTP 安装与启动
WU-FTP的安装套件在Linux的安装光碟就有,在安装Linux系统时选取即可安装WU-FTP。若是当初安装系统时没有安装WU-FTP,则可经由下列的方式安装。
[root@linux root]# mount /mnt/cdrom 将光碟机挂入/mnt/cdrom
[root@linux root]# cd /mnt/cdrom/RedHat/RPMS 切换到放置RPM档案的目录
[root@linux root]# rpm –ivh wu-ftpd-2.6.1-18.i386.rpm
如要从旧版升级至新版,请将参数-i改成-U即可
[root@linux root]# /etc/rc.d/init.d/xinetd reload 启动FTP
要确认 FTP伺服器是否已启动可利用telnet指令来测试:



WU-FTP Ver. 2.6.1-18有安全漏洞,可以让hacker读取Server上所有文件。必须升级至Ver. 2.6.1-20以修正漏洞。我们可以在http://www.redhat.com/apps/support/errata下载修正程式,执行
rpm –Fvh wu-ftpd-2.6.1-20.i386.rpm

安装完成后修改/etc/xinetd.d/wu-ftpd档,将disable设为no
service ftp{
disable = no ←改为no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}


存档后,要求xinetd重新读取设定档

[root@linux root]# /etc/rc.d/init.d/xinetd reload

经过以上步骤,WU-FTP安装启动完成。

10-3 WU-FTP 设定
设定档/etc/ftpaccess

l 拒绝登入的Unix使用者与UID
deny-uid <使用者ID>

l 拒绝登入的Unix群组与GID
deny-gid <群组ID>

l 不拒绝的Unix使用者与UID
allow-uid <使用者ID>

l 不拒绝的Unix群组与GID
allow-gid <群组ID>

l 当作访客Unix使用者与UID
guestuser <使用者ID>

l 当作访客Unix群组与GID
guestgroup <群组ID>

l 允许登入时帐号或密码输入错误的次数,这个值设越小越好,以避免被hacker攻击
loginfails 3

登入成功后显示欢迎讯息
message <讯息档> login

例如我们编写一个讯息内容如下:
////////////////////////////////////////////////////////////////////////// WELCOME TO FTP site !!!
请大家多分享好用的软体----^_^---thx!!/////////////////////////////////////////////////////////////////////////
你的来源IP是 %R
您是目前站上第 %N 位使用者
系统时间是: %T
主目录为: %C


将此内容存成welcome.msg放在根目录下,设定欢迎讯息

message /welcome.msg login

则登入成功后会显示欢迎讯息


讯息档中使用的参数:
%T FTP Server系统的时间
%C 目前所在目录名称
%E 管理员的E-Mail
%R FTP Client的主机名称
%L FTP Server的主机名称
%U Client登入的帐号
%M 最大连线人数
%N 目前连线人数

l上传设定
upload /var/ftp/guestftp /upload yes guest guest dirs
说明:/var/ftp/guestftp FTP 所在目录
/upload 上传目录
Yes 允许上传
guest guest owner group
dirs 允许建立目录


密码检查
passwd-check <none|trivial|rfc822> <enforce|warn>


检查方式:
none 不检查密码
trivial 密码中需有”@”
rfc822 要符合rfc822规定

回应:
enforce 中断与client的连线
warn 显示警告讯息

l 匿名FTP根目录
anonymous-root <目录>

l 访客根目录
guest-root <目录>
l 限制 user 只能在 /home 目录下活动
guest-root <FTP目录>
restricted-uid

l 拒绝某IP或DomainName进入
deny <IP> <讯息档>
ex: deny *.*.edu.tw /msgdeny
deny 140.92.0.0/16 /msgdeny

l利用real, guest, anonymous三种身分与client来源IP/HostName来定义群组,以便于管理。
class <class> <typelist> <addrglob>
ex: class admin real *.pccu.edu.tw
class local real, guest, anonymous *.pccu.edu.tw
class remote real, guest, anonymous

l 纪录档
log commands <类别>
ex: log command real,anonymous
将类别为real与anonymous的连线时所下的指令,纪录到纪录档去。

log transfers <类别> <directions>
ex: log transfers real inbound,outbound
将类别为real的连线所下载/上传的档案全部纪录到纪录档去。

l 限定某个类别在某时间的最大登入人数
limit <类别> <n> <times> <讯息档>
ex: limit local 100 Any1800-0100 /msgtoomany

l 对类别设定其对于可否使用chmod, delete, overwrite, rename, umask等权限
chmod <yes|no> <类别>
delete <yes|no> <类别>
overwrite <yes|no> <类别>
rename <yes|no> <类别>
umask <yes|no> <类别>
ex: chmod yes class=admin
delete no anonymous, real
overwrote no class=remote

设定档/etc/ftphost

l 允许某使用者从某个IP登入
allow <使用者ID> <IP>
ex: allow John 140.137.161.86

l 不允许某使用者从某个IP登入
deny <使用者ID> <IP>
ex: deny Mary 140.137.161.80

其他管理指令:
ftpwho :查阅目前登入FTP_Server的使用者。
ftpcount:计算目前登入的人数。
ftpshut :关闭FTP_Server。单纯关闭ftp,当该Server同时提供其他服务时,可以选择仅关避FTP SERVER,以保留其他服务。
ftpshut:<-l 分钟><-d 分钟><绝对时间><警告讯息>



10-4 ProFTP简介
目前大多数站台的 FTP 服务,以采用 WU-FTPD 伺服器程式架设者居多,而且WU-FTPD 在效能上,一直有不错的表现,程式版本更新的速度也不慢,不过,它却不是一个够安全的系统。
如果想找一个不错的 FTP 伺服程式来取代 WU-FTPD, ProFTPD是另一个不错得选择!ProFTPD 的发展,一开始,便是定位在:成为一个安全且容易设定的 FTP 伺服器程式。

以下是 ProFTPD 的特点:
· 单一设定档,设定风格接近 Apache 设定档
· 每一目录可用 .ftpaccess 来控制(类似 Apache 的 .htaccess)
· 易于设定多重虚拟主机以及匿名FTP
· 可让管理人员选择 standalone 或 inetd 的执行方式
· 匿名FTP不需要额外的目录结构
· 原始码开放,没有 SITE EXEC 指令,安全性可受监控
· 根据系统档案权限,可隐藏目录或档案
· 以较低权限的身份来执行,降低万一被攻入的危险
· 记录档支援 utmp/wtmp,并和 wu-ftpd 相容,记录格式也可扩充
支援 shadow password


10-5 开始安装
1.以proftpd-1.2.4.tar.gz安装为范例
步骤:
[root@linux root]#tar –zxvf proftpd-1.2.4.tar.gz
[root@linux proftpd-1.2.4]#cd proftpd-1.2.4
[root@linux proftpd-1.2.4]#./configure 执行组态设定档make
[root@linux proftpd-1.2.4]#make install

2. ProFTPD 设定档的位罝
用 RPM 档安装的 ProFTPD 设定档在 /etc/proftpd.conf
若抓 tar.gz 档回来安装的,则设定档在 /usr/local/etc/proftpd.conf
.
3. 启动ProFTP
ProFTP启动方式有两种,一种是standalone,另一种则为inetd,若此Server为专门之FTP则建议采用Standalone方式启动,若还有其他服务则建议采inetd启动其效能较佳。
以下为inetd方式作为范例:
修改 /usr/local/etc/proftpd.conf

ServerType inetd

在 /etc/xinedtd.d/ 下建立 proftpd 档,内容为 :




Service ftp {
disable = no ←预设为 yes,请改为 no
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/proftpd
}






10-6 proftpd.conf 的设定范例:

# ServerName : 设定您的站台名称 (”# ”号为注解)
ServerName "MY FTP SITE"

# ServerType : 设定 ProFTPD 的执行方式,可以是 standalone 或 inetd
# 此处是 inetd
ServerType inetd

# DefaultServer 用来设定 unknown 的连接是否由预设的主机来处理
DefaultServer on

# Port 21 是 FTP 标准的通道,inetd启动的话无法变更port
Port 21

# 档案安全滤网值设为022
Umask 022

# 可避免 Dos 攻击的设定
MaxInstances 30

# 执行时的身份/组别权限
User nobody
Group nobody

#设定档案能被覆写.
<Directory /*>
AllowOverwrite on
</Directory>

#针对特定目录设定存取的限制,如上传目录
<Directory uploads/*>
#予许来源读取
<Limt READ>
#Deny All
Allow All
</Limit>
#允许来源储存、建立目录
<Limit STOR MKD>
Allow All
</Limit>
</Directory>

# 以下是匿名 FTP 的设定
<Anonymous ~ftp>
User ftp
Group ftp
AnonRequirePassword off
RequireValidShell off

#将用ftp身份登入的user权限设为等同anonymous
UserAlias anonymous ftp

# 设定匿名最大连线人数
MaxClients 10

#当使用者登入时显示欢迎讯息 , welcome.mag为欢迎讯息档名
#DisplayFirstChdir 是当切换目录时的提示讯息
DisplayLogin welcome.msg
DisplayFirstChdir .message

#限制匿名使用者是有能写入资料,此处设为不允许, Allow all 为允许
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
存档之后,重新启动 inetd :

/etc/rc.d/init.d/inet restart

10-7其他设定

设定一般user登入与否:
<Limit Login>
AllowAll 若不允许为 DenyAll </Limit>

设定一般user登入时的home目录:
DefaultRoot <目录位置>

若要设定根目录为自已的home目录:让使用者无法切换到别人的home目录
DefaultRoot ~

设定支援续传:
AllowStoreRestart on

#若想使用Root身份登入,请加上:
RootLogin On

隐藏版本讯息:
ServerIdent On “”

设定一个IP的登入个数:
MaxClientsPerHost 1

设定Log档的位置和档名:
TransferLog <目录位置><档名>

匿名FTP来源限制:
<Limit Login>
Order Deny,Allow
Deny from .evil.net , .otherevil.net
Allow from all
</Limit>

若发现使用 CuteFtp 等软体连上FTP时,无法改变档案属性,在proftpd.conf加入
AllowChmod true


隐藏某Group/User的档案:
HideUser <使用者> / HideGroup <群组>

若设定完仍无法使用匿名登入,请确定在匿名使用者中,有加入:
RequireValidShell off



献花 x0 回到顶端 [楼 主] From:台湾数位联合 | Posted:2005-08-05 10:11 |
graceman
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x4
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

不错的教学设定文章, thanks


献花 x0 回到顶端 [1 楼] From:台湾中华电信 | Posted:2005-08-24 23:57 |
gtt 手机
个人头像
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x0 鲜花 x50
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

大大 这篇文章 要现在有用 [Linux] 架 FTP 者 才搞得清楚 !! 表情


献花 x0 回到顶端 [2 楼] From:台湾中华电信 | Posted:2005-09-18 21:35 |
lapklaman
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前上站
推文 x3 鲜花 x427
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

感谢大大的分享


献花 x0 回到顶端 [3 楼] From:台湾中华电信 | Posted:2010-03-13 09:19 |
mnbmnb5266
个人文章 个人相簿 个人日记 个人地图
小有名气
级别: 小有名气 该用户目前不上站
推文 x5 鲜花 x46
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

教学是不错,只不过我不接触这个软体所以暂时也是用不到,可惜啊


我的收藏
https://pan.baidu.com/s/1QUJ9lr_VzxXKRJAlBJgUQA
提取码:am2c
献花 x0 回到顶端 [4 楼] From:加拿大Rogers | Posted:2010-08-25 19:46 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.055571 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言