1) FTP协议

FTP(FileTransfer Protocol,文件传输协议)用于管理计算机之间的文件传送。FTP

是Internet 上使用非常广泛的一种通讯协议,它是由支持Internet 文件传输的各种规则

所组成的集合,这些规则使Internet用户可以把文件从一个主机拷贝到另一个主机上。

若将文件从远程计算机拷贝到本地计算机上,称为“下载(download)”文件;将文件

从本地计算机拷贝到远程计算机上,称为“上传(upload)”文件。

FTP采用客户机/服务器方式。使用时,启动FTP客户端程序与远程主机建立连接,

然后向远程主机发出传输命令,远程主机在收到命令后就给予响应,并执行正确的命令。

一个完整的FTP文件传输需要建立两种类型的连接,一种为文件传输下达命令,

称为控制连接,另一种实现真正的文件传输,称为数据连接。

服务器端一个FTP进程可以同时为多个客户进程提供服务。服务器进程由两部分

组成:一个主进程,负责接受新的请求;另外有若干个从属进程,负责处理单个请求。

Red Hat Linux 9自带的FTP服务器软件为vsftpd。

(2) MAIL服务

MAIL服务是互联网的又一重要服务,是人们在网络上进行联系的主要手段,通过

mail服务器,邮件被传送到世界各地。

1.  FTP服务器的配置

(1) 安装vsftp服务器

进入软件文件夹

[root@lab root]# cd /root/labsoft

安装vsftpd软件包

[root@lab labsoft]#rpm –ivh vsftpd-1.1.3-8.i386.rpm

(2) 配置vsftp配置文件

进入/etc目录

[root@lab labsoft]# cd /etc

编辑vsftpd.conf文件

[root@lab etc]# vi vsftpd/vsftpd.conf

配置文件的主要内容如下:根据你的需要配置,其中红色的需要重点注意

原始内容  我们配置的内容  说明

anonymous_enable=YES    是否允许匿名ftp,如否选择NO

local_enable=YES    是否允许本地用户登录

write_enable=YES    是否开放本地用户的写权限

local_umask=022    设置本地用户的文件的掩码是022,

默认值是077

#anon_upload_enable=YES  anon_upload_enable=YES  是否允许匿名用户上传文件

#anon_mkdir_write_enable

=YES

anon_mkdir_write_enable

=YES

是否允许匿名用户创建新文件夹

dirmessage_enable=YES    是否显示目录说明文件,默认是

YES但需要手工创建.message 文件

xferlog_enable=YES    激活上传下载日志

connect_from_port_20=YE

S

启用FTP 数据端口的连接请求

(ftp-data).

#chown_uploads=YES

#chown_username=

whoever

是否改变上传文件的属主,如果是

需要输入一个系统用户名,可以把

上传的文件都改成root属主

#xferlog_file=/var/log/vsftp

d.log

传输日志的路径和名字默认是

/var/log/vsftpd.log

xferlog_std_format=YES    是否使用标准的ftp xferlog模式

#idle_session_timeout=600    设置默认的断开不活跃session 的

时间

#data_connection_timeout=

120

data_connection_timeout=

120

设置数据传输超时时间

#nopriv_user=ftpsecure    运行vsftpd需要的非特权系统用户

默认是nobody

#ascii_upload_enable=YES

#ascii_download_enable=

YES

是否使用ascii 码方式上传和下载

文件

#ftpd_banner=Welcome

to blah FTP service.

定制欢迎信息

#deny_email_enable=YES

#banned_email_file=

/etc/vsftpd.banned_emails

是否允许禁止匿名用户使用某些邮

件地址,如果是,输入禁止的邮件

地址的路径和文件名

#chroot_list_enable=YES

#chroot_list_file=

/etc/vsftpd.chroot_list

chroot_list_enable=YES

chroot_list_file=

/etc/vsftpd.chroot_list

还 需要 手工 创建

/etc/vsftpd.chroot_list,并

是否将系统用户限止在自己的

home目录下,如果选择了yes那么

chroot_list_file=/etc/vsftpd.chroot_li

st中列出的是不chroot的用户的列

且加入需要限制的用户

pam_service_name=vsftpd    设置PAM认证服务的配置文件名

