Linux下搭建FTP服务器(Ubuntu16.04)

搞了下FTP服务器,基本上能遇到的问题都遇到了-。-!

先说步骤:

1.安装vsftpd软件包

sudo apt-get install vsftpd

2.打开配置文件

vim /etc/vsftpd.conf

3.修改参数

一些参数可以去掉注释激活,为了方便,你也可以注释全部,然后添加下面的设置

#这些设置系统默认是开启的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

#下面的就要自定义设置了,建议系统默认的不管,然后复制下面的

#是否允许匿名访问,NO为不允许
anonymous_enable=NO
#是否允许本地用户访问,就是linux本机中存在的用户,YES允许
local_enable=YES
#是否开启写模式,YES为开启
write_enable=YES
#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755
local_umask=022

#是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用
userlist_enable=YES
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能
userlist_deny=NO
#指定哪个文件作为userlist文件,我们稍后编辑这个文件
userlist_file=/etc/vsftpd.user_list

#是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦
chroot_local_user=YES
#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
chroot_list_enable=YES
#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录
chroot_list_file=/etc/vsftpd.chroot_list
#是否开启写模式,开启后可以进行创建文件夹等写入操作
allow_writeable_chroot=YES

#设置ftp根目录的位置,这个文件我们稍后自己创建
local_root=/var/myftp

重启vsftpd

sudo /etc/init.d/vsftpd restart

4.添加ftp用户

顺便将将用户目录设置为我们上面的ftp根目录

sudo useradd -d /var/myftp ftpuser

设置用户密码

sudo passwd ftpuser

5.创建需要的文件,设置文件夹权限

上面我们指定了两个文件,userlist文件和list文件,有时候系统不会自动创建,你要自己创建

vim /etc/vsftpd.user_list

然后添加ftpuser进去作为白名单的一员

vim /etc/vsftpd.chroot_list

设为空即可

创建用户文件夹,设置权限

mkdir /var/myftp

权限设置可以根据你的使用场景来设置,我这里在根目录下禁止此用户写,然后下面建两个文件夹,一个download只允许读取,upload允许写和读

cd /var/myftp
chmod 555 myftp
mkdir upload
chmod 755 upload
mkdir download
chmod 555 download

最后检查一下文件所有者,都改为ftpuser

6.使用ftp,解决各种问题

linux访问输入ftp 加 你的IP

ftp xxx.xxx.xxx.xxx

输入用户名ftpuser和密码

如果登录出现530错误:

vim /etc/pam.d/vsftpd

注释掉#auth   required    pam_shells.so

然后ls一下,如果失败了,切换到被动模式即可

passive mode

然后mkdir一下发现无法创建文件夹 550 create directory operation failed

setsebool -P ftpd_disable_trans on
/etc/init.d/vsftpd restart

即可

时间: 2024-12-25 22:08:39

Linux下搭建FTP服务器(Ubuntu16.04)的相关文章

Linux 下搭建ftp服务器 指定用户指定目录及其他操作

搭建 Linux下 rpm -qa |grep vsftpd查看是否安装 没安装yum安装 /etc/vsftpd/目录下有vsftpd.conf配置文件 根据需求 进行配置  是否使用匿名用户以及文件目录权限是否可写等等 给用户指定目录的话 在命令行下进行配置   useradd -d /root/123 user123  给user123用户指定目录 /root/123 然后给该用户添加密码  passwd user123 连接ftp后进行文件的上传或其他操作  提示“could not c

linux下搭建ftp服务器(转载)

vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用.并且是一个完全免费开放源码的ftp软件 工具/原料 CentOS6.4 方法/步骤 1 用在线安装 yum install vsftpd pam* db4*-y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 2 配置vsftpd服务的宿主 useradd vsftpdadmin -s /sbin/nologin -M 这个vsftpdadmin只是用来替

linux下搭建ftp服务器

用在线安装 yum install vsftpd pam* db4*-y 使用命令将vsftp配置为系统服务 chkconfig --level 35 vsftpd on 2 配置vsftpd服务的宿主 useradd vsftpdadmin -s /sbin/nologin -M 这个vsftpdadmin只是用来替换root的,并不需要登录 3 建立ftp虚拟宿主帐户 useradd vsftpuser -s /sbin/nologin -M 这ftpuser只个虚拟帐户的宿主,本身是不用登

ubuntu12.04下搭建ftp服务器

楼主想把同学硬盘里面的200多G电影共享给实验室的小伙伴们看,就打算在内网服务器上搭建一个ftp的服务器. 1.安装ftp 首先在终端下键入如下内容,安装ftp服务器: sudo apt-get install vsftpd 2.配置ftp 修改ftp的配置文件,该文件在/etc目录下,在终端中键入如下命令以打开配置文件: sudo gedit /etc/vsftpd.conf 简单的修改以下几个配置项即可: #禁止匿名访问 anonymous_enable=NO #接受本地用户 local_e

RedHat5.9下搭建FTP服务器

FTP服务:基于C/S结构的文件传输协议 FTP会话属于复合TCP连接: 控制连接:TCP 21端口,发送FTP命令信息 数据连接:TCP 20端口,上传/下载数据 实验环境: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 一. 实验要求:配置可匿名上传FTP服务 1.安装软件包 [[email protected] ~]# rpm -q vsftpd package vsftpd is not installed

Linux下搭建DNS服务器

一.修改Linux主机名 1.hostname 主机名 [[email protected] named]# hostname ifs.com 2.vi /etc/hosts [[email protected] named]# vi /etc/hosts 127.0.0.1 ns.ifs.com ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ~ 3.vim /etc/sysconfi

linux下搭建samba服务器

服务器IP:192.168.4.5 1.安装samba服务软件包 [[email protected] 桌面]# yum -y install samba [[email protected] 桌面]# rpm -q samba samba-3.6.9-164.el6.x86_64 [[email protected] 桌面]# rpm -q samba-client 2.修改配置文件smb.conf 对配置文件做备份 [[email protected] 桌面]# cp /etc/samba/

CentOS6.5下搭建ftp服务器(三种认证模式:匿名用户、本地用户、虚拟用户)

CentOS 6.5下搭建ftp服务器 vsftpd(very secure ftp daemon,非常安全的FTP守护进程)是一款运行在Linux操作系统上的FTP服务程序,不仅完全开源而且免费,此外,还具有很高的安全性.传输速度,以及支持虚拟用户验证等其他FTP服务程序不具备的特点,下面开始搭建: 1.用root 进入系统 2.使用命令 rpm  -qa | grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vsftpd的版本 3.如果安装了,可

Linux下搭建DHCP服务器

一.DHCP所需软件包dhcp-common-4.1.1-34.Pl.el6.centos.x86_64dhcp-4.1.1-34.pl.el6.centon.x86_64二.编辑主配置文件 vi/etc/dhcp/dhcpd.conf ddns-update-style interim; ignore client-updates; shared-network ifs {        option domain-name     "ifs.com";        option