1.已经安装好了vsftpd  进入到根目录下的/etc目录 ls查看一下

2.拷贝一下上面的两个配置文件 我拷贝到了我新建的目录中了

3.查看现在的网络连接方式——我的是-net方式 当然其他方式也行 但有些区别 这个我打算再另写一篇有关计算机网络方面的我的看法 好了 再继续看这个ftp  先保证本机与虚拟机的网能ping的通 如图:

正好在一个网段内 能ping通

4.接下来就开始配置吧

在/etc的目录下vim vsftpd.conf

先来说明一下这些参数的作用

listen=YES/NO(YES) 
设置vsftpd服务器是否以standalone模式运行。以standalone模式运行是一种较好的方式,此时listen必须设置为YES,此为默?认值。建议不要更改,有很多与服务器运行相关的配置命令,需要在此模式下才有效。若设置为NO,则vsftpd不是以独立的服务运行,要受到xinetd?服务的管控,功能上会受到限制。

listen_ipv6=YES/NO (YES)

设置传输协议

anonymous_enable=YES/NO

设置是否为匿名登录 YES为匿名登录

anon_upload_enable=YES

设置匿名用户是否能上传  YES为匿名能上传

anon_mkdir_write_enable=YES

匿名用户是否能创建目录   YES为匿名能创建

anon_other_write_enable=YES

修改文件名和删除文件  YES为匿名能删除

local_enable=YES

是否允许本地用户登录   

local_umask=022 

umask 默认755   这个是用户权限设置  即:777-022=755

write_enable=YES   是否本地用户有写权限 YES为本地有写权限

chroot_local_user=YES

本地用户禁锢在宿主目录中   

chroot_list_enable=YES

是否将系统用户限止在自己的home目录下   

chroot_list_file=/etc/vsftpd.chroot_list

列出的是不chroot的用户的列表  

chown_upload=YES

是否改变上传文件的属主   

chown_username=username

如果是需要输入一个系统用户名   

userlist_enable=YES   

userlist_deny=NO   


ftpd_banner=Welcome to chenlf FTP service.

设置欢迎信息   

dirmessage_enable=YES

是否显示目录说明文件, 需要收工创建.message文件   

message_file=

设置访问一个目录时获得的目录信息文件的文件名,默认是.message   

xferlog_enable=YES

是否记录ftp传输过程   

xferlog_file=/var/log/vsftpd.log

ftp传输日志的路径和名字   

connect_from_port_20=YES

是否确信端口传输来自20(ftp-data)   

nopriv_user=ftpsecure

运行vsftpd需要的非特权系统用户默认是nobody   

async_abor_enable=YES

是否允许运行特殊的ftp命令async ABOR.   

5.我暂时的配置

listen=NO 一开始改为YES 运行服务器自行退出 error 不清楚什么原因

userlist等参数没加 本地用户hello没加入到vsftpd.chroot_list中

其他基本没变

测试我有没有读写权限

我能进入到上一层目录 即:我能进入到父目录下 因为chroot没加入这个名单

只能在/home家目录下有创建读写权限

如果把hello写入到chroot中 就登不上了

我不清楚为什么chroot_local_user=NO and chroot_list_enable=NO 或者chroot_local_user=YES and chroot_list_enable=YES 则chroot_list_file的目录的文件的用户照样能返回上一层目录 而这两个参数都不一样时 则远程主机关闭连接  不清楚为什么 按道理说这两个参数第一个是是否启用root 第二个参数是root_file的名单是否能返回上一层目录的 可实现的结果却不一样

我现在把匿名参数改为了YES 增加了一个匿名访问参数anon_root=/var 如图:

关于userlist=YES 表示在userlist_file=/目录文件的名单不能访问ftp服务器 NO表示允许访问

userlist_deny=NO

userlist_file=/

注意:

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

当出现这个时,说明chroot列表里没有这个用户名 同时将访问的家目录改为没有写的权限目录

我先回答上面的 因为我安装的是最新版本的 可能有些变化

chroot_local_user=YES chroot_list_enable=NO 然后root_list列表添加hello用户 并且在/home改变hello的权限变为r-x就可以了 这样访问不了父目录

至于有没有其他原因 目前暂时不清楚 欢迎大家来评论补充

我再补充一下:

之前local_root=/var/CPPC

发现登陆不了 总是远程机子关闭连接

原因是local_root=/var/CPPC的访问目录的读写权限问题 将访问目录的读写权限改为没有“写”的权限就行了

6.现在我们创建一个虚拟用户 CPPCPP 密码为CPPCPP

useradd -s /bin/sh CPPCPP

passwd:

chmod 755 /var/CPPC

chown CPPCPP:CCC /var/CPPC

usermod -g CCC CPPCPP

usermod -g CCC hello

或者 usermod -G CCC hello

重启vsftpd服务

总结问题:

1.之前为什么新建的用户不能登陆的原因在这里

之前不能登陆的原因是因为CPPCPP的密码为! 禁用了

在/etc/shadow /etc/passwd可以看到

