linux 下FTP服务的搭建详解

第1章 centos 6.8搭建FTP服务详解

1.1搭建环境:

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.8 (Final)

[[email protected] ~]# uname -r

2.6.32-642.el6.x86_64

[[email protected] ~]# uname -m

x86_64

[[email protected] ~]#

1.2yum 安装FTP软件:

[[email protected] ~]# rpm -qa vsftpd    #查看系统是否已经安装了该软件

[[email protected] ~]# yum install -y vsftpd  #安装FTP软件命令

Installed:

vsftpd.x86_640:2.2.2-21.el6     #结尾有这个提示说明安装成功。

Complete!

[[email protected] ~]#

1.3设置开机自启动:

[[email protected] ~]# chkconfig --list vsftpd    #默认服务是关闭的,需要手动设置下次开机自启动

vsftpd         0:off   1:off   2:off  3:off   4:off   5:off  6:off

[[email protected] ~]#

[[email protected] ~]# chkconfig vsftpd on    #设置下次开机自启动

[[email protected] ~]# chkconfig --list vsftpd    #查看是否设置成功

vsftpd         0:off   1:off   2:on   3:on    4:on    5:on   6:off

[[email protected] ~]#

注意!安装时发现这个错误:

Loaded plugins:fastestmirror, refresh-packagekit, security

Loading mirror speedsfrom cached hostfile

Could not retrievemirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=oserror was

14: PYCURL ERROR 6 -"Couldn‘t resolve host ‘mirrorlist.centos.org‘"

Error: Cannot find avalid baseurl for repo: base

是因为缺少DNS解析,解决如下:到/etc目录下配置resolv.conf加入nameserver IP(添加DNS服务器的IP,阿里云DNS:223.5.5.5)

也可以在nat模式的DNS指向网关就行了

1.4先关闭防火墙

/etc/init.d/iptables stop

chkconfig iptables off

也可以不关防火墙,配置以下设置

打开/etc/sysconfig/iptables文件

vi /etc/sysconfig/iptables

在REJECT行之前添加如下代码

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp-p tcp --dport 21 -j ACCEPT

保存和关闭文件,重启防火墙

service iptables start

1.5配置FTP的主配置文件,默认的主配置文件是/etc/vsftpd/vsftpd.conf,(先备份!!!!)

97#chroot_list_enable=YES     #如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项

98 #(default follows)

99#chroot_list_file=/etc/vsftpd/chroot_list   #设置指定登录的用户

将97和99的#去掉

可以使用sed替换的方法:

[[email protected] vsftpd]# sed  -i ‘[email protected]#[email protected][email protected]‘ vsftpd.conf

[[email protected] vsftpd]# grep enable vsftpd.conf

chroot_list_enable=YES

[[email protected] vsftpd]#sed -i ‘[email protected]#chroot_list_file=/etc/vsftpd/[email protected]_list_file=/etc/vsftpd/[email protected]‘vsftpd.conf

[[email protected] vsftpd]# grep  list_file vsftpd.conf

chroot_list_file=/etc/vsftpd/chroot_list

1.6添加用户

增加用户ftp001,指向目录/home/ftp001,禁止登录SSH权限

[[email protected] vsftpd]# useradd -d /home/ftp001 -gftp  -s /sbin/nologin ftp001   #该用户是vftp的程序运行的用户。

[[email protected] vsftpd]# id ftp001

uid=810(ftp001) gid=50(ftp) groups=50(ftp)

[[email protected] vsftpd]#

设置密码:

passwdftp001  123456

创建文件chroot_list:

[[email protected] vsftpd]# vi /etc/vsftpd/chroot_list

oldboy

test    #添加用户

[[email protected] vsftpd]# /etc/init.d/vsftpd start  #重新启动FTP服务

Starting vsftpd for vsftpd:                                [  OK  ]

测试

windows中输入:ftp://10.0.0.130 进行测试

有结果但是不能创建和添加?

解决办法:

1、改文件/var/ftp/pub/ 目录其他用户加权限w。

[[email protected] ftp]# chmod o+w pub/

2、编辑配置文件vsftpd.conf:

修改以下几项:(有注释的去掉注释)

local_enable=yes    #是否允许本地用户登录FTP服务器,默认是允许

write_enable=yes    #是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许

local_umask=022     #设置本地用户的文件生成掩码为022,默认是077

修改配置文件即可vsftpd.conf,确定有以下几行,没有自己添加进去就可以了.

anonymous_enable=yes    #是否允许anonymous登录FTP服务器,默认是允许的.

anon_upload_enable=yes  #是否允许匿名用户上传文件。只有在write_enable设置为

YES时,该配置项才有效。

anon_mkdir_write_enable=yes     #是否允许匿名用户创建目录。只有在write_enable设置为    YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。

anon_umask=022

此时匿名用户能够上传文件了。

1.7其他服务器测试(linux中):

[[email protected] ~]# ftp 10.0.0.130

Connected to 10.0.0.130 (10.0.0.130).

220 (vsFTPd 2.2.2)

Name (10.0.0.130:root): oldboy

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (10,0,0,130,177,153).

150 Here comes the directory listing.

-rw-r--r--   1 500      501             0 Sep 06 08:15

