vsftp部署和优化

服务端

## 安装

[[email protected] ~]# yum install -y vsftpd

## 启动vsftpd

[[email protected] ~]# /etc/init.d/vsftpd start

为 vsftpd 启动 vsftpd:                                    [确定]

解释说明:

若启动失败的话,主要原因是被pure-ftpd(21端口)占了,这时候可以先用netstat -lnp查看一下,是否

被占用了,占用的了话,则killall pure-ftpd,然后再启动vsftpd。

## 查看端口

[[email protected] ~]# netstat -lnp|grep vsftp

tcp        0      0 0.0.0.0:21                 0.0.0.0:*                   LISTEN      1543/vsftpd

解释说明:

默认的配置文件,它是能够让我们系统的用户去登录的。

## 比如用php-fpm,重新修改它的密码

[[email protected] ~]# passwd php-fpm

更改用户 php-fpm 的密码 。

新的 密码:

无效的密码: 过于简单化/系统化

无效的密码: 过于简单

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

客户端

## 登录

[[email protected] ~]# lftp [email protected]

口令:

lftp [email protected]:~> ls

服务端

## 查看php-fpm的家目录

[[email protected] ~]# grep php-fpm /etc/passwd

php-fpm:x:501:501::/home/php-fpm:/sbin/nologin

## 在php-fpm的家目录创建文件或目录

[[email protected] ~]# ls /home/php-fpm/

[[email protected] ~]# touch /home/php-fpm/1122.txt

[[email protected] ~]# mkdir /home/php-fpm/aabb

客户端

## 查看服务端创建的文件或目录

lftp [email protected]:~> ls

-rw-r--r--    1 0        0               0 Nov 14 14:42 1122.txt

drwxr-xr-x    2 0        0            4096 Nov 14 14:43 aabb

解释说明:

这个就是默认的vsftp它这个服务,默认就可以让我们的系统用户去登录。

## 查看

lftp [email protected]:~> pwd

ftp://[email protected]/%2Fhome/php-fpm

## 查看能否进入/etc下

lftp [email protected]:/>  cd /etc

lftp [email protected]:/etc> ls

解释说明:

这样是非常危险的,它可以进入到任何目录下(除了/root)也就是说它没有限定我们的家目录;这个默认的vsftp非常地危险,所以建议不要这样去用,那怎么去用呢?我们也需要像pure-ftpd那样做一个虚拟的

用户去映射一下,这样才能够更加地安全。

服务端

## 编辑配置文件,限定家目录

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES

解释说明:

chroot_local_user=YES 就是限定家目录,不能访问其他的目录

也可以针对性地做一个列表(user1,user2.....),就要把chroot_list_enable=YES和chroot_list_file=/etc/vsftpd/chroot_list这两项都打开。

## 重启

[[email protected] ~]# /etc/init.d/vsftpd restart

客户端

## 再来查看,能否进入其他目录

lftp [email protected]:~> exit

[[email protected] ~]# lftp [email protected]

口令:

lftp [email protected]:~> cd /etc

cd: Access failed: 550 Failed to change directory. (/etc)

lftp [email protected]:/> cd /tmp

cd: Access failed: 550 Failed to change directory. (/tmp)

lftp [email protected]:/> pwd

ftp://[email protected]/

lftp [email protected]:/> ls

-rw-r--r--    1 0        0               0 Nov 14 14:42 1122.txt

drwxr-xr-x    2 0        0            4096 Nov 14 14:43 aabb

解释说明:

在服务端做了家目录限制,就不能进入到其他的目录了,只能在当前目录下;总之,这个vsftp使用系统的用户是不太安全的,你想想,你ftp能登,那我是不是就可以登录ssh,这个肯定不太好,所以我们使用虚拟

映射的用户是必不可少的。

如何去做虚拟的用户?(它必然也会映射一个系统的用户)

服务端

## 创建虚拟用户所对应的那个用户

[[email protected] ~]# useradd virftp -s /sbin/nologin

## 创建虚拟用户存放的用户名密码文件

[[email protected] ~]# vim /etc/vsftpd/vsftpd_login

test1

111222aaa

test2

aaa111ddd

## 做权限更改,只允许root可以看

[[email protected] ~]# chmod 600 /etc/vsftpd/vsftpd_login

## 生成库文件(vsftpd这个服务能识别的二进制的库文件)

