Ubuntu下搭建FTP服务器
2015-08-02 20:37
603 查看
我装的服务器系统是Ubuntu 12.04 LTS,FTP软件当然是选择大名鼎鼎的vsftpd(very
secure FTP daemon), 用系统自带的FTP还好Ubuntu装vsftpd还是很简单,一句命令就行:
命令执行过程中,安装程序会给本地创建一个名为“ftp”的用户组,命令执行完之后会自动启动FTP服务。
可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直接访问),如果能直接连接到FTP服务器,则安装vsftpd算是大功告成。
开启、停止、重启vsftpd服务也很简单:
新安装的vsftpd默认是可以匿名访问,如果只想给某一个用户专门访问某一目录下的权限,则需要修改vsftpd的配置了。
首先,创建一个专门用来访问的用户,例如叫“ftptest”:
设置密码:
修改vsftpd的配置文件“vi /etc/vsftpd.conf”:
在/etc/vsftpd.chroot_list添加可切换到其他目录的用户(可选):
安装过程中遇到的一些问题:
“530 Login incorrect”
在 /etc/shells 最后一行添加“/sbin/nologin”
“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
启用了chroot的话,根目录要设置为不可写
之后我们在这个目录创建一个子文件夹data用来存放我们的数据,并将data目录的所有者改为ftptest :
OK,重启vsftpd之后就可以使用上面新创建的账号访问:)
secure FTP daemon), 用系统自带的FTP还好Ubuntu装vsftpd还是很简单,一句命令就行:
sudo apt-get install vsftpd
命令执行过程中,安装程序会给本地创建一个名为“ftp”的用户组,命令执行完之后会自动启动FTP服务。
可以使用“netstat -tl”命令检查FTP端口有没有已经打开,或者直接在浏览器里输入“ftp://你的服务器IP”(新安装的vsftpd默认是可以匿名不需要密码直接访问),如果能直接连接到FTP服务器,则安装vsftpd算是大功告成。
开启、停止、重启vsftpd服务也很简单:
service vsftpd start | stop | restart
新安装的vsftpd默认是可以匿名访问,如果只想给某一个用户专门访问某一目录下的权限,则需要修改vsftpd的配置了。
首先,创建一个专门用来访问的用户,例如叫“ftptest”:
groupadd ftptest useradd ftptest -g ftptest -d /home/ftptest -s /sbin/nologin
设置密码:
passwd ftptest
修改vsftpd的配置文件“vi /etc/vsftpd.conf”:
#禁止匿名访问 anonymous_enable=NO #接受本地用户 local_enable=YES #可以上传 write_enable=YES #当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list添加可切换到其他目录的用户(可选):
echo "ftptest" >> /etc/vsftpd.chroot_list
安装过程中遇到的一些问题:
“530 Login incorrect”
在 /etc/shells 最后一行添加“/sbin/nologin”
“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
启用了chroot的话,根目录要设置为不可写
chmod a-w /home/ftptest
之后我们在这个目录创建一个子文件夹data用来存放我们的数据,并将data目录的所有者改为ftptest :
mkdir /home/ftptest/data chown ftptest:ftptest /home/ftptest/data/
OK,重启vsftpd之后就可以使用上面新创建的账号访问:)
相关文章推荐
- laravel小抄
- 70 thinkphp 模板解析与taglib
- 72 PHP 输出缓冲
- 71 PHP ob_start() 函数介绍(转)
- contentProvider_内容提供者
- php-mysql数据库
- CF_26A_AlmostPrime
- ContentProvider数据访问详解
- laravel中的$request对象构造及请求生命周期
- widows环境下配置NGIX+PHP服务器
- PHP开发调优clockwork工具
- 一个PHP开发者总结的九条建议
- Laravel资料总结
- 第一篇博文:PHP函数原型中的可选参数写法为什么这么写?
- laravel框架安装
- 4步win7下简单FTP服务器搭建(试验成功)
- XJOI NOIP2015模拟赛Day1 T2 ctps bitset优化 或 排序+cdq分治+树状数组+平衡树
- Outputting Strings in the Console
- php中的$_SERVER从哪来
- php中如何防止CSRF攻击