linux怎么搭建ftp服务器,第1张

ftp工作是会启动两个通道:

控制通道 , 数据通道

在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)

PORT模式:

在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式:

传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

安装ftp

#rpm -qa vsftpd 查看是否已经安装

#yum install -y vsftpd

#rpm -ql vsftpd

/etc/logrotated/vsftpd vsftpd的日志文件

/etc/pamd/vsftpd PAM认证文件

/etc/rcd/initd/vsftpd 启动脚本

/etc/vsftpd vsftpd的配置文件存放的目录

/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件

/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件

/etc/vsftpd/vsftpdconf 主配置文件

/etc/vsftpd/vsftpd_conf_migratesh vsftpd操作的一些变量和设置

/usr/sbin/vsftpd vsftpd的主程序

其他一些说明文档和手册文件略!

/var/ftp 匿名用户主目录

/var/ftp/pub 匿名用户的下载目录

#service vsftpd start

#chkconfig --level vsftpd

#chkconfig --level 2345 vsftpd on

2 匿名用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp

用匿名用户登录的时候默认是只有下载的权限,没有上传,创建和删除的权限:

#vim /etc/vsftpd/vsftpdconf

anon_upload_enable=YES 上传

anon_mkdir_write_enable=YES 创建

anon_other_write_enable=YES 删除

#service vsftpd restart

为了安全应该禁止匿名用户的登录:

123456 #vim /etc/vsftpd/vsftpdconf

anonymous_enable=NO

#anon_upload_enable=YES 上传

#anon_mkdir_write_enable=YES 创建

#anon_other_write_enable=YES 删除

#service vsftpd restart

3 创建一个直接登录系统用户来登录ftp:

#useradd -s /sbin/nologin viong

#passwd viong

用户具有 上传 创建 下载 切换目录

------------------------------------------------------------------

4 加强vsftp安全设置:

限制系统用户锁定在家目录:

#vim /etc/vsftpd/vsftpdconf

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系统用户,把需要限制的用户加入/etc/vsftpd/chroot_list中即可

#touch /etc/vsftpd/chroot_list

#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 将本地用户都加入到chroot_list

限制重要系统用户不能登录ftp:

#cat /etc/vsftpd/ftpusers 默认已经添加了系统中一些比较重要的用户

#echo "viong" >>/etc/vsftpd/ftpusers 此时viong不能登录ftp

利用ftp用户策略允许登录ftp的系统用户:

/etc/vsftpd/user_list 只有在这个文件中的用户才能登录系统:

#vim /etc/vsftpd/vsftpdconf

#在userlist_enable=YES 的后面添加

userlist_deny=NO

userlist_file=/etc/vsftpd/user_list

设置登录ftp目标ip地址:用iptables设置

---------------------------------------

搭建支持SSL加密传输的vsftpd:

#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpdpem -out /etc/vsftpd/vsftpdpem 生成证书

#vim /etc/vsftpd/vsftpdconf

ssl_enable=YES

allow_anon_ssl=NO

force_local_data_ssl=YES

force_local_logins_ssl=YES

ssl_tlsv1=YES

ssl_sslv2=YES

ssl_sslv3=YES

rsa_cert_file=/etc/vsftpd/vsftpdpem

下面是ssl参数一些定义,根据自己需求去修改:

ssl_enable=yes/no //是否启用 SSL,默认为no

allow_anon_ssl=yes/no //是否允许匿名用户使用SSL,默认为no

rsa_cert_file=/path/to/file //rsa证书的位置

dsa_cert_file=/path/to/file //dsa证书的位置

force_local_logins_ssl=yes/no //非匿名用户登陆时是否加密,默认为yes

force_local_data_ssl=yes/no //非匿名用户传输数据时是否加密,默认为yes

force_anon_logins_ssl=yes/no //匿名用户登录时是否加密,默认为no

force_anon_data_ssl=yes/no //匿名用户数据传输时是否加密,默认为no

ssl_sslv2=yes/no //是否激活sslv2加密,默认no

ssl_sslv3=yes/no //是否激活sslv3加密,默认no

ssl_tlsv1=yes/no //是否激活tls v1加密,默认yes

ssl_ciphers=加密方法 //默认是DES-CBC3-SHA

#service vsftpd restart

用flashftp连接:

连接类型为:FTP使用公开SSL(验证SSL)

地址:192168137130:21

登录类型:普通

用户:viong

密码:123

