FTP服务搭建与配置

FTP服务搭建与配置linux

FTP介绍
shell

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

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

 小公司用的多,大企业不用FTP,由于不安全。centos


使用vsftpd搭建ftp服务
安全

centos上自带vsftpd服务器

 安装:yum install -y vsftpdsession

 建立一个用户:useradd -s /sbin/nologin virftp //-s指定他的shell这样为了安全,建立这个普通用户的目的是为了让这些虚拟的用户来作一个映射,由于你要登陆这台机器去传输数据,因此须要一个用户ssh

 编辑文件:vim /etc/vsftpd/vsftpd_login //这个文件咱们叫作虚拟用户的密码文件,须要定义他的用户名和密码,奇数行为用户名,偶数行为密码,多个用户就写多行,内容格式以下:ide

testuser1

aminglinux

user1

987654321

image.png

 编辑完更改权限:chmod 600 /etc/vsftpd/vsftpd_login 不能让全部用户都能读

 把文本的密码文件转换成计算机识别的二进制文件:

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

 建立虚拟用户配置文件所在的目录:mkdir /etc/vsftpd/vsftpd_user_conf 

 这个目录也是自定义的因此也要去配置文件中去定义

 先进入到该目录下:cd /etc/vsftpd/vsftpd_user_conf

建立并编辑用户的配置文件:vim testuser1 //建立用户的配置文件要跟你的用户名字一致,加入如下内容://注释

local_root=/home/virftp/testuser1//定义虚拟用户的家目录

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//最大的客户端有多少

 建立虚拟用户的家目录:mkdir /home/virftp/testuser1

 在touch一个文件:touch /home/virftp/testuser1/aming.txt

 更改权限:chown -R virftp:virftp /home/virftp由于最后你要映射成virftp这个用户

 编辑配置文件,定义它的密码文件在哪里: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

编辑vfstpd的主配置文件:vim /etc/vsftpd/vsftpd.conf

 将anonymous_enable=YES 改成 anonymous_enable=NO 不容许秘密用户

image.png

 将#anon_upload_enable=YES 改成 anon_upload_enable=NO 

image.png

 将#anon_mkdir_write_enable=YES 改成 anon_mkdir_write_enable=NO

image.png

  在最下边再增长以下内容

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

image.png

启动服务:systemctl start vsftpd 查看下进程:ps aux |grep vsftp

image.png

查看监听端口:netstat -lntp vsftp监听的是21端口   22端口是sshd 23端口是telnet

B{{JIM(89CSQ_[V667E{N]B.png


测试ftb

 安装客户端软件:yum install -y lftp

 lftp testuser1@127.0.0.1

 执行命令ls,看是否正常输出

image.png

输入问号?查看可使用的命令

0$3({~Q_V8(IEB}KN4]N34M.png

经常使用的命令put;get  好比你get一个文件,他就会get到当前目录下,quit退出来

image.png

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

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

ctrl+alt+f

image.png


使用pure-ftbd搭建ftb服务

 yum install -y epel-release

 yum install -y pure-ftpd

 改一下配置文件:vim /etc/pure-ftpd/pure-ftpd.conf//找到pureftpd.pdb这行,把行首的#删除

image.png

由于pure也属于一个ftb传输软件,也监听着21端口,因此你要先把以前开启的vsftpd关掉 

systemctl stop vsftpd

再来开启oure服务:systemctl start pure-ftpd

 建立测试目录:mkdir /data/ftp

 建立一个普通目录:useradd -u 1010 pure-ftp

 把属主属组改一下:chown -R pure-ftp:pure-ftp /data/ftp

 建立一个用户:pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp  //-u指定系统用户是谁 -d指定虚拟用户的家目录

image.png

 查看pure都支持那些用法:pure-pw --help

必须执行这一步,否则没办法登陆:pure-pw mkdb

 建立一个测试文件:touch /data/ftp/123.txt

 登陆:lftp ftp_usera@127.0.0.1 ls查看一下有没有123.txt文件

image.png

 pure-pw list/userdel/usermod/passwd

相关文章
相关标签/搜索