linux ftp的搭建使用

安装ftp服务

  • 首先检查是否安装过:

    [root@gs-server-5950 ~]# rpm -qa|grep ftp
    [root@gs-server-5950 ~]# rpm -qa|grep vsftpd
    [root@gs-server-5950 ~]# 
    
  • 方式一”离线安装“(二选一即可)
    准备离线安装包vsftpd
    下载后上传到机器并安装

    [root@gs-server-5950 soft]# rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm 
    准备中...                          ################################# [100%]
    正在升级/安装...
       1:vsftpd-3.0.2-25.el7              ################################# [100%]
    [root@gs-server-5950 soft]# 
    
  • 方式二 yum安装

    yum -y install vsftpd
    

配置/etc/vsftpd/vsftpd.conf

1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问
2、本地用户形式:以/etc/passwd中的用户名为认证方式
3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。

Anonymous_enable=YES|NO  ##匿名用户登陆限制
write_enable=YES         
anon_upload_enable=YES    ##匿名用户上传
Anon_root=/test   ##匿名用户家目录修改
anon_umask=755   ##匿名用户上传文件默认权限修改
anon_mkdir_write_enable=YES|NO   ##匿名用户建立目录
anon_world_readable_only=YES|NO  ##匿名用户下载
##参数为NO,表示用户可以下载
参数为YES,且文件其他用户没有读权限,则匿名     用户不能下载。
参数为YES,且目录其他用户没有读权限,则匿名     用户访问目录时,目录为空。
注:即使文件或者目录的所有人和所有组用户为匿名 用户,参数为YES的情况仍成立
anon_other_write_enable=YES|NO    ##匿名用户删除
chown_uploads=YES   ##匿名用户登陆使用的用户身份
chown_username=student    ##上传的passwd文件所有者变为student
anon_max_rate=102400  (100K)    ##最大上传速率
max_clients=2  ##最大连接2个客户端
local_enable=YES|NO    ##本地用户登陆权限
Write_enable=YES|NO    ##本地用户写权限限制
Local_root=/directory    ##本地用户家目录修改
local_umask=022    ##本地用户上传文件权限
chroot_local_user=YES    ##限制本地用户浏览/目录
chmod u-w /home/*    ##所有用户被锁定到自己的家目录中
用户被锁定到家目录的黑名单建立
Chroot_local_user=NO    
Chroot_list_enable=YES
Chroot_list_file=/etc/vsftpd/chroot_list
用户被锁定到家目录的白名单建立
Chroot_local_user=YES
Chroot_list_enable=YES
Chroot_list_file=/etc/vsftpd/chroot_list
限制本地用户登陆
vim /etc/vsftpd/ftpusers        ##用户黑名单
vim /etc/vsftpd/user_list       ##用户临时黑名单
本地用户白名单设定
userlist_deny=NO    (配置文件)
/etc/vsftpd/user_list   ##此文件因为参数设定变为白名 单,只有名单中的用户可以登陆ftp	

- FTP虚拟用户设定

  • 创建虚拟帐号身份
vim /etc/vsftpd/loginusers
ftpuser1
123
ftpuser2
123
ftpuser3
123
  • 在当前文件夹生成加密文件
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db
  • 生成验证登陆配置文件
vim /etc/pam.d/ckvsftpd     ##文件名任意
account required pam_userdb.so db=/etc/vsftpd/loginusers
auth required pam_userdb.so db=/etc/vsftpd/loginusers
  • 编写vsftpd配置
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
guset_username=ftp
虚拟帐号登陆使用身份指定
Useradd ftpuser
guset_username=ftpuser
mkdir /home/ftpuser/pub
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}

虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级

猜你喜欢

转载自blog.csdn.net/sinat_39562444/article/details/88059430