称,该文件存放在/etc/pam.d/目录下

userlist_enable=YES    由于默认情况下

userlist_deny=YES, 所以

/etc/vsftpd.user_list文件中所列出的

用户不允许访问vsftpd服务器

listen=YES    使vsftpd处于独立启动模式

tcp_wrappers=YES    使用tcp_wrappers 作为主机的访问

控制方式

anon_world_readable_only

=NO

开放匿名用户的浏览权限

anon_other_write_enable=

YES

允许匿名用户对服务器上的文件或

文件夹有更名或删除操作的权限

max_clients=200  指定服务器总的并发连接数

max_per_ip=2  指定每个客户机的最大连接数

accept_timeout=120  空闲2分钟后自动中断连接

local_max_rate=80000  本地用户最大传输速率(KB/s)

anon_max_rate=80000  匿名用户最大传输速率(KB/s)

(3) 启动停止服务器

启动服务器

[root@lab etc]# /etc/init.d/vsftpd start 或

[root@lab etc]# service vsftpd start

停止服务器

[root@lab etc]# /etc/init.d/vsftpd stop 或

[root@lab etc]# service vsftpd stop

重新启动服务器

[root@lab etc]# /etc/init.d/vsftpd restart 或

[root@lab etc]# service vsftpd restart

(4) 修改匿名用户上传目录的权限

匿名用户的默认目录是“/var/ftp/pub”。使用下面的命令修改:

[root@lab etc]# chmod +777 /var/ftp/pub

(5) 测试

1)  在Linux下使用ftp命令进行测试

2)  在windows系统下,使用FTP工具测试

2.  mail服务器的配置

(1)  安装Sendmail软件包

进入软件文件夹

[root@lab root]# cd /root/lab/labsoft

安装sendmail软件包

[root@lab labsoft]# rpm –ivh sendmail-8.12.8-4.i386.rpm

[root@lab labsoft]# rpm –ivh sendmail-cf-8.12.8-4.i386.rpm

[root@lab labsoft]# rpm –ivh sendmail-doc-8.12.8-4.i386.rpm

(2)  配置DNS的MX记录

[root@lab labsoft]#vi /var/named/test.com.zone

$TTL 86400

@ IN  SOAdns root.test.com.(

2 ; serial

28800 ; refresh

7200 ; retry

604800 ; expire

86400 ; ttl

)

@ IN  NSdns.test.com.

@ IN  MX5  mail.test.com.

mail  INA 192.168.100.253

根据你的机器和网络的配置,更改地址

(3)  修改Sendmail的配置文件“/etc/mail/sendmail.cf”。

[root@lab labsoft]#vi /etc/mail/sendmail.cf

将该文件中的行:Cwlocalhost

修改为: Cwmail.test.com  test.com

(4)  修改Sendmail的配置文件“/etc/mail/sendmail.mc”。

[root@lab labsoft]#vi /etc/mail/sendmail.mc

将该文件中有以下字符串开头的四行用注释符号“#”注释掉。

“DAEMON_OPTIONS”

(5)  使用下面的命令重新生成配置文件。

[root@lab labsoft]# make –C /etc/mail

(6)  修改/etc/mail/access文件,在该文件中加入下面一行:

[root@lab labsoft] #vi /etc/mail/access

mail.test.com Replay

(7)  由/etc/mail/access 文件生成/etc/mail/access.db ,使用下面的命令:

[root@lab labsoft] #makemap hash /etc/mail/access.db < /etc/mail/access

(8)  启动停止服务器

启动服务器

[root@lab root]# /etc/init.d/sendmail start

停止服务器

[root@lab root]# /etc/init.d/sendmail stop

重新启动服务器

[root@lab root]# /etc/init.d/sendmail restart

(9)  测试服务器

向student用户发信

[root@lab root]#mail student@test.com

切换用户为student

[root@lab root]#su student

以student用户收信

[student@lab root]$mail