下载:

mget  文件    #从远程服务器上下载文件到当前系统的目录    

格式:mget [remote-files]

切换到要下载的目录,

ftp> mget person.txt

mget person.txt? y

227 Entering Passive Mode (10,0,0,130,103,230).

150 Opening BINARY mode data connection forperson.txt (71 bytes).

226 Transfer complete.

71 bytes received in 5.1e-05 secs (1392.16Kbytes/sec)

ftp>

[[email protected] test]# ls

person.txt

上传:

mput    #上传文件到FTP服务器

格式:mput local-files

将本地主机中一批文件传送至远端主机.

注意!将要上传的文件拷贝到一个目录中,并且在该目录中连接FTP服务(ftp:10.0.0.130)

然后使用命令

ftp> mput *.* ./

mput num.txt? y

227 Entering Passive Mode (10,0,0,130,118,152).

150 Ok to send data.

226 Transfer complete.

40 bytes sent in 0.000267 secs (149.81 Kbytes/sec)

mput pass.txt? y

227 Entering Passive Mode (10,0,0,130,82,252).

150 Ok to send data.

226 Transfer complete.

126 bytes sent in 0.000177 secs (711.86 Kbytes/sec)

mput ./? y

./: not a plain file.

ftp>

ftp> ls

-rw-r--r--   1 500      501           53 Sep 10 02:14 G.bak

-rw-r--r--   1 500      501            40 Sep 10 02:17 num.txt

--wx------   1 500      501            18 Sep 07 07:45 oldboy.sh

d-wx------   2 500      501          4096 Sep 07 07:44 oldboydir

-rw-r--r--   1 500      501          126 Sep 10 02:17 pass.txt

-rw-r--r--   1 500      501            71 Sep 10 02:14 person.txt

226 Directory send OK.

时间: 2024-10-03 21:46:37

linux 下FTP服务的搭建详解的相关文章

<Linux下FTP服务的搭建>

默认安装好ftp软件包匿名用户是可以下载的.匿名以后可以上传:anon_upload_enable=YES# getsebool -a | grep ftpallow_ftpd_anon_write --> onchcon -t public_content_rw_t pubchmod 775 pubchgrp ftp pub 匿名用户可以创建目录:anon_mkdir_write_enable=YES 在创建的目录上传文件看不到.添加下面anon_world_readable_only=NO

Linux下视频流媒体直播服务器搭建详解

目标: 搭建网络直播流媒体服务器系统(Linux操作系统) 背景: 用于OTT-TV大并发的直播和点播的一套流媒体服务器系统.支持N x 24小时录制回看和直播的服务器端解决方案. 解决方案: l  微软的Windows Media Services l  服务端软件:Windows Media Server l  平台:Windows l  文件格式:ASF, WMV ---------------------------------------------------------------

<linux下extmail服务的搭建>

下载2个软件包: extmail-1.1.0.tar.gz     extman-1.1.tar.gz 下载地址:http://www.cpan.org/ 创建extsuite目录 mkdir /var/www/extsuite 解压这2个包到这个目录下: tar zxf extman-1.1.tar.gz -C /var/www/extsuite tar zxf extmail-1.1.0.tar.gz -C /var/www/extsuite 改个短的名字 mv extmail-1.1.0

【转】Linux下Android ADB驱动安装详解

原文网址:http://blog.csdn.net/zhenwenxian/article/details/5901350 Linux下Android ADB驱动安装详解 概述 最近由于内置的合作商比较多,本人使用的Ubuntu系统好多厂商的Android手机都无法正确的识别,经过一番折腾,和查阅SDK,现把Linux下ADB驱动配置的方法和当中会遇到的相关问题的解决方法整理出来贡献给大家. Linux下使用手机USB调试模式连接ADB进行Android程序的调试,配置驱动没有Windows来的

[fw]Linux下tty/pty/pts/ptmx详解

基本概念: 1> tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适.终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备. 2> pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty) 3> pts/ptm

linux下文件打包、压缩详解

Linux平台下,有如下几种常见的压缩工具: ========================================================================= 工 具 文件扩展名 描述 ------------------------------------------------------------------------- bzip2 .bz2 采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码 compress .Z 原始的Unix文件压

【Linux学习】Linux下用户组、文件权限详解

原文地址:http://www.cnblogs.com/123-/p/4189072.html Linux下用户组.文件权限详解 用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 文件所在组 当某个用户创

Linux 下的dd命令使用详解

dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解     一.dd命令的解释 dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入文件名,缺省为标准输入.即指定源文件.< if=input file > 2. of=文件名:输出文件名,缺省为标准输出.即指定目的文件.< of=output file >

linux下ftp服务搭建

1. 配置 /etc/passwd /etc/group /etc/vsftpd/vsftpd.conf #配置文件 /usr/sbin/vsftpd #主程序 /etc/vsftpd/ftpusers #黑名单,只要在此名单中即不能登录ftp服务器 /etc/vsfptd/user_list #控制用户登录 /var/ftp #匿名用户主目录 #配置锁定用户只能在家目录活动,两个选项同时启用才能生效 chroot_list_enable=YES chroot_list_file=PATH #注