Ubuntu(linux)下的FTP服务器简单搭建,ubuntuftp


前言

       今天才发觉FTP服务器超级好用.省却了数据线和恼人的局域网配置smb.当然也有一些缺点.比如只能客户端在服务器上读写.服务器不能在客户端上读写.

一 vsftpd安装

      ubuntu下终端使用命令安装:sudo apt-get install vsftpd

二 vsftpd配置

	配置文件默认路径是/etc/vsftpd.conf,下面我把自己用到的配置文件的内容说明下:
	打开监听
	listen=YES
	是否允许匿名访问
	anonymous_enable=NO
	是否允许本地用户登录
	local_enable=YES
	是否允许登录用户支持文件写入(写权限)
	write_enable=YES
	本地用户新增文件的umask值,决定上传文件的权限.
	该算法借鉴了unix的权限算法.(umask 022,创建的默认文件将不屏蔽所属用户的权限,屏蔽同组用户的w权限,屏蔽其他用户的w权限,于是文件的默认权限为755,更简便的方法是用777减去022,得到755)
	local_umask=022
	切换目录时使用该目录下的.message显示消息
	dirmessage_enable=YES
	是否使用主机时间
	use_localtime=YES
	设置为yes时候,记录上传下载
	xferlog_enable=YES
	主动连线的端口号
	connect_from_port_20=YES
	日志路径
	xferlog_file=/var/log/vsftpd.log
	日志格式
	xferlog_std_format=YES
	欢迎信息
	ftpd_banner=Welcome to blah FTP service.
        默认
secure_chroot_dir=/var/run/vsftpd/empty

vsftpd的身份认证方式
pam_service_name=vsftpd

默认
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

默认
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

以下三种,需要详细说明(重中之重):

#是否将所有用户锁定在主目录,YES为启用 NO禁用.(包括注释掉也为禁用)
chroot_local_user=YES

 

#是否启动锁定用户的名单 YES为启用  NO禁用(包括注释掉也为禁用)
chroot_list_enable=YES

 

#禁用的列表名单  格式为一行一个用户, 如果名单里面有一个ftpuser的用户, 则ftpuser用户不会锁定在主目录,用户将可以自由切换目录. 
chroot_list_file=/etc/vsftpd.chroot_list

如果设置为

chroot_local_user=YES
chroot_list_enable=YES(这行可以没有, 也可以有)
chroot_list_file=/etc/vsftpd.chroot_list

那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户
即可以浏览其主目录的上级目录。

所以, 如果不希望某用户能够浏览其主目录上级目录中的内容,可以如上设置, 然后在文件vsftpd.chroot_list中不添加该用户即可(此时, 在该文件中的用户都是可以浏览其主目录之外的目录的).

或者, 设置如下

chroot_local_user=NO
chroot_list_enable=YES(这行必须要有, 否则文件vsftpd.chroot_list不会起作用)
chroot_list_file=/etc/vsftpd.chroot_list

然后把所有不希望有这种浏览其主目录之上的各目录权限的用户添加到文件vsftpd.chroot_list,如果没有该文件,自行创建(此时, 在该文件中的用户都是不可以浏览其主目录之外的目录的)中即可(一行一个用户名).

参考博客:http://blog.csdn.net/wangqiaoshi/article/details/35252715

三 忠告

      大家在配置更改配置文件后一定要重启ftp服务器.
分别是重启,启动,停止操作.
service vsftpd restart|start|stop

四 常见错误

为了避免一个安全漏洞,从 vsftpd 2.3.5 开始,chroot 目录必须不可写。(

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

)使用命令:

# chmod a-w /home/user
user为需要访问ftp服务器的用户名,我的为/home/rish.

怎在ubuntu1004下搭建FTP服务器

Ubuntu自带的FTP服务器是vsftpd
1、安装vsftpd

sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地 址。应该可以看到一个空白内容的ftp空间。
默认设置下匿名用户可以下载,但不能写入或是上传
2、设置 vsftpd.conf文件
现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
sudo gedit /etc/vsftpd.conf

服务器的配置 
1. 匿名服务器的连接(独立的服务器)

在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)

Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)

Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=Moonlight Ftp Server (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*

功能:只能连接FTP服务器,不能上传和下传

注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项

2. 开启匿名FTP服务器上传权限

在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)

3. 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去

4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传

5. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsf......余下全文>>
 

怎在windows与Linux下构建ftp服务器

windows下建立FTP服务器简单,只在装IIS的时候多选择一下FTP就行了!
Linux系统下建立FTP服务器,还在学习中!
 

相关内容