Linux--FTP和MAIL服务器的更多相关文章

  1. LINUX下的Mail服务器的搭建

    电子邮件是因特网上最为流行的应用之一.如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同.与传统邮件不同的是,电子邮件既迅速,又易于分发 ...

  2. 巧用花生壳将局域网内的FTP和www服务器发布到互联网

    一.目的:用生壳发布FTP和mail服务器到互连网. 二.网络环境:(出租房多家共用路由器上网,ADSL的1Mbps带宽,动态PPPOE拨号,帐号和密码存储在soho路由器中,路由器自动联机上网,并为 ...

  3. LINUX的SSH下FTP到远程服务器Entering Passive Mode失败解决

    LINUX 系统FTP连接远程服务器经常出现在传输文件或者发出 ls命令时候出现 "Entering Passive Mode "然后就再也无法运作了.该工作主要是因为LINUX的 ...

  4. Linux FTP的安装与配置

    Linux FTP的安装与配置   ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service  ...

  5. 详述Linux ftp命令的使用方法

    转自:http://os.51cto.com/art/201003/186325.htm ftp服务器在网上较为常见,Linux ftp命令的功能是用命令的方式来控制在本地机和远程机之间传送文件,这里 ...

  6. Linux FTP的安装与配置(转)

    Linux FTP的安装与配置   ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service  ...

  7. linux FTP安全配置

    linux FTP安全配置 关闭防火墙,selinux安全机制   service iptables stop  setenforce 0 匿名用户 匿名用户只能访问ftp服务器上的/var/ftp/ ...

  8. Linux 自动化部署DNS服务器

    Linux 自动化部署DNS服务器 1.首先配置主DNS服务器的IP地址,DNS地址一个写主dns的IP地址,一个写从dns的地址,这里也可以不写,在测试的时候在/etc/resolv.conf中添加 ...

  9. 在Linux系统下mail命令的用法

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...

随机推荐

  1. [BZOJ 5093]图的价值

    Description 题库链接 一个带标号的图的价值定义为每个点度数的 \(k\) 次方的和.给定 \(n\) 和 \(k\) ,请计算所有 \(n\) 个点的带标号的简单无向图的价值之和.对 \( ...

  2. 【NOIP 2017】列队

    Description Sylvia 是一个热爱学习的女♂孩子. 前段时间,Sylvia 参加了学校的军训.众所周知,军训的时候需要站方阵. Sylvia 所在的方阵中有n×m名学生,方阵的行数为 n ...

  3. 浅析Linux内核调度

    1.调度器的概述 多任务操作系统分为非抢占式多任务和抢占式多任务.与大多数现代操作系统一样,Linux采用的是抢占式多任务模式.这表示对CPU的占用时间由操作系统决定的,具体为操作系统中的调度器.调度 ...

  4. hdu 3954 线段树 (标记)

    Level up Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. HDU 5506(GT and set)

    题意: 表示看了很久,然而发现还是没看懂题. 正解:给你a个集合,让你把他们合并成k个,当两个集合有公共数字时可以合并. (一直以为是合并后,每个集合至少有两个数字相同- -,这英语也是醉了) 思路: ...

  6. Ubuntu 16.04 Vim安装及配置【转】

    转自:http://www.cnblogs.com/ace-wu/p/6273031.html 安装VIM 默认已经安装了VIM-tiny acewu@acewu-computer:~$ locate ...

  7. python3 字符串str 教程

    字符串可以用单引号或双引号来创建. Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用. 例: var1 = 'Hello World!' var2 = "Pyth ...

  8. 关于Matchvs一些使用心得与建议

    我的项目是类似<贪吃蛇>玩法的一款IO游戏,就是几个玩家在游戏界面中可以吃食物,也可以相互吃,吃了食物或对方都会变大这样子.我是在用cocos creator做完前端开发的部分后,开始接入 ...

  9. ConcurrentHashMap1.7和1.8的不同实现

    ConcurrentHashMap 在多线程环境下,使用HashMap进行put操作时存在丢失数据的情况,为了避免这种bug的隐患,强烈建议使用ConcurrentHashMap代替HashMap,为 ...

  10. 链表的无锁操作 (JAVA)

    看了下网上关于链表的无锁操作,写的不清楚,遂自己整理一部分,主要使用concurrent并发包的CAS操作. 1. 链表尾部插入 待插入的节点为:cur 尾节点:pred 基本插入方法: do{ pr ...