一次在阿里云服务器上面搭建FTP环境的经历

本文详细介绍了如何在阿里云服务器上安装和配置vsFTP服务,并解决了一些常见的问题,如多个用户管理和21端口开放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近来在研究PHP中的TP框架,对于FTP一直不了解,就顺手搭建了一个FTP服务;在此Mark一下!

一、安装环境准备
1. 阿里云服务器
2. Linux系统 CentOS 6.5系统
3. 可以使用wget的PhpStudy 一键安装包 [url=http://lamp.phpstudy.net/]安装地址[/url]
这个包是PHP + Nginx/Apache+Mysql的集成版本,如果想学习PHP必须要安装它,这个和本文无管,只是最后建PHP ftp上传的时候要用到它!
4. 使用[url=http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974184]【工具:update_source.sh】[/url]
功能:自动检测系统并更新源
适用系统版本:兼容线上所有linux版本
执行方法:以root身份执行命令:bash update_source.sh
解决了什么问题:一键式检测系统并更新源
给客户带来了好处:用户只需执行该脚本一次即可自动检测系统并更新源。
备注:由于系统版本都有支持的周期所以部分源可能会出现不可用的情况,包括官方的源,这是正常情况

二、安装vsftp
使用yum命令安装vsftp
#yum install vsftpd -y

三、安装完成后
1 .添加ftp帐号和目录
先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令创建帐户,该命令指定了/alidata/www/root为用户pwftp的所能范围目录,换而言之也就是用户pwftp使用ftp工具登陆服务器后,所能访问的文件目录,这样的话这个用户是一定访问不了www 或者是 alidata的目录的,您也可以自己定义帐户名和目录,
例如
#useradd -d /alidata/www/root -s /sbin/nologin pwftp

命令解释
#useradd -d (用户所管理的路径) -s (nologin文件位置通常不是在/usr/sbin/nologin就是在/sbin/nologin) (用户名)

修改该帐户密码:
#passwd pwftp

命令解释
#passwd (用户名)

修改指定目录的权限
#chown -R pwftp.pwftp /alidata/www

命令解释
#chown -R (用户名):(组名称) /alidata/www


四、配置vsftp
1.编辑vsftp配置文件,命令如下:
#vi /etc/vsftpd/vsftpd.conf

将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
取消如下配置前的注释符号:
local_enable=YES
write_enable=YES
chroot_local_user=YES

保存修改,按ESC键,输入
:wq

2.修改shell配置
vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去
3.启动vsftp服务并测试登录
使用命令启动vsftp服务:
#service vsftpd start

然后用帐号pwftp测试下是否可以登陆ftp。目录是/alidata/www。


=================================================================================
[size=xx-large]遇到的坑[/size]
【坑一】像上面那样一个简单的ftp就算搭建完成了,但是大家思考一下如果多个用户想ftp上传,但是可能管理的路径还都一致,但是代码里面必须要写两个用户,这里就要引入组的概念了,
Linux是既可以吧用户交给文件来进行管理,又可以交给组来进行管理;
[list]
[*]创建组
groupadd (组名字)

[*]为组里面添加用户
usermod -g (组名) (用户名)

[*]给组授予管理目录的权限
chown -R (用户名):(组名) /目录名称

[*]查看用户在那个组里面
groups (用户名)

[*]查看用户在那个组里面
id (用户名)

[/list]

【坑二】阿里云服务器21端口对外网访问是禁用的,需要到阿里云控制台自己打开

【坑三】涉及到的一些查看用户和授权文件文件目录的命令操作

1.参数 -R 对目标目录进行全递归的处理

2. chmod 对目录进行读写权限操作
例子
chmod -R 777 /phpstudy/www

chmod -R a+w /phpstudy/www

对于chmod的部分讲解
如下图所示,为每个文件的属性
[img]http://dl2.iteye.com/upload/attachment/0110/0776/cf9d43a2-26ce-3e50-9d2f-df4e43595526.jpg[/img]

linux 分为3种类型的用户
1. 拥有着(用户)=u
2. 用户组=g
3. 其他=o
4. 以上全部为=a
因此 当你发现 有的命令为
chmod -R a+x /phpstudy/www 

的时候,不要怪异,其实就是u+g+o=a 的情况

linux 分为3种类型的执行权限
1. 读=r
2. 写=w
3. 执行=x
因此就有了多种组合哈
如下图所示

[img]http://dl2.iteye.com/upload/attachment/0110/0778/08d005fa-87a5-317f-b6e0-1f25ae80ef94.png[/img]

权限集合也可以通过数字来识别并进行分配,如下图


[img]http://dl2.iteye.com/upload/attachment/0110/0780/3fc65ea7-88c1-3cdd-8773-bacb730b4274.jpg[/img]


对于一些不常使用的命令,我们还是一笔带过可能会用到
1. 服务启动停止类
service vsftpd restart  #ftp服务重启

service vsftpd start #ftp服务启动

service vsftpd stop   #ftp服务停止


2. 改变ftp用户登录后管理的目录
usermod -d /phpstudy/www/flj_images/store/logo sz_sh_lo


3. 开启与关闭防火墙

service iptables stop


service iptables start

4. 端口使用列表
netstat -ano



5.About
(1)[url=http://help.aliyun.com/knowledge_detail/5973912.html?spm=5176.7618386.5.1.Pt66Jx]http://help.aliyun.com/knowledge_detail/5973912.html?spm=5176.7618386.5.1.Pt66Jx[/url]
(2) [url=http://www.phpstudy.net/]http://www.phpstudy.net/[/url]
(3) [url=http://www.phpstudy.net/]http://jingyan.baidu.com/article/afd8f4de4d6ea434e286e914.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值