FTP离线搭建笔记

FTP离线搭建笔记

第一步 检查是否已经安装了vsftp:

检查Linux系统是否安装了vsftpd的命令:rpm -qa|grep vsftpd

卸载vsftpd的命令yum remove vsftpd

执行yum -y install vsftpd

第二步 安装vsftpd

  1. .在线安装

[root@localhost ~]# yum -y install vsftpd

使用whereis vsftpd 查看安装路径

[root@localhost ~]#whereis vsftpd

  1. 离线安装

下载rpm安装包:RPM resource vsftpd(x86-64)

  1. 检查是否安装成功

第三步 配置

  1. 开启vsftpd的两个端口 20,21

  1. 创建两个系统用户

因为vsftpd默认的宿主用户是root,不符合安全性要求,所以将新建立的vsftpd服务的宿主用户的shell改为“ /sbin/nologin意思是禁止登录系统 ”:

useradd vsftpd -s /sbin/nologin        

//系统用户  vsftpd  主要是提供一个默认宿主

建立vsftpd虚拟宿主用户:

useradd virtusers  -s /sbin/nologin     

//系统用户  virtusers  虚拟用户组

#此次主要介绍虚拟用户,顾名思义虚拟用户在系统中是不存在的,它们集体寄托于方才创建的“virtusers”用户,那么这个用户就相当于一个虚拟用户组了,因为这个用户的权限将影响到后续讲到的虚拟用户。

  1. 配置vsftpd的主要配置文件vsftpd.conf

备份:cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.backup.conf

修改:vim /etc/vsftpd/vsftpd.conf

#默认的根目录为

#local_root=/var/ftp //此处注释掉,因为后面会对虚拟用户进行分别设置

#设置为NO代表不允许匿名

anonymous_enable=NO

#设定本地用户可以访问,主要是虚拟宿主用户,如果设为NO那么所欲虚拟用户将无法访问。

local_enable=YES

#可以进行写的操作

write_enable=YES 

#设定上传文件的权限掩码

local_umask=022

#禁止匿名用户上传

anon_upload_enable=NO 

#禁止匿名用户建立目录

anon_mkdir_write_enable=NO

# 设定开启目录标语功能

dirmessage_enable=YES

# 设定开启日志记录功能

xferlog_enable=YES 

#设定端口20进行数据连接

connect_from_port_20=YES

#设定禁止上传文件更改宿主

chown_uploads=NO

#设定vsftpd服务日志保存路劲。注意:改文件默认不纯在,需手动touch,且由于这里更改了vsftpd服务的宿主用户为手动建立的vsftpd,则必

须注意给予该用户对日志的读取权限否则服务启动失败。

xferlog_file=/var/log/vsftpd.log      //这个文件在后面步骤中会提及

#设定日志使用标准的记录格式

xferlog_std_format=YES

#设定空闲链接超时时间,这里使用默认/秒。

#idle_session_timeout=600

#设定最大连接传输时间,这里使用默认,将具体数值留给每个用户具体制定,默认120/秒

data_connection_timeout=3600

#设定支撑vsftpd服务的宿主用户为手动建立的vsftpd用户。注意:一旦更改宿主用户,需一起与该服务相关的读写文件的读写赋权问题.

nopriv_user=vsftpd 

#设定支持异步传输的功能

#async_abor_enable=YES

#设置vsftpd的登陆标语

ftpd_banner=hello 欢迎登陆

 #是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切换到要目录之外的)

chroot_local_user=NO

//如果设置成YE会导致你用java代码创建文件夹时失败,因为他被限制在了宿主目录

#禁止用户登出自己的ftp主目录

chroot_list_enable=NO

#禁止用户登陆ftp后使用ls -R 命令。该命令会对服务器性能造成巨大开销,如果该项运行当多个用户使用该命令会对服务器造成威胁。

ls_recurse_enable=NO

#设定vsftpd服务工作在standalone模式下。所谓standalone模式就是该服务拥有自己的守护进程,在ps -A可以看出vsftpd的守护进程名。如果

不想工作在standalone模式下,可以选择SuperDaemon模式,注释掉即可,在该模式下vsftpd将没有自己的守护进程,而是由超级守护进程Xinetd全权代理,与此同时,vsftpd服务的许多功能,将得不到实现。

listen=YES

#设定userlist_file中的用户将不能使用ftp

userlist_enable=YES

#设定pam服务下的vsftpd验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置。

pam_service_name=vsftpd

#设定支持TCPwrappers

tcp_wrappers=YES

#########以下是关于虚拟用户支持的重要配置项目,默认.conf配置文件中是不包含这些项目的,需手动添加。

#启用虚拟用户功能

guest_enable=YES

#指定虚拟的宿主用户    

guest_username=virtusers    //virtusers就是我们上面创建的系统用户,作为我们的虚拟用户组使用

#设定虚拟用户的权限符合他们的宿主用户

virtual_use_local_privs=YES

#设定虚拟用户个人vsftp的配置文件存放路劲。这个被指定的目录里,将被存放每个虚拟用户个性的配置文件,注意的地方是:配置文件名必须 和虚拟用户名相同。 user_config_dir=/etc/vsftpd/vconf  //这是个目录,是为每一个虚拟用户配置单独的权限使用,这里我们主要配置每个用户的单独根目录

#开启每个虚拟用户有独立的根目录

chroot_local_user=YES

#禁止反向域名解析,若是没有添加这个参数可能会出现用户登陆较慢,或则客户链接不上ftp的现象

reverse_lookup_enable=NO

# 以上内容为vsftpd.conf的内容,原来没有的部分建议手动新增节点,不要复制过多的注释会出错

  1. 建立vsftpd的日志文件,并更改属主为vsftpd的服务宿主用户

  1. 配置虚拟用户

建立一个虚拟用户名单文件,用来记录虚拟用户的账号和密码,格式为:一行用户名,一行密码。不要有空格

vim /opt/vsftp/passwd  //路径自己选,也可以建在vsftpd下面

示例:

test

123456

test1

654321

  1. 生成虚拟用户数据文件

db_load -T -t hash -f   /opt/vsftp/passwd  /opt/vsftp/passwd.db

# 注意路径,这块可能出现路径不对的情况

# 以后对虚拟用户的增删操作完之后需要再次执行上述命令,使其生成新的数据文件。

  1. 设置PAM验证文件,并制定虚拟用户数据库文件进行读取

备份cp /etc/pam.d/vsftpd   /etc/pam.d/vsftpd.backup

查看我已经配置的文件:cat /etc/pam.d/vsftpd   //红色部分为新增,可以看到目录就是我们配置的用户名密码

  1. 为每一个虚拟账户配置专属配置文件

直接copy主配置文件,不要追加的那部分配置,然后改用户登录的默认路径:

local_root=/opt/vsftpd/testfile  //这里是我配置的test用户的根目录

  1. 建立虚拟用户的仓库目录并更改相应属主/组且赋予相应权限

mkdir -p /opt/vsftpd/testfile

chown virtusers:virtusers /opt/vsftpd/testfile

chmod 755 /opt/vsftpd/testfile

  1. 在目录下建个文件,以便区别不同用户进入的目录是否正确

touch  /opt/vsftpd/testfile/abc

  1. 重启FTP服务

Systemctl restart vsftpd.service

  1. 测试

找个FTP工具连一下试试,我用的winscp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值