CentOS 6.5 手动搭建FTP服务器--vsftpd

本篇主要讲解手动搭建FTP服务器并简单使用FTP服务的整个过程,以及遇到的一些问题和解决办法。环境配置为:CentOS 6.5(FTP server) + Windows 7(FTP client), 由于囊中羞涩,整个环境在VMware Workstation 12 Pro中搭建


1. 安装vsftp服务器

有了yum,包的安装简直轻松加愉快,这里我们安装的是vsftpd服务器。vsftpd是“Very Secure FTP Daemon”的缩写,其是在类UNIX操作系统中广受推崇的免费开源服务器,其特点是小巧轻快,安全易用。类似的FTP服务器还有ProFTPD、PureFTPd和wuftpd等

yum install vsftpd


2. 将vsftpd服务设置为开机启动

chkconfig vsftpd on

    查看服务启动设置情况

chkconfig vsftpd --list | grep vsftpd


3. 配置防火墙规则

这里是值得注意的地方,如果想要短平快地搭建测试,完全可以直接关闭防护墙(service iptables stop)。如果模拟实际应用场景,还是要根据vsftpd服务的需要配置相应的防火墙规则

FTP服务的端口是21,这个菜鸟工程师都会知道,vsftpd是FTP服务器,所以在这个环境下正是它使用这个21端口。我们可以修改/etc/sysconfig/iptables配置文件,或者直接使用命令:

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

service iptables save

service iptables restart

值得注意的是,如果不执行service iptables save,任何stop/restart命令会冲掉手动做的iptable的修改!


4. 创建FTP用户

这一布的目的是指定FTP登录的用户,以及这个专属用户的home目录,并限制这个用户的登录选项

useradd ftpuser -d /home/ftpuser -s /sbin/nologin

passwd ftpuser

这里的 -d 指定了该用户的home目录,而 -s 则指定了这个用户的登录shell。 这里的/sbin/nologin的意义在于不允许该用户以shell的方式登录系统,哪怕这个用户设置了登录密码。下面是和正常能登录系统的用户对比,在/etc/passwd 配置文件中是这个样子:

这还没完,新创建的ftpuser应该对自己的home目录有完全的访问控制权限,我们整个过程中一直在使用root用户在操作,所以要将目录的权限做一个转移

chown -R ftpuser:ftpuser /home/ftpuser


5. 修改vsftpd的配置文件

vsftpd的配置文件在/etc/vsftpd/vsftpd.conf,  vsftpd服务提供的配置参数非常多,因此用户可以依据自身的需求灵活地控制服务访问,关于vsftpd的配置参数可以单独写一篇文章来详细阐述,这里就不一一探讨了。以下是我的配置参数:

anonymous_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

chroot_local_user=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

其中, chroot_local_user=YES 参数非常重要,在此先埋一个坑:P  修改完成后重启vsftpd服务

service vsftpd restart


6. 配置SELinux

这里是另一个需要注意的地方,不正确的SELinux设置会导致FTP client登录FTP server 报错。如果现在尝试从Windows实验机尝试登录FTP server,会遇到如下图所展示的500 OOPS:cannot change directory 错误:


下面是RCA环节:

默认情况下,在CentOS 6.5, SElinux是打开的,这是铺垫。我知道你想看SElinux的配置文件,它的位置在 /etc/selinux/config。Again,如果要短平快地搭建环境,可以通过以下命令暂时关闭SElinux,注意这个命令只在重启前有效。想完全关闭的重启也有效的话,只能修改配置文件

setenforce 0

那么为什么SElinux会影响FTP服务呢?我们先得把刚才埋的梗拿出来,对你猜到了,就是刚才vsftpd配置文件里的chroot_local_user=YES。这个参数的含义是,限定FTP登录用户的根目录。在我们的实验里,ftpuser的根目录被限定在/home/ftpuser,如此,ftpuser便无法离开这个目录,管理员就不必担心这个用户去到/etc等系统重要目录里胡作非为啦。很安全很美好很和谐对不对?

如果Linux的安全设置有这么简单,那它跟Windows还有什么区别(强行黑一把win嘿嘿嘿)。SElinux提供了基本配置之外的加强安全控制,在我们这个实验里,正是因为SElinux限制了FTP daemon访问用户的/home目录,所以才有了我们看到的cannot change directory 错误。想要查看SElinux对FTP daemon的控制,可以通过以下命令查看:

getsebool -a | grep ftp


这里的罪魁祸首是allow_ftpd_full_access,它被禁用了,而我们需要允许这个选项,命令如下,其中 -P 是保存选项,这样就不必每次重启都修改SElinux规则了。

setsebool -P allow_ftpd_full_access 1


7. 连接FTP server

所有的安装配置工作已经完成,现在就可以从客户端连接访问FTP服务器了。这里我们从Windows端登录,输入用户名密码后,成功登录FTP服务器。然后我们用ls命令看到了事先放置在/home/ftpuser目录下的两个文件。接下来我们尝试用binary模式下载文件,下载成功。大功告成Hooray!!



©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容