FTP介绍,使用vsftpd搭建ftp
温馨提示:这篇文章已超过865天没有更新,请注意相关的内容是否还可用!
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
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
编辑主配置文件
# 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客户端软件进行测试
使用sftp方法下载
1、新建一个会话,协议选择sftp,其他主机ip是服务器ip,端口默认22
2、设置下载存放目录,记得设置不然无法下载
3、输入账号密码登入,登入后如图
默认是在/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