FTP服务搭建与配置

FTP介绍

大企业用的基本都是自动化发布工具,会用GIT企业发布的版本上传到服务器,

使用vsftpd搭建ftp服务(上)

http://blog.csdn.net/qq_26941173/article/details/54575952

1.yum安装vsftpd包

[root@fuwuduan nfstestdir]# yum install -y vsftpd

2.建立账号

vsftp默认支持系统账号体系登录,但那样不安全,我们可以使用虚拟账号体系。

(一)建立与虚拟账号相关联的系统账号

[root@fuwuduan nfstestdir]# useradd -s /sbin/nologin virftp
[root@fuwuduan nfstestdir]# 

3.创建ftp用户账号文件写入用户user1

[root@fuwuduan nfstestdir]# vim /etc/vsftpd/vsftpd_login
[root@fuwuduan nfstestdir]# 
user1
user1

4.设置密码问题权限

[root@fuwuduan nfstestdir]# chmod 600 /etc/vsftpd/vsftpd_login 
[root@fuwuduan nfstestdir]# 

5.vsfptd使用的密码文件不是明文的,需要生成对应的库文件。

[root@fuwuduan nfstestdir]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@fuwuduan nfstestdir]#

6.发现生成了vsftpd_login.db文件

[root@fuwuduan nfstestdir]# ls -l /etc/vsftpd/
总用量 36
-rw-------. 1 root root   125 8月   3 2017 ftpusers
-rw-------. 1 root root   361 8月   3 2017 user_list
-rw-------. 1 root root  5030 8月   3 2017 vsftpd.conf
-rwxr--r--. 1 root root   338 8月   3 2017 vsftpd_conf_migrate.sh
-rw-------. 1 root root    12 2月  23 15:02 vsftpd_login
-rw-r--r--. 1 root root 12288 2月  23 15:04 vsftpd_login.db
[root@fuwuduan nfstestdir]# 

7.创建虚拟用户配置文件所在目录

[root@fuwuduan nfstestdir]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@fuwuduan nfstestdir]# cd /etc/vsftpd/vsftpd_user_conf/
[root@fuwuduan vsftpd_user_conf]# 

8.创建和用户对应的配置文件,用户的配置文件时单独存在的,每一个用户都有一个自己的配置文件,文件名和用户名一致

[root@fuwuduan vsftpd_user_conf]# vim user1
[root@fuwuduan vsftpd_user_conf]# 

  

 

9.写入配置文件内容

local_root=/home/virftp/user1                  #虚拟用户的家目录

anonymous_enable=NO                         #是否允许匿名用户登录

write_enable=YES                           #是否可写

local_umask=022                            #指定umask值,创建新文件/目录的权限是什么

anon_upload_enable=NO                        #是否允许匿名用户可上传

anon_mkdir_write_enable=NO                    #是否允许匿名用户可写

idle_session_timeout=600                      #超过600秒需要重新登录

data_connection_timeout=120                    #数据传输的超时时间

max_clients=10                             #最大的链接客户多少

10.创建虚拟用户家目录

[root@fuwuduan vsftpd_user_conf]# mkdir /home/virftp/user1
[root@fuwuduan vsftpd_user_conf]# touch /home/virftp/user1/user1.txt
[root@fuwuduan vsftpd_user_conf]# chown -R virftp:virftp /home/virftp/
[root@fuwuduan vsftpd_user_conf]# vim /etc/pam.d/vsftpd (在最开始添加2行)
[root@fuwuduan vsftpd_user_conf]# 
#%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
session    optional     pam_keyinit.so    force revoke
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth       required     pam_shells.so
auth       include      password-auth
account    include      password-auth
session    required     pam_loginuid.so
session    include      password-auth

11.在centos7为64位系统,所以库文件路径为/lib64/security/pam_userdb.so。  (32位操作系统路为/lib/security/pam_userdb.so)

[root@fuwuduan vsftpd_user_conf]# ls /lib64/security/pam_userdb.so 
/lib64/security/pam_userdb.so
[root@fuwuduan vsftpd_user_conf]# 

  

12.修改全局配置文件,首先编辑vsftpd.conf文件

anonymous_enable=YES      (YSE更改为NO)             #不允许匿名用户

