Ubuntu 安装 ftp [转]

vsftpd是Linux系统下非常常用的一款FTP程序,天缘也是事隔多年又用起这个软件,安全及性能不在话下,当然前提是要摸索着如何配置,本文汇总vsftp常用的安装和配置命令,均是入门级的,就像天缘博客一样。(注:以下命令均在终端中输入)

一、安装、重装、卸载vsftp

全新安装:apt-get install vsftpd
重新安装:apt-get --reinstall install vsftpd
卸载并清除配置文件:apt-get -purge remove vsftpd
关于如何卸载最干净问题,每种软件在安装时可能包含多个安装包模块,所以单纯的remove主程序包一般来讲肯定不干净,就像下文的:
http://www.cloudfly.info/archives/33
彻底卸载apache和mysql方法,按理说对目前的版本来讲该清的清的差不多了,但是只要版本已升级,包也变了、个数也变了,恐怕又不干净了,目前还是慢慢试吧(以后这些程序应该自带卸载包设计就好了,像WIN平台软件那样自己清理自己才是正道)。
安装后vsftp默认会创建一个名为ftp的用户,用户目录在/srv/ftp,好像匿名用户也会使用这个设置。

二、启动、停止vsftp

启动vsftp:
service vsftpd start
或指定路径,下同(注意:/etc/init.d/路径可能不同):
/etc/init.d/vsftpd start
重启
/etc/init.d/vsftpd restart
停止vsftp:
service vsftpd stop
/etc/init.d/vsftpd stop

三、创建ftp用户组和目录

1、创建FTP用户组ftp-users
groupadd ftp-users
2、创建用户组目录ftp-docs
mkdir /home/ftp-docs
注意,这时还未指定跟ftp-users关联。
3、修改权限
chmod 750 /home/ftp-docs
750组只能读不能写,要组能写,请改成770或760。
4、指定文件夹归属用户和用户组
chown root:ftp-users /home/ftp-docs
这时,如果远程用户属于ftp-users组,则会共享该目录。
5、添加FTP用户并未他们设置缺省目录
useradd -g ftp-users -d /home/ftp-docs user1
useradd -g ftp-users -d /home/ftp-docs user2
passwd user1
passwd user2
6、拷贝额外那就到/home/ftp-docs目录
7、修改/home/ftp-docs目录下文件权限,对该组用户只读
chown root:ftp-users /home/ftp-docs/*
chmod 740 /home/ftp-docs/*
到这里,用户就可以通过FTP客户端登入服务器并下载文件了。当然了,深入一点,还有下文的VSFTP配置、通讯端口以及防火墙设置等问题。每个环节都可能造成连接访问问题。

四、vsftp配置

vsftp配置是出于安全和功能两种考虑需要而进行的,一般涉及的配置有:
匿名处理问题
上传下载权限问题
账户登录处理问题
安全登录问题
限速问题
....
等等。主要修改/etc/vsftpd.conf这个文件(没发现这个文件?看看有没/etc/vsftpd/vsftpd.conf...)。注意,修改VSFTP配置之后需要重启一下其服务。
常用几个:
1、下面三个是针对匿名用户设置的,一般均关闭掉(#注释)。
#anonymous_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

2、下面这个控制用户上传许可:
write_enable=YES//该选项一般要打开,否则用户无法上传文件
3、下面这个限制用户在其Home目录,不能无限制的“到处逛”:
chroot_local_user=YES//该命令把用户限制在自己的Home目录,这个选项一定要开启
4、如果权限都修改完了,但是发现还是无法正常浏览目录列表(报告打开目录失败、创建文件失败),注意以下两种情况:
A. 该用户文件夹的上级文件夹权限(有关系),查看其Owner及group情况,可以改成755/772/777测试。
B. 注意一下是否存在Selinux设置问题(天缘自己在RedHat上遇到过):
位置:/etc/selinux/config
查看:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
要关闭这个SELINUX选项。如果为enforcing或者premissive,请修改为disabled,然后重启机子。
查看系统当前SELINUX选项命令如下:
sestatus
详细参考:
http://chen-xiao-mei2009-163-com.iteye.com/blog/467523(selinux管理与应用)
具体可参考如下文章:
http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch15_:_Linux_FTP_Server_Setup
http://viong.blog.51cto.com/844766/261390
http://bevis-wu.iteye.com/blog/423751(RedHat Enterprise Linux5 上安装vsftp)
更多文章:
CuteFTP使用和设置图解
FlashFXP使用和设置图解
Windows下OpenSSL安装配置
Apache服务器httpd.conf配置文件说明

猜你喜欢

转载自suene.iteye.com/blog/1831711