本文作者:阿豪

FTP介绍,使用vsftpd搭建ftp

阿豪 2020-02-18 318
FTP介绍,使用vsftpd搭建ftp摘要: FTP介绍FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。FTP的主要作用就是让用户连接一...

FTP介绍

FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。

FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

小公司用的多,大企业不用FTP,因为不安全

使用vsftpd搭建ftp服务(上)(下)

centos上自带vsftpd

# yum install -y vsftpd   安装

有两种办法

vsftpd    是可以使用系统级别的用户的

1、首先建立与虚拟账号相关联的系统账号,如下

# useradd -s /sbin/nologin virftp

2、创建密码存放文件

# vi /etc/vsftpd/vsftpd_login  //内容如下,奇数行为用户名,偶数行为密码,多个用户就写多行叫做虚拟用户的密码文件

 testuser1

 ahao123456

3、设置权限

# chmod 600 /etc/vsftpd/vsftpd_login

4、吧文本文件转换成机器可识别的二进制可识别的文件

# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

image.png

5、创建虚拟账号的相关目录及配置文件,并进入虚拟账号相关目录

# mkdir /etc/vsftpd/vsftpd_user_conf

# cd /etc/vsftpd/vsftpd_user_conf

6、创建用户的配置文件,每个用户的都有自己的一个配置文件文件名必须和用户名一直,如下所示

# vi testuser1 //加入如下内容  
local_root=/home/virftp/testuser1   //定义虚拟用户的家目录  
anonymous_enable=NO //禁止匿名账号登入NO表示为不允许  
write_enable=YES  //定义是否可写 ,yes为可写  
local_umask=022   //指定umask值  
anon_upload_enable=NO  //表示是否允许匿名用户账号上传文件,,no为不允许  
anon_mkdir_write_enable=NO //表示是否允许匿名账号科协,no为不允许  
idle_session_timeout=600   //空闲多长时间自动断开  
data_connection_timeout=120  //数据传输超时时间  
max_clients=10  //最大的客户端连接

7、创建目录,并创建文件设置权限

# mkdir /home/virftp/testuser1   

# touch /home/virftp/testuser1/ahao.txt   

# chown -R virftp:virftp /home/virftp

8、定义密码配置文件

# vim /etc/pam.d/vsftpd //在最前面加上,定义密码文件在哪里  

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

image.png

编辑主配置文件

# vi /etc/vsftpd/vsftpd.conf  
将anonymous_enable=YES 改为 anonymous_enable=NO  
将#anon_upload_enable=YES 改为 anon_upload_enable=NO  
将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO  
再增加如下内容  
chroot_local_user=YES  guest_enable=YES  
//映射一个用户enable就必须允许  
guest_username=virftp  //启用虚拟用户的话就必须映射一个用户  
virtual_use_local_privs=YES  启用虚拟用户  
user_config_dir=/etc/vsftpd/vsftpd_user_conf   //定义虚拟用户配置文件的路径  
allow_writeable_chroot=YES

10、启动vsftpd服务 

#systemctl start vsftpd

11、验证进程服务是否存在

[root@ahao-01 vsftpd_user_conf]# ps aux |grep vfstpd  

root      4668  0.0  0.0 112680   976 pts/3    R+   01:59   0:00 grep --color=auto vfstpd

12、安装lftp客户端软件测试

#yum install -y lftp  
登入FTP  
[root@ahao-01 vsftpd_user_conf]#  lftp testuser1@127.0.0.1  
口令:    
执行命令ls,看是否正常输出  
lftp testuser1@127.0.0.1:~> ls      
-rw-r--r--    1 1002     1002            0 May 09 17:53 ahao.txt  
lftp testuser1@127.0.0.1:/> ?   可以查看具体用法
    !<shell-command>                     (commands)                           alias [<name> [<value>]]             attach [PID]
    bookmark [SUBCMD]                    cache [SUBCMD]                       cat [-b] <files>                     cd <rdir>
    chmod [OPTS] mode file...            close [-a]                           [re]cls [opts] [path/][pattern]
    debug [<level>|off] [-o <file>]      du [options] <dirs>                  exit [<code>|bg]
    get [OPTS] <rfile> [-o <lfile>]      glob [OPTS] <cmd> <args>             help [<cmd>]
    history -w file|-r file|-c|-l [cnt]  jobs [-v] [<job_no...>]              kill all|<job_no>                    lcd <ldir>
    lftp [OPTS] <site>                   ln [-s] <file1> <file2>              ls [<args>]
    mget [OPTS] <files>                  mirror [OPTS] [remote [local]]       mkdir [-p] <dirs>
    module name [args]                   more <files>                         mput [OPTS] <files>                  mrm <files>
    mv <file1> <file2>                   [re]nlist [<args>]                   open [OPTS] <site>
    pget [OPTS] <rfile> [-o <lfile>]     put [OPTS] <lfile> [-o <rfile>]      pwd [-p]
    queue [OPTS] [<cmd>]                 quote <cmd>                          repeat [OPTS] [delay] [command]
    rm [-r] [-f] <files>                 rmdir [-f] <dirs>                    scache [<session_no>]
    set [OPT] [<var> [<val>]]            site <site-cmd>                      source <file>
    torrent [-O <dir>] <file|URL>...     user <user|URL> [<pass>]             wait [<jobno>]                       zcat <files>
    zmore <files>

若不正常查看日志/var/log/messages和/var/log/secure

windows下安装flashfxp客户端软件进行测试

image.png

使用sftp方法下载

1、新建一个会话,协议选择sftp,其他主机ip是服务器ip,端口默认22

image.png

2、设置下载存放目录,记得设置不然无法下载

image.png

3、输入账号密码登入,登入后如图

image.png

默认是在/root目录下,可以ls,或者进入到其他目录等操作

sftp:/root> get anaconda-ks.cfg  //下载一个文件
Fetching /root/anaconda-ks.cfg to anaconda-ks.cfg
sftp: received 1.31 KB in 0.01 seconds

image.png

文章版权及转载声明

作者:阿豪本文地址:https://www.ahaoyw.com/article/105.html发布于 2020-02-18
文章转载或复制请以超链接形式并注明出处阿豪运维

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