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

FTP

时间:2018-08-17 12:12:01      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:vsftp   权限设置   fast   操作   debuginfo   监听   文本   数据   sources   

FTP是File Transfer Protocol (文件传输协议)的简称,用于internet上控制文件的双向传输。
FTP也是一个应用程序,基于不同操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。
在FTP的使用当中,用户经常遇到两种概念:下载和上传

FTP工作于应用层,监听tcp21号端口,是一种c/s架构的应用程序。

搭建ftp服务

1.安装wget 删掉本地源
[root@hyj ~]# yum install wget -y
[root@hyj ~]# cd /etc/yum.repos.d/
[root@hyj yum.repos.d]# ls
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-Media.repo
CentOS-Debuginfo.repo CentOS-Sources.repo
[root@hyj yum.repos.d]# rm -rf ./*
[root@hyj yum.repos.d]# ls

2.从网上下载网络源
[root@hyj yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
[root@hyj ~]# sed -i ‘s/\$releasever/7/g‘ /etc/yum.repos.d/CentOS7-Base-163.repo
[root@hyj ~]# yum clean all
3.下载安装扩展源
[root@hyj ~]# yum install epel-release -y
4下载安装vsftpd
[root@hyj ~]# yum install vsftpd -y

vsftpd虚拟用户配置
1.创建文本格式的用户名,密码列表,例如添加两个用户hejie,zhengran,密码分别为123,456
[root@hyj ~]# echo ‘hejie‘ >> /etc/vsftpd/vu.list
[root@hyj ~]# echo ‘123‘ >> /etc/vsftpd/vu.list
[root@hyj ~]# echo ‘zhengran‘ >> /etc/vsftpd/vu.list
[root@hyj ~]# echo ‘456‘ >> /etc/vsftpd/vu.list
[root@hyj ~]# cat /etc/vsftpd/vu.list
hejie
123
zhengran
456

//这里的用户名和密码是一一对应的,前面是账号,后面跟的是密码
//安装db4工具,将刚创建的文本格式用户名、密码文件使用db4工具装换成数据库文件
//-T 表示转换,-t表示加密方式,使用hash算法加密
[root@hyj ~]# yum install db4* -y
[root@hyj ~]# db_load -T -t hash -f /etc/vsftpd/vu.list /etc/vsftpd/vu.db
[root@hyj ~]# ls /etc/vsftpd/
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vu.db vu.list

//为提高虚拟用户账号文件的安全性,应该将文件权限设置为600,避免数据外泄
[root@hyj ~]# chmod 600 /etc/vsftpd/vu.
[root@hyj ~]# ll /etc/vsftpd/vu.

-rw-------. 1 root root 12288 Aug 12 18:24 /etc/vsftpd/vu.db
-rw-------. 1 root root 23 Aug 12 18:18 /etc/vsftpd/vu.list

//添加虚拟用户账号、创建ftp根目录。例如将要使用的ftp根目录设置为/var/ftproot,映射账号的名称为vftp,可进行如下操作
[root@hyj ~]# useradd -d /var/ftproot -s /sbin/nologin vftp
[root@hyj ~]# chmod 755 /var/ftproot/
[root@hyj ~]# ll /var/ftproot/ -d
drwxr-xr-x. 2 vftp vftp 62 Aug 12 18:31 /var/ftproot/

//为虚拟用户建立PAM认证
[root@hyj ~]# vi /etc/pam.d/vsftpd
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vu
account required pam_userdb.so db=/etc/vsftpd/vu

//修改vsftpd配置文件
[root@hyj ~]# cat >> /etc/vsftpd/vsftpd.conf << EOF

guest_enable=YES //是否开启虚拟用户
guest_username=vftp //虚拟用户是谁
user_config_dir=/etc/vsftpd/vusers_dir // 授权ftp虚拟用户所在目录
allow_writeable_chroot=YES //允许被禁锢的用户家目录有写权限
EOF

//有了上述配置后,就可以在/etc/vsftpd/vusers_dir目录中为每个虚拟用户分别建立配置文件了
例如,若要使虚拟用户tom能够上传文件,创建目录,而jerry只有默认的下载权限
[root@hyj ~]# mkdir /etc/vsftpd/vusers_dir
[root@hyj ~]# ll /etc/vsftpd/
total 32
-rw-------. 1 root root 125 Aug 3 2017 ftpusers
-rw-------. 1 root root 361 Aug 3 2017 user_list
-rw-------. 1 root root 5133 Aug 12 18:49 vsftpd.conf
-rwxr--r--. 1 root root 338 Aug 3 2017 vsftpd_conf_migrate.sh
-rw-------. 1 root root 12288 Aug 12 18:24 vu.db
-rw-------. 1 root root 23 Aug 12 18:18 vu.list
drwxr-xr-x. 2 root root 6 Aug 12 19:14 vusers_dir

//设置hejie用户可上传文件,创建目录
[root@hyj ~]# echo ‘anon_upload_enable=YES‘ >> /etc/vsftpd/vusers_dir/hejie
[root@hyj ~]# echo ‘anon_mkdir_enable=YES‘ >> /etc/vsftpd/vusers_dir/hejie
//设置zhengran用户只有默认的下载权限,只需创建一个名为zhengran的空文件即可
root@hyj ~]# touch /etc/vsftpd/vusers_dir/zhengran

//关闭防火墙 启动服务 查看端口起来没
[root@hyj ~]# systemctl start vsftpd
[root@hyj ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 :22 :
LISTEN 0 100 127.0.0.1:25
:
LISTEN 0 32 :::21 :::

LISTEN 0 128 :::22 :::
LISTEN 0 100 ::1:25 :::

FTP

标签:vsftp   权限设置   fast   操作   debuginfo   监听   文本   数据   sources   

原文地址:http://blog.51cto.com/13729085/2161080

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