FTP介绍,使用vsftpd搭建ftp

不许人间见白头 44 0

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、创建密码存放文件

# vim /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

FTP介绍,使用vsftpd搭建ftp-第1张图片-阿豪运维笔记

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

# mkdir /etc/vsftpd/vsftpd_user_conf

# cd /etc/vsftpd/vsftpd_user_conf

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

# vim 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

FTP介绍,使用vsftpd搭建ftp-第2张图片-阿豪运维笔记

9、编辑主配置文件

# vim /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客户端软件进行测试

FTP介绍,使用vsftpd搭建ftp-第3张图片-阿豪运维笔记

使用sftp方法下载

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

FTP介绍,使用vsftpd搭建ftp-第4张图片-阿豪运维笔记

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

FTP介绍,使用vsftpd搭建ftp-第5张图片-阿豪运维笔记

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

FTP介绍,使用vsftpd搭建ftp-第6张图片-阿豪运维笔记

默认是在/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

FTP介绍,使用vsftpd搭建ftp-第7张图片-阿豪运维笔记

标签: Linux FTP

抱歉,评论功能暂时关闭!