在开发过程中,必然会出现多人同时工作、协着的情况,在嵌入式开发项目中更为平常,这样可以加快项目周期,为产品上市占得时间先机。目前,使用Linux作为开发产品的操作系统情况越来越多,使用越来越广泛。为了交叉编译,为了最接近开发目标,我们一般都会自己搭建一台Linux开发服务器。Linux开发服务器一些常用的功能必须支持,比如Samba、nfs、tftp、httpd等。

首先我们需要选择合适的Linux操作系统作为服务器的系统,推荐使用Fedora8、Fedora10等,笔者在长期使用的过程中觉得比较稳定吧!如何安装该操作系统就不多说了。 装好系统后,需要增加Linux OS用户,可以使用命令#adduser XXX;增加XXX用户,#passwd XXX给其设置登录密码。当然使用图形化创建用户也很直观、方便。在这个环节值得注意的一定要设置好该用户的home目录,一般都会设置到该用户的工作目录,各个用户的工作目录需要私有化、独立开来,这样方便些、安全些。 多用户的账户有了,我们应该来打通网络功能了,Fedora有bug,在图形化配置GATEWAY什么的会不成功,请安装如下方法修改: # cd cd /etc/sysconfig/network-scripts/ # vi ifcfg-eth0 修改配置文件如下: # Marvell Technology Group Ltd 88E8001 Gigabit Ethernet Controller DEVICE=eth0 HWADDR=00:16:e6:db:c2:96 ONBOOT=yes BOOTPROTO=static //这个应该是“static”,而不是“dhcp”或“none”; USERCTL=yes PEERDNS=yes IPV6INIT=no NM_CONTROLLED=yes//这个应该是“yes”,如不修改,链接仍是disconnected; TYPE=Ethernet NETMASK= IPADDR= DNS1= DNS2= GATEWAY= step 3: # service network restart 接下来就需要调试一下Samba功能了,这样在windows下编辑Linux下的代码将非常的便利。命令行下操作方法如下: Vim /etc/samba/smbusers # Unix_name = SMB_name1 SMB_name2 … root = administrator admin nobody = guest pcguest smbguest dssun = dssun hmchen = hmchen 增加Samba用户; Vim /etc/samba/smbconf [dssun] comment = path = /opt/STM/STLinux-23/devkit/dtvkit/dssun writeable = yes ; browseable = yes valid users = bluo, dssun, hmchen, hqian, sbxiang, tsfu, yrli 设置工作路径,可读写性、有效访问的用户等。 在图形化下也有配置菜单,这个就很简单了,不再叙述。 有了Samba就方便很多了!编译编辑都很不错了!接下来要着手你的开发平台软件,这个对于不同平台的SDK有不同的处理方法,根据自己的SDK来处理。 有了SDK后,我们编译通过后,一般都会进行调试,如何方便的调试呢?一般都会想到使用nfs调试。 以Fedora为例,一般默认安装的没有包括tftp功能,可以使用yum来安装,方便! #yum install tftp; #yum install tftp-server 还需要更改一下tftp的配置,如下: vim /etc/xinetdd/tftp 修改server_args = -s /tftpboot -c,这里的-c一定要加上,否则只能下载不能上传!!! service tftp { disable = no socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/intftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 flags = IPv4 } # mkdir /tftpboot # chmod 777 -R /tftpboot/ # service xinetd restart 记得要关闭防火墙、seLinux不disabled seLinux,Samba有可能只能读不能写,切记。

正确

Liux操作系统已经有了广阔的用武之地,已经应用在了很多场合,如个人计算机上,各种计算机服务器上,例如我们上网的wb服务器,文件上传下载的ftp服务器,进行云计算的服务器,进行大数据处理的服务器,进行人工智能计算的服务器等,除此之外,liux操作系统,还被移植到了很多智能设备上。如我们用的智能手机,安卓操作系统。电视、冰箱、空调等信息家电的操作系统。网络电视的机顶盒操作系统。工业上的智能仪表操作系统等。

Red Hat Linux下架设FTP服务器

FTP,即File Transfer Protocol,文件传输协议。它是目前Internet上最流行的数据传送方法之一。利用FTP协议,我们可以在FTP服务器和FTP客户端之间进行双向数据传输,既可以把数据从FTP服务器上下载到本地客户端,又可以从客户端上传数据到远程FTP服务器。

1安装vsftpd服务器

vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。

如果选择完全安装RedHat Linux 90,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:

[root@ahpeng root] rpm -qa | grep vsftpd