anon_upload_enable=YES      (去掉#,YES改为NO)        #不允许上传

anon_mkdir_write_enable=YES    (去掉#,YES改为NO)       #不允许创建目录
在最后添加几行:

chroot_local_user=YES                         (将所有用户都限制在主目录)

guest_enable=YES                            (打开虚拟用户映射系统用户)

guest_username=virftp                        (映射到那个系统用户)

virtual_use_local_privs=YES                     (告诉服务我们使用的虚拟用户)

user_config_dir=/etc/vsftpd/vsftpd_user_conf        (虚拟配置文件所在路径)

allow_writeable_chroot=YES                      (登录以后默认在其家目录中)

13.启动服务,查看进程和监听的端口 

[root@fuwuduan vsftpd_user_conf]# /usr/sbin/vsftpd (systemctl start vsftpd)         
[root@fuwuduan vsftpd_user_conf]# ps aux|grep vsftp                      
root      68172  0.1  0.0  51140   568 ?        Ss   16:39   0:00 /usr/sbin/vsftpd
root      68174  0.0  0.0 112680   976 pts/2    R+   16:39   0:00 grep --color=auto vsftp
[root@fuwuduan vsftpd_user_conf]# 

14.查看监听的端口

[root@fuwuduan vsftpd_user_conf]# netstat -lntp
tcp6       0      0 :::21                   :::*                    LISTEN      68172/vsftpd  

使用vsftpd搭建ftp服务(下)

1.安装lftp包

[root@fuwuduan vsftpd_user_conf]# yum install -y lftp

2.测试(如有错误可能配置文件中有空格,去掉就可以了)

[root@fuwuduan vsftpd_user_conf]# lftp user1@127.0.0.1
口令: 
lftp user1@127.0.0.1:~> ls          
-rw-r--r--    1 1003     1003            0 Feb 23 07:57 user1.txt
lftp user1@127.0.0.1:/> 

3.输入?号可以看到支持的命令

lftp user1@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>
lftp user1@127.0.0.1:/> 

4.get命令下载一个文件到当前目录  

lftp user1@127.0.0.1:/> get user1.txt 
lftp user1@127.0.0.1:/> quit     
[root@fuwuduan vsftpd_user_conf]# ls -lt |head
总用量 4
-rw-r--r--. 1 root root 200 2月  23 17:53 user1
-rw-r--r--. 1 root root   0 2月  23 15:57 user1.txt
[root@fuwuduan vsftpd_user_conf]#  

xshell使用xftp来传输文件

1.下载Xftp

同时按住crtl+alt+f,下载xftp服务

xshell使用xftp传输文件(xftp使用的也是ssh协议,监听的22端口)

同时按住crtl+alt+f ,xshell会跳出一个

1.png

进入下载xftp,会出现一个页面,(按照页面填好的内容写)

2.png

这时xshell会把下载地址发到你的邮箱内,在邮箱里点开链接即可。

下载并安装完成后,我们在打开xshell界面,同时按住crtl+alt+f,这时会弹出xftp的界面

3.png

左边是我们的windows,右边是我们的linux。

想从Linux把文件拉倒windows或者windows拉倒linux。只需要把文件拉倒对方即可。

使用pure-ftpd搭建ftp服务  

1.安装pure-ftpd包

[root@fuwuduan ~]# yum install -y pure-ftpd

2.修改配置文件

[root@fuwuduan ~]# vim /etc/pure-ftpd/pure-ftpd.conf 
[root@fuwuduan ~]# 
#PureDB                        /etc/pure-ftpd/pureftpd.pdb (去掉前面的#号,PureDB用户数据库文件

3.启动pure-ftpd

[root@fuwuduan ~]# systemctl stop vsftpd
[root@fuwuduan ~]# 
[root@fuwuduan ~]# ps aux|grep vsftpd    
root     101522  0.0  0.0 112680   968 pts/2    S+   18:01   0:00 grep --color=auto vsftpd
[root@fuwuduan ~]# systemctl start pure-ftpd
[root@fuwuduan ~]# ps aux|grep vsftpd       
root     101557  0.0  0.0 112680   968 pts/2    S+   18:01   0:00 grep --color=auto vsftpd
[root@fuwuduan ~]# ps aux|grep pure
root     101555  0.3  0.1 200332  1184 ?        Ss   18:01   0:00 pure-ftpd (SERVER)
root     101559  0.0  0.0 112680   972 pts/2    R+   18:01   0:00 grep --color=auto pure
[root@fuwuduan ~]# 

4.给pure-ftp的用户创建目录 

[root@fuwuduan ~]# mkdir /data/ftp
[root@fuwuduan ~]# useradd -u 1010 pure-ftp
[root@fuwuduan ~]# chown -R pure-ftp:pure-ftp /data/ftp
[root@fuwuduan ~]# pure-pw useradd ftp_usera -u pure-ftp -d /data/ftp/
Password: 
Enter it again: 
[root@fuwuduan ~]# 

5.测试成功

[root@fuwuduan ~]# touch /data/ftp/123.txt
[root@fuwuduan ~]# lftp ftp_usera@127.0.0.1
口令: 
lftp ftp_usera@127.0.0.1:~> ls      
drwxr-xr-x    2 1010       pure-ftp           20 Feb 24 18:18 .
drwxr-xr-x    2 1010       pure-ftp           20 Feb 24 18:18 ..
-rw-r--r--    1 0          0                   0 Feb 24 18:18 123.txt
lftp ftp_usera@127.0.0.1:/> 
原文地址:https://www.cnblogs.com/sunyujun/p/8461884.html