阿里云 ubuntu16.04 下 ftp 的快速应用(包罗疑难问题解决方案)

本文主要是介绍阿里云 ubuntu16.04 下 ftp 的快速应用(包罗疑难问题解决方案),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装 ftp

1.在线安装 vsftpd

apt-get install vsftpd

2.ftp的配置文件在

/etc/vsftpd.conf

3.ftp命令 启动 停止 重启

service vsftpd start
service vsftpd stop
service vsftpd restart
配置 ftp 用户

1、环境:
ftp为vsftp。被限制用户名为 ftpuser。被限制路径为/var/www

2、建用户:在 root 用户下:

增加用户 ftpuser,并制定 ftpuser 用户的主目录为 /var/www

useradd -d /var/www -s /sbin/nologin ftpuser -m

为ftpuser设置密码

passwd ftpuser

3、(可跳过) 更改用户相应的权限设置(可选) :

//限定用户 ftpuser 不能telnet,只能ftp
usermod -s /sbin/nologin ftpuser 
//用户test恢复正常
usermod -s /sbin/bash ftpuser 
//更改用户test的主目录为/test
usermod -d /ftp ftpuser 

4.限制用户只能访问/home/ftp,不能访问其他路径
修改/etc/vsftpd.conf如下:

指定用户只能访问自己的根目录以下

chroot_list_enable=YES //限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list// 具体用户在 vsftpd.chroot_list 里面配置
// 一行一个用户名即可

所有用户只能访问自己的根目录以下

chroot_local_user=YES

假如我想有个别用户可以访问上级可以使用以上两个进行联合配置

// 当两者都设置为YES的时候,vsftpd.chroot_list里面的用户这时就可以访问上级目录了
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

5.允许上传

write_enable=YES

6.使用ftp 命令登陆的时候总是提示如下的错误

root@itlvgo:/ ftp 47.100.213.70
Connected to 47.100.213.70.
220 (vsFTPd 3.0.3)
Name (47.100.213.70:root): ftpuser
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.

这是因为ubuntu启用了PAM,
所在用到vsftp时需要用到 /etc/pam.d/vsftpd
这个文件(默认源码安装的不会有这个文件

解决办法:

vim /etc/vsftpd.conf

修改

pam_service_name=vsftpd

pam_service_name=ftp

之后重启服务即可。

service vsftpd restart

错误总结:

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

从vsftpd_2.3.5版开始,取消了根目录的可写权限,所以我们需要将用户对更目录的写权限拿下去

具体权限的基本操作请参考 :

chmod u-w /vaf/www

对站点根目录进行了取消可写操作

错误二 553
553 Could not create file

在创建目录或者创建文件的时候会提示不能够创建.这其实就是权限不够造成的.

在创建用户的时候,一定要用 ftp 用户去创建,不然的话就需要你手动把站点根目录的权限放开.

具体操作见本文配置 ftp 用户

按照本文一步一步弄下来的是不会出问题的.

这篇关于阿里云 ubuntu16.04 下 ftp 的快速应用(包罗疑难问题解决方案)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/535408

相关文章

PostgreSQL的扩展dict_int应用案例解析

《PostgreSQL的扩展dict_int应用案例解析》dict_int扩展为PostgreSQL提供了专业的整数文本处理能力,特别适合需要精确处理数字内容的搜索场景,本文给大家介绍PostgreS... 目录PostgreSQL的扩展dict_int一、扩展概述二、核心功能三、安装与启用四、字典配置方法

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

Python中re模块结合正则表达式的实际应用案例

《Python中re模块结合正则表达式的实际应用案例》Python中的re模块是用于处理正则表达式的强大工具,正则表达式是一种用来匹配字符串的模式,它可以在文本中搜索和匹配特定的字符串模式,这篇文章主... 目录前言re模块常用函数一、查看文本中是否包含 A 或 B 字符串二、替换多个关键词为统一格式三、提

Java MQTT实战应用

《JavaMQTT实战应用》本文详解MQTT协议,涵盖其发布/订阅机制、低功耗高效特性、三种服务质量等级(QoS0/1/2),以及客户端、代理、主题的核心概念,最后提供Linux部署教程、Sprin... 目录一、MQTT协议二、MQTT优点三、三种服务质量等级四、客户端、代理、主题1. 客户端(Clien

全面解析MySQL索引长度限制问题与解决方案

《全面解析MySQL索引长度限制问题与解决方案》MySQL对索引长度设限是为了保持高效的数据检索性能,这个限制不是MySQL的缺陷,而是数据库设计中的权衡结果,下面我们就来看看如何解决这一问题吧... 目录引言:为什么会有索引键长度问题?一、问题根源深度解析mysql索引长度限制原理实际场景示例二、五大解决

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比

《CSS中的Static、Relative、Absolute、Fixed、Sticky的应用与详细对比》CSS中的position属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布... css 中的 position 属性用于控制元素的定位方式,不同的定位方式会影响元素在页面中的布局和层叠关