如果结果显示为“vsftpd-113-8”,则说明系统已经安装vsftpd服务器。如果安装RedHat Linux 90时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单→系统设置→添加删除应用程序”菜单项,在出现的“软件包管理”对话框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。

另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-113-8i386rpm安装包,然后在终端命令窗口运行以下命令即可开始安装进程:

[root@ahpeng RPMS] rpm -ivh vsftpd-113-8i386rpm

2启动/重新启动/停止vsftpd服务

从Red Hat Linux90开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:

[root@ahpeng root] /etc/rcd/initd/vsftpd start

重新启动vsftpd服务:

[root@ahpeng root] /etc/rcd/initd/ vsftpd restart

关闭vsftpd服务:

[root@ahpeng root] /etc/rcd/initd/ vsftpd stop

确认vsftpd服务已经启动后,我们可以在任意一台Windows主机的DOS命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:

Microsoft Windows XP [版本 512600]

(C) 版权所有 1985-2001 Microsoft Corp

F:\Peter>;ftp FTPAddress

Connected to FTPAddress

220 (vsFTPd 113) //vsftpd的响应请求

User (FTPAddress:(none)): ftp //输入用户账号ftp

331 Please specify thepassword

Password: //输入密码ftp

230 Login successful Havefun

ftp>;

3vsftpd的配置

在Red HatLinux 90里的vsftpd共有3个配置文件,它们分别是:

vsftpdftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。

vsftpduser_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd conf配置文件里启用userlist_enable=NO选项时才允许访问。

vsftpdconf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

(1)用户登录控制

anonymous_enable=YES,允许匿名用户登录。

no_anon_password=YES,匿名用户登录时不需要输入密码。

local_enable=YES,允许本地用户登录。

deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。

banned_email_file=/etc/vsftpdbanned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpdbanned_emails)。

(2)用户权限控制

write_enable=YES,开启全局上传权限。

local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。

anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。

anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。

chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!

chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号来代替。

chroot_list_enable=YES,可以用一个列表限定哪些本地用户只能在自己目录下活动,如果chroot_local_user=YES,那么这个列表里指定的用户是不受限制的。

chroot_list_file=/etc/vsftpdchroot_list,如果chroot_local_user=YES,则指定该列表(chroot_local_user)的保存路径(默认是/etc/vsftpdchroot_list)。

nopriv_user=ftpsecure,指定一个安全用户账号,让FTP服务器用作完全隔离和没有特权的独立用户。这是vsftpd系统推荐选项。

async_abor_enable=YES,强烈建议不要启用该选项,否则将可能导致出错!

ascii_upload_enable=YES;ascii_download_enable=YES,默认情况下服务器会假装接受ASCⅡ模式请求但实际上是忽略这样的请求,启用上述的两个选项可以让服务器真正实现ASCⅡ模式的传输。

注意:启用ascii_download_enable选项会让恶意远程用户们在ASCⅡ模式下用“SIZE/big/file”这样的指令大量消耗FTP服务器的I/O资源。

这些ASCⅡ模式的设置选项分成上传和下载两个,这样我们就可以允许ASCⅡ模式的上传(可以防止上传脚本等恶意文件而导致崩溃),而不会遭受拒绝服务攻击的危险。

(3)用户连接和超时选项

idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。

data_connection_timeout=120,设定默认的数据连接超时时间。

(4)服务器日志和欢迎信息

dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。

ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。

xferlog_enable=YES,启用记录上传/下载活动日志功能。

xferlog_file=/var/log/vsftpdlog,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpdlog。

Linux中如何搭建IIS服务器?

这个我在centos上面尝试过,是可以安装软件来模拟使用iis服务器的功能,但是需要编写的网站是mvc版本的,即使模拟出来了对网站的编码也是有要求的。

因为iis是微软服务器系统上面内置网站服务,有些功能是不可以在其他服务器系统上面使用的。一般来说iis支持asp,aspx,html语言等,apache,nginx支持php,html,jsp等

架设一台linux服务器最低需要多少资金?

主要看服务器配置和用途,因为一台运行好点的电脑,系统和软件全用开源的,所以一般花不了几个钱,但是特殊要求的一样花不少的。

如何基于Linux架设web式Sendmail邮件服务器?

方法:在游览器里输入路由器的管理ip,比如19216801一般是这样的,打如帐号和密码,选择NAT,或者相应的端口映射菜单。在端口那里输入邮件服务器的端口25。接着输入你电脑的局域网ip

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » linux怎么搭建ftp服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情