[[email protected] ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

解释说明:

这两个文件的名字要一致

## 创建虚拟账号

[[email protected] ~]# mkdir /etc/vsftpd/vsftpd_user_conf //虚拟用户它的配置文件所存放的那个目录

[[email protected] ~]# cd !$

cd /etc/vsftpd/vsftpd_user_conf

[[email protected] vsftpd_user_conf]# vim test1 //创建跟用户名同名的文件,这个文件就是它的配置文件

local_root=/home/virftp/test1     //限定家目录

anonymous_enable=NO             //匿名用户是否可用

write_enable=YES                 //是否可写

local_umask=022

anon_upload_enable=NO            //匿名用户是否可上传

anon_mkdir_write_enable=NO       //匿名用户是否可创建

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

解释说明:

这个配置文件里有什么呢,跟我们vsftpd.conf里面的内容是大同小异的。

注:这里参数一定不要打错。会报:登录失败:500 OOPS

## 创建test1的家目录

[[email protected] vsftpd_user_conf]# mkdir /home/virftp/test1

## 修改权限,改成所映射的那个用户

[[email protected] vsftpd_user_conf]# chown -R virftp:virftp !$

chown -R virftp:virftp /home/virftp/test1

## 查看认证模块

[[email protected] vsftpd_user_conf]# ls /lib64/security/pam_userdb.so

/lib64/security/pam_userdb.so

解释说明:

如果系统是64位的,则是在/lib64/目录下;若是32位的,则是在/lib/目录下

## 编辑认证相关的一个文件

[[email protected] vsftpd_user_conf]# vim /etc/pam.d/vsftpd

#%PAM-1.0

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

解释说明:

/lib64/security/pam_userdb.so 认证的一个模块

## 编辑vsftpd配置文件

[[email protected] vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO

local_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

##在文件末尾加上这几行:

guest_enable=YES       //要不然虚拟用户virftp它登录不了

guest_username=virftp  //指定来宾用户

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf    //指定虚拟用户所在的配置文件到底在哪里

## 重启服务

[[email protected] vsftpd_user_conf]# /etc/init.d/vsftpd restart

## 本地安装lftp测试

[[email protected] vsftpd_user_conf]# yum install -y lftp

## 查看密码文件

[[email protected] vsftpd_user_conf]# cat /etc/vsftpd/vsftpd_login

test1

111222aaa

test2

aaa111ddd

## 登录

[[email protected] vsftpd_user_conf]# lftp [email protected]

口令:

lftp [email protected]:~> ls

ls: 登录失败: 530 Login incorrect.

lftp [email protected]:~> pwd

ftp://[email protected]

lftp [email protected]:~> exit

## 在test1家目录下创建文件目录

[[email protected] vsftpd_user_conf]# cd /home/virftp/test1

[[email protected] test1]# touch 2.txt

[[email protected] test1]# mkdir 12312

## 登录

[[email protected] vsftpd_user_conf]# lftp [email protected]

口令:

lftp [email protected]:~> ls

drwxr-xr-x    2 502      502          4096 Nov 14 16:22 12312

-rw-r--r--    1 502      502             0 Nov 14 16:21 2.txt

## 也可以在浏览器中登录

## 点登录后可查看到

解释说明:

最好的方式还是去windows下的客户端去访问

时间: 2025-01-02 03:43:03

vsftp部署和优化的相关文章

pureftp、vsftp部署及优化

pure-ftp部署及优化 pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd ftp服务器上: [[email protected] client mnt]# cd /usr/local/src/ [[email protected] client src]#wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.40.tar.gz [[email p

vsftp部署和优化(CentOS自带的ftp软件)

一.(1)首先安装vsftpd yum install -y vsftpd (2)安装完vsftpd后启动vsftpd服务 /etc/init.d/vsftpd start (这时启动的时候可能会失败,原因是上面我们pure-ftpd已经占用了21端口,ftp服务使用的都是21端口,所以这时候出现冲突,这时候vsftpd服务自然无法启动起来:这时我们就得先把pure-ftpd先kill掉,再次启动就可以了) (3)切换到客户端直接用系统用户登录 lftp [email protected] (w

部署和调优 1.5 vsftp部署和优化-1

系统自带的ftp服务软件.vsftpd 安装vsftpd yum install -y vsftpd 启动vsftpd /etc/init.d/vsftpd start 如果启动失败,可能是端口被占用,所有的ftp服务都占有21端口 netstat -lnp killall pure-ftpd 默认的ftp服务可以让系统的用户登录 更改用户的密码是 passwd加用户名 passwd wangshaojun 在远程机器上登录 lftp [email protected]192.168.1.117

vsftp部署和优化错误

ftp登录失败 vim /etc/vsftpd/vsftpd.conf 添加虚拟机配置的时候有空行,删除空行解决

Linux vsftp 部署&优化

[[email protected] ~]# yum install -y vsftpd  #安装 centos自带的vsftp 服务 启动 vsftpd 服务,如果服务启动失败,检查日志.可以看到是 端口被 pure-ftpd占用. 关掉pure_ftpd 服务,再启动,就可以了. [[email protected] ~]# /etc/init.d/vsftpd start Starting vsftpd for vsftpd:                                

Linux常用服务部署与优化

Linux常用服务部署与优化 A.NFS部署和优化1 1. 安装NFS服务端与配置文件 [[email protected] mnt]# yum install -y nfs-utils rpcbind     //安装服务端 [[email protected] mnt]# vim /etc/exports    //打开配置文件,配置共享文件,文件默认是空的 /mnt  10.30.4.137(rw,sync)    //配置共享文件/mnt [[email protected] mnt]#

lamp/lnmp阶段练习Linux常用服务部署与优化

lamp/lnmp阶段练习Linux常用服务部署与优化 我们以模拟实际需求的形式来复习.需求如下: 1. 准备两台centos 6,其中一台机器跑mysql,另外一台机器跑apache和nginx + php 2. 同时安装apache和nginx,其中nginx启动80端口,用来跑静态对象(图片.js.css),apache监听88端口,负责跑动态页(php相关的),并且需要由nginx代理对外访问3. mysql服务器需要开启慢查询日志4. 搭建discuz.wordpress以及phpmy

NFS部署及优化(二)

NFS部署及优化(二) 一.如何配置更改文件用户 在B机器上: 在实际生产环境当中,直接用映射过来的nfsnobody用户并不合适 那么如何来指定新建的这个用户呢? 下面我们先来创建一个普通用户,命令如下: [[email protected] shiyan]# useradd user111 [[email protected] shiyan]# cat /etc/passwd |grep user111 user111:x:502:502::/home/user111:/bin/bash #

配置FTP服务(二):vsftpd部署和优化

前面一篇文章介绍了pureftp部署和优化:http://1015489314.blog.51cto.com/8637744/1694166 下面我们接着来做CentOS自带的FTP软件vsftpd的部署和优化实验. 1.安装启动vsftpd [[email protected] ~]# yum install -y vsftpd [[email protected] ~]# /etc/init.d/vsftpd start 注:我们会发现启动失败,因为之前我们安装了pure-ftpd,被其占用