码迷,mamicode.com
首页 > 其他好文 > 详细

ftp介绍和搭建

时间:2018-08-27 21:48:42      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:超过   ali   metal   链接   optional   ORC   x86_64   test   touch   

FTP介绍

FTP是File Transfer Protocol(文件传输协议的英文简称),用于internet上控制文件双向传输,ftp主要作用就是让用户连接一个远程计算机(安装了FTP程序),并查看远程计算机中的文件,可以把远程计算机中的文件复制到本地计算机中,或者把文件传输到远程计算机当中。
什么情况下使用FTP;在远程终端中操作linux时,有时候我们需要传输一个很大的文件到服务器,或者需要从服务器下载一个很大的文件。通常我们使用rzsz命令就可以满足大部分需求,但是当文件大于4GB以上时,rzsz会不支持大文件传输,这时候rzsz这个命令就无能为力了。我们就需要使用一个能够传输大文件的传输协议,这个就是文件传输协议,即FTP传输工具
FTP因为安全性较差,大的企业中应用到的地方不多,因为大企业都会有自己的一套传输控制的方案

使用vsftp搭建ftp服务

安装vsftpd

[root@aaa /]# yum install -y vsftpd
已加载插件:fastestmirror
base | 3.6 kB 00:00:00 ? ? 
epel/x86_64/metalink | 8.3 kB 00:00:00 ? ? 
epel ? ? 
已安装:
  vsftpd.x86_64 0:3.0.2-22.el7 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
完毕!

创建运行的用户,vsftp可以使用系统级别的用户,该用户是系统用户,可以登录到系统当中,但是这样又会不安全,所以vsftp有虚拟用户这一设置,虚拟用户建立在真实用户上,虚拟用户可以登录访问vsftp,但是不可以登录系统,增加了安全性
创建真实用户和虚拟用户,虚拟用户在配置文件中定义,奇数行为用户名。偶数行为用户的密码,创建后保存退出

[root@aaa /]# useradd -s /sbin/nologin vsftpd
[root@aaa /]# vim /etc/vsftpd/vsftpd_login
user1
passwd1
~ ? ?

使用db_load转换用户密码配置文件 ?db_load -T -t hash -f? ?密码配置文件 ? 转换后的文件.db
?将虚拟用户配置文件权限设置为600只允许root可读,其他用户无权限访问,并把虚拟用户配置文件转为二进制的文件

[root@aaa /]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@aaa /]# ll -h /etc/vsftpd/
总用量 36K
-rw------- 1 root root 125 8月 3 2017 ftpusers
-rw------- 1 root root 361 8月 3 2017 user_list
-rw------- 1 root root 5.0K 8月 3 2017 vsftpd.conf
-rwxr--r-- 1 root root 338 8月 3 2017 vsftpd_conf_migrate.sh
-rw------- 1 root root 14 8月 18 09:05 vsftpd_login
-rw-r--r-- 1 root root 12K 8月 18 09:10 vsftpd_login.db

创建虚拟用户配置文件,创建虚拟用户配置文件保存目录,并配置文件必须要和虚拟用户配置文件中的用户名保持一致

[root@aaa /]# mkdir /etc/vsftpd/vsftpd_user_conf
[root@aaa /]# cd /etc/vsftpd/vsftpd_user_conf/
[root@aaa vsftpd_user_conf]# vim user1
local_root=/home/vsftpd/user1 ? ? ? ? ? ?  指定虚拟用户的家目录,即可访问的目录
anonymous_enable=NO ? ? ? ? ? ? ? ? ? ? ?  是否禁止匿名用户访问,YES允许/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@aaa vsftpd_user_conf]# mkdir /home/vsftpd/user1
[root@aaa vsftpd_user_conf]# touch /home/vsftpd/user1/index.html
[root@aaa vsftpd_user_conf]# chown -R vsftpd:vsftpd /home/vsftpd/

在vsftp的模块配置文件中添加保存虚拟用户和用户密码的文件位置,指定支持库的位置。
加入如下两行,注意的是在lib64这个位置,是区分系统位数的,如lib32对应的是32位的操作系统

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@aaa vsftpd_user_conf]# vim /etc/pam.d/vsftpd 
#%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

修改vsftpd的主配置文件,这个文件起到全局作用,其配置生效的优先级大于虚拟用户配置文件中的配置
在主配置文件中修改下列内容,取消注释并将YES改为NO

[root@aaa vsftpd_user_conf]# vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO ? ? ? ? ? ? ? ? 禁止匿名用户访问
anon_upload_enable=NO ? ? ? ? ? ? ? 禁止匿名用户写入
anon_mkdir_write_enable=NO ? ? ? ?  禁止匿名用户读取

主配置文件中添加新的配置项

chroot_local_user=YES
guest_enable=YES
guest_username=vsftpd
vurtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
allow_writeable_chroot=YES

ftp介绍和搭建

标签:超过   ali   metal   链接   optional   ORC   x86_64   test   touch   

原文地址:http://blog.51cto.com/8844414/2165079

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!