Ubuntu 安装 ftp [转]

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

[b]一、安装、重装、卸载vsftp[/b]

全新安装: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,好像匿名用户也会使用这个设置。

[b]二、启动、停止vsftp[/b]

启动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

[b]三、创建ftp用户组和目录[/b]

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配置、通讯端口以及防火墙设置等问题。每个环节都可能造成连接访问问题。

[b]四、vsftp配置[/b]

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配置文件说明
Ubuntu系统上安装FTP服务器,通常使用的是`vsftpd`(Very Secure FTP Daemon)软件包,它是一个安全且稳定的选择。以下是安装和基本配置的步骤: ### 安装 vsftpd 1. 更新系统软件包列表以确保获取最新的软件版本。 ```bash sudo apt update ``` 2. 安装 `vsftpd` 软件包。 ```bash sudo apt install vsftpd ``` ### 配置 vsftpd 安装完成后,需要编辑配置文件 `/etc/vsftpd.conf` 来调整设置。以下是一些常用的配置选项: - **监听地址与控制** - `listen_address=[IP]`:指定提供FTP服务的主机IP地址,对于单IP主机不需要设置,多IP主机默认监听所有IP地址。 - `listen_port=[port]`:指定FTP服务的控制端口号,默认为21。此选项在standalone模式下生效。 - `port_enable=YES`:是否启用FTP主动模式,默认为YES。如果要在数据连接时取消PORT主动模式时,改为NO。 - `connect_from_port_20=NO`:以PORT主动模式进行数据传输时是否使用20端口,默认为NO不使用。但RHEL自带的vsftpd.conf文件中此参数设为YES。 - `ftp_data_port=[port]`:指定FTP数据传输端口值,默认为20。此参数用于主动模式。 - `port_promiscuous=NO`:取消PORT安全检查,默认为NO不取消检查。该检查确保外出的数据只能连接到客户端上。不建议打开。 - `pasv_enable=YES`:允许数据传输时使用PASV被动模式。默认为YES允许被动模式。 - `pasv_min_port=[minport]` 和 `pasv_max_port=[maxport]`:设定在PASV被动模式下,建立数据传输所可以使用的端口范围的下界和上界,默认为0不限制。将端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高。 - `pasv_promiscuous=NO`:是否关闭PASV模式的安全检查,默认值为NO不关闭。该检查确保数据连接和控制连接是来自同一个IP地址。不建议打开,此选项唯一合理的用法是存在于由安全隧道方案构成的组织中。 - `pasv_address=[IP]`:此选项为一个数字IP地址,作为PASV命令的响应。默认值为none,即地址是从呼入的连接套接字中获取。 - **用户管理** - 创建FTP用户和目录结构。例如,创建一个名为 `ftpuser` 的用户,并为其创建一个FTP目录。 ```bash sudo useradd -m ftpuser -s /sbin/nologin sudo mkdir -p /home/ftpuser/ftp1 sudo chown ftpuser:ftpuser /home/ftpuser/ftp1 ``` - **虚拟用户配置** - 如果需要配置虚拟用户,可以创建一个目录 `/etc/vsftpd/virtualconf/` 并在此目录下为每个虚拟用户创建单独的配置文件。 ```bash sudo mkdir -p /etc/vsftpd/virtualconf/ sudo nano /etc/vsftpd/virtualconf/ftp1 ``` ### 启动和管理 vsftpd 服务 1. 启动 `vsftpd` 服务。 ```bash sudo systemctl start vsftpd ``` 2. 设置 `vsftpd` 服务开机自启。 ```bash sudo systemctl enable vsftpd ``` 3. 检查 `vsftpd` 服务的状态。 ```bash sudo systemctl status vsftpd ``` ### 测试 FTP 服务器 1. 使用FTP客户端连接到服务器,例如使用 `ftp` 命令行工具。 ```bash ftp [server_ip] ``` 2. 输入用户名和密码进行登录。 3. 尝试上传和下载文件,确保FTP服务正常工作。 ### 防火墙设置 如果系统启用了防火墙(如 `ufw`),需要允许FTP流量通过。 ```bash sudo ufw allow 21/tcp sudo ufw allow 50000:60000/tcp ``` 这些步骤应该能够帮助你在Ubuntu系统上成功安装并配置一个基本的FTP服务器。根据具体需求,还可以进一步调整配置文件中的其他选项。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值