FTP介绍及使用vsftpd搭建ftp服务(上)

本文详细介绍如何使用VSFTPD搭建FTP服务,包括安装配置工具、创建虚拟用户、配置文件编辑等步骤,帮助读者理解FTP服务的工作原理。

FTP介绍

FTP(file transfer protocol)文件传输协议,用于在Internet上控制文件的双向传输。FTP主要作用是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷贝到本地计算机,或把本地文件传送到远程计算机。
该服务在小公司用的比较多,由于FTP服务的安全性较差,所以大公司不使用该服务。


使用vsftpd搭建ftp服务(上)

1,安装vsftp工具及创建用户
[root@dl-001 src]# yum install vsftpd
[root@dl-001 src]# useradd -s /sbin/nologin virftp

说明: vsftpd可以使用系统级别的用户进行登录,但是这样做不安全,所以需要使用vsftpd创建一个虚拟用户。在此创建一个系统普通用户的作用是使vsftpd的虚拟用户来进行映射,然后完成数据的传输。


2,编辑虚拟用户密码文件,并更改文件权限
[root@dl-001 src]# vim /etc/vsftpd/vsftpd_login

test1

dinglet1

tese2

dinglet2

[root@dl-001 src]# chmod 600 /etc/vsftpd/vsftpd_login

说明: 该文件中内容奇数行为用户名,偶数行为用户密码。


3,文件转换

将该密码文件转换成计算机能识别的二进制文件。

[root@dl-001 src]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db


[root@dl-001 src]# ls -l /etc/vsftpd/

总用量 32    

-rw-------. 1 root root   125 83 14:10 ftpusers

-rw-------. 1 root root   361 83 14:10 user_list

-rw-------. 1 root root  5030 83 14:10 vsftpd.conf

-rwxr--r--. 1 root root   338 83 14:10 vsftpd_conf_migrate.sh

-rw-------. 1 root root    30 13 09:45 vsftpd_login

-rw-r--r--. 1 root root 12288 13 09:47 vsftpd_login.db    //查看生成密码文件成功

4,创建虚拟用户配置文件
[root@dl-001 src]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@dl-001 src]# cd !$

cd /etc/vsftpd/vsftpd_user_conf

[root@dl-001 vsftpd_user_conf]# vim test1    //创建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




[root@dl-001 vsftpd_user_conf]# ls

test1

说明:保持虚拟用户配置文件和虚拟用户名称一致。


5,创建虚拟用户家目录
[root@dl-001 vsftpd_user_conf]# mkdir /home/virftp/test1

[root@dl-001 vsftpd_user_conf]# touch /home/virftp/test1/dl.txt

[root@dl-001 vsftpd_user_conf]# chown -R virftp:virftp /home/virftp

6,虚拟用户密码匹配
[root@dl-001 vsftpd_user_conf]# 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

[root@dl-001 vsftpd_user_conf]# ls /lib64/security/pam_userdb.so     //查看该文件是否存在

/lib64/security/pam_userdb.so

说明: 在该文件中添加这两行内容,用于指定用户密码文件位置。
注意: 在centos6中“/lib64/security/pam_userdb.so”该文件区分版本(32位、64位)。


7,编辑vsftpd主配置文件
[root@dl-001 vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf     //编辑vsftpd的主配置文件

 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

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

allow_writeable_chroot=YES

8,启动服务并查看监听的端口
[root@dl-001 vsftpd_user_conf]# systemctl start vsftpd    

[root@dl-001 vsftpd_user_conf]# ps aux|grep vsftp

root      2514  0.0  0.0  53216   572 ?        Ss   10:14   0:00 /usr/sbin/vsftpd /etc/vsftd/vsftpd.conf

root      2516  0.0  0.0 112680   976 pts/0    R+   10:14   0:00 grep --color=auto vsftp

[root@dl-001 vsftpd_user_conf]# netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    

tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1463/sshd           

tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2211/master         

tcp6       0      0 :::3306                 :::*                    LISTEN      1986/mysqld         

tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           

tcp6       0      0 :::21                   :::*                    LISTEN      2514/vsftpd         

tcp6       0      0 :::22                   :::*                    LISTEN      1463/sshd           

tcp6       0      0 ::1:25                  :::*                    LISTEN      2211/master         

说明:FTP服务监听21端口;sshd监听22端口;telnet监听23端口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值