解禁 usermod -U CPPCPP 或者passwd -u CPPCPP 或者 直接passwd CPPCPP 输入密码就行了

但是现在遇到了另一个问题:

C:\Users\CPP>ftp 192.168.93.149
连接到 192.168.93.149。
220 Welcome to blah FTP service.
200 Always in UTF8 mode.
用户(192.168.93.149:(none)): CPPCPP
331 Please specify the password.
密码:
500 OOPS: cannot change directory:/home/CPPCPP
500 OOPS: priv_sock_get_cmd
远程主机关闭连接。

我在网上找了一下:有需要setsebool -P ftpd_disable_trans 1 但是我感觉不太对 我没有安装这个selinux 怎么会有这个问题呢?后来我在/home创建这个用户CPPCPP 发现没有这个问题了

现在又遇到一个问题了:

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

具体解决方法:

在vsftpd.conf配置文件添加这一项allow_writeable_chroot=YES

还是需要感谢百度 Google 博客园和博客们的总结分享  我这里做一下我遇到的问题的总结和心得 O(∩_∩)O哈哈~

ftp服务器搭建(二)的更多相关文章

  1. 记一次ftp服务器搭建走过的坑

    记一次ftp服务器搭建走过的坑 1.安装 ①下载 wget https://security.appspot.com/downloads/vsftpd-3.0.3.tar.gz #要FQ ②解压 ta ...

  2. FTP-Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  3. (转)【Java FTP及FTP服务器搭建】

    转至 http://blog.csdn.net/studyvcmfc/article/details/8147052 目录(?)[+] -[Java FTP及FTP服务器搭建] 一:本文采用apach ...

  4. Linux之匿名FTP服务器搭建

    FTP(File Transfer Protocol)是在服务器与客户端进行文件传输的一种传输协议.本次介绍的是vsftpd的软件体验ftp服务. FTP服务器默认情况下依据用户登录情况分为三种不同的 ...

  5. Linux中ftp服务器搭建

    一.FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp ...

  6. FTP服务器搭建及操作(一)

    FTP服务器搭建及操作(一) FTP搭建 PHP FTP操作 搭建方法参照(windows):http://www.cnblogs.com/lidan/archive/2012/06/04/25351 ...

  7. 《Linux下FTP服务器搭建及FTP使用》

    .LOGAndy:mxtd114 <Linux下FTP服务器搭建> 0.root登录 1.安装ftp # yum -y install ftp 2.安装vsftpd # yum -y in ...

  8. ftp服务器搭建及简单操作

    ftp服务器搭建及简单操作 1. 添加一个新用户,使用名useradd testftp,然后使用passwd testftp对新添加的用户设置密码(这里设置为“1234567”). 2. 安装ftp服 ...

  9. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  10. ftp服务器搭建(windows)+实现ftp图片上传对接

    ftp服务器搭建(windows): vsftpd简介: vsftpd是“very secure FTP daemon”的缩写,是一个完全免费的.开放源代码的ftp服务器软件. 下载地址: http: ...

随机推荐

  1. T-SQL字符串函数

    整理下MSSQL中有关时间的函数,博客记录之. ASCII 原型:ASCII ( character_expression ) 返回值:int 类型值 功能:返回输入字符串最左边的一个字符的ASCII ...

  2. 最小生成树之prime算法

    public class Prime { public static void main(String[] args) { //路径矩阵 int arcs[][] = {{-1,6,1,5,-1,-1 ...

  3. Acmer 仅以此纪念最痛苦的一天

    今天打比赛,完全不在状态,看到别人又AK了,自己心里真TM不是个滋味,我为什么这么弱,菜鸡,每天都在水题,我的人生也是这么水?伪学习?没有学习能力,这不只是队伍的问题,是自己的问题,别人平均3题我们队 ...

  4. CF1336C Kaavi and Magic Spell

    CF1336C Kaavi and Magic Spell 区间dp 题意 给一个长度为 \(n\) 的字符串 \(S\) 和一个长度为 \(m\) 的字符串\(T\) ,\(1\le m\le n\ ...

  5. Jenkins如何进行权限管理

    一.安装插件 插件名:Role-based Authorization Strategy 二.配置授权策略 三.创建用户 四.添加并配置权限 4.1.添加Global Role 普通角色拥有全局只读权 ...

  6. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十一(四十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  7. 支付宝小程序云开发(Serverless)

    支付宝小程序云开发(Serverless) 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 一.在支付宝账号里面开通小程序云服务 ...

  8. vue-infinite-scroll------vue的无线滚动插件

    vue-infinite-scroll------vue的无线滚动插件 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 说明 V ...

  9. Codeforces Round #563 (Div. 2) A-D

    A. Ehab Fails to Be Thanos 这个A题很简单,就是排个序,然后看前面n个数和后面的n个数是不是相同,相同就输出-1 #include <cstdio> #inclu ...

  10. spring学习笔记(一)@ConfigurationProperties注解

    结论: 这个注解主要是为了将配置文件中的属性映射到实体类上,并且支持嵌套映射. 代码说明: @ConfigurationProperties(prefix = "person") ...