阿里云 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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Python安装时常见报错以及解决方案

《Python安装时常见报错以及解决方案》:本文主要介绍在安装Python、配置环境变量、使用pip以及运行Python脚本时常见的错误及其解决方案,文中介绍的非常详细,需要的朋友可以参考下... 目录一、安装 python 时常见报错及解决方案(一)安装包下载失败(二)权限不足二、配置环境变量时常见报错及

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

MYSQL事务死锁问题排查及解决方案

《MYSQL事务死锁问题排查及解决方案》:本文主要介绍Java服务报错日志的情况,并通过一系列排查和优化措施,最终发现并解决了服务假死的问题,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录问题现象推测 1 - 客户端无错误重试配置推测 2 - 客户端超时时间过短推测 3 - mysql 版本问

Android kotlin语言实现删除文件的解决方案

《Androidkotlin语言实现删除文件的解决方案》:本文主要介绍Androidkotlin语言实现删除文件的解决方案,在项目开发过程中,尤其是需要跨平台协作的项目,那么删除用户指定的文件的... 目录一、前言二、适用环境三、模板内容1.权限申请2.Activity中的模板一、前言在项目开发过程中,尤

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加