FTP的搭建和维护

作者: 没想好胡萝卜 | 来源:发表于2018-06-05 09:21 被阅读65次

1、安装ftp服务

检查ftp服务是否已安装

rpm -qa |grep vsftpd

安装ftp服务

yum install vsftpd

2、创建用户登录

安装数据库

yum install db4-utils

创建虚拟用户,并转换为本地数据库文件

/etc/vsftpd/logins.txt

db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/logins.db

保护数据库

chmod 600 /etc/vsftpd/logins.db

修改配置,用本地数据库进行验证,在/etc/vsftpd/vsftpd.conf配置

pam_service_name=vsftpd

修改/etc/pam.d/vsftpd配置,把原有的内容全部删掉或者注释掉,再写上:

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/logins

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/logins

创建虚拟用户及目录

useradd -d /cache1/Test_Log virtual

若提示useradd: unable to open password file,修改权限保护,修改办法如下:

[root@203 etc]# lsattr /etc/passwd

----i-------- /etc/passwd

[root@203 etc]# lsattr /etc/shadow

----i-------- /etc/shadow

[root@203 etc]# lsattr /etc/gshadow

----i-------- /etc/gshadow

[root@203 etc]# lsattr /etc/group

----i-------- /etc/group

[root@203 etc]# chattr -i /etc/passwd

[root@203 etc]# chattr -i /etc/shadow

[root@203 etc]# chattr -i /etc/gshadow

[root@203 etc]# chattr -i /etc/group

把虚拟账号映射到virtual用户,在/etc/vsftpd/vsftpd.conf配置

guest_enable=yes

guest_username=virtual

3、安全及限速配置

取消匿名登录功能

anonymous_enable=NO

设定使用者不得更改目录

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

新增一个文件/etc/vsftpd/chroot_list,文件内容为用户名

限速

在/etc/vsftpd/vsftpd.conf配置增加一行

user_config_dir=/etc/vsftpd/userconf

创建用户配置目录

mkdir /etc/vsftpd/userconf

在/etc/vsftpd/userconf下新增一个名为用户登录名的文件,加入如下配置,意味着该用户最高速度为500Kb/s(VSFTP对于速度的限制范围大概在80%到120%之间,也就是限制最高速度为100Kb/s,但实际的速度可能在80Kb/s到120Kb/s之间。如果频宽不足,数值会低于此限制)

local_max_rate=500000

重启服务

service vsftpd restart

4、维护

增删用户密码

vi /etc/vsftpd/logins.txt

db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/logins.db

限速大小修改

/etc/vsftpd/userconf

vi user1

5、可能遇到错误

最后测试时出现530 login incrrect 提示,无法登陆。

查看日志 tail -n 20 /var/log/secure  有如下信息

Oct 21 14:19:40 www vsftpd: PAM unable to dlopen(/lib/security/pam_userdb.so)

Oct 21 14:19:40 www vsftpd: PAM [error: /lib/security/pam_userdb.so: wrong ELF class: ELFCLASS32]

Oct 21 14:19:40 www vsftpd: PAM adding faulty module: /lib/security/pam_userdb.so

Oct 21 14:19:40 www vsftpd: pam_unix(vsftpd:auth): check pass; user unknown

Oct 21 14:19:40 www vsftpd: pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=kanecruise rhost=60.55.8.102

Oct 21 14:19:40 www vsftpd: pam_succeed_if(vsftpd:auth): error retrieving information about user kanecruise

很明显是 /lib/security/pam_userdb.so这个载入失败。

检查本地机器

pam.i386                                                                              0.99.6.2-6.el5_5.2                                                                    installed

pam.x86_64                                                                        0.99.6.2-6.el5_5.2                                                                    installed

两种都已经安装,到底是载入的哪个,哪个载入失败呢?

机器是64位的,猜想应该是要载入pam.x86_64

cat /etc/pam.d/vsftpd

#%PAM-1.0

auth    sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers

account sufficient      /lib/security/pam_userdb.so    db=/etc/vsftpd/virtusers

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 system-auth

account    include system-auth

session    include system-auth

session    required    pam_loginuid.so

就是这里 /lib/security/pam_userdb.so 文件载入失败,这个文件存在问题。

[root@www kanecruise]# ls /lib

lib/  lib64/

根目录存在此两个问题,尝试把lib改为 lib64并确认 /lib/security/pam_userdb.so 此文件存在。

auth    sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers

account sufficient      /lib64/security/pam_userdb.so    db=/etc/vsftpd/virtusers

保存重启vsftpd服务。

重新测试,登陆成功了。

6、限制IP访问网段

只允许网段访问:在/etc/hosts.deny 配置:

vsftpd: ALL EXCEPT 183.250.161.14

限制某个网段访问在/etc/hosts.deny配置:

vsftpd:183.250.161.14

7、上传资源类型限制:

deny_file={*.mp3,*.mov,.private}

相关文章

  • FTP的搭建和维护

    1、安装ftp服务 检查ftp服务是否已安装 rpm -qa |grep vsftpd 安装ftp服务 yum i...

  • 腾讯云filezilla(windows)配置小结

    因为不太了解FTp的工作原理,导致走了不少的弯路 FTP的搭建和使用 新手学堂 学习路径 简介 简介 FTP 是F...

  • ftp搭建和使用

    1)安装ftp 2)设置开机启动 3)配置ftp 4)建立用户文件 5)生成用户数据文件 6)修改/etc/pam...

  • Spring IOC

    定义:控制反转,应用程序本身不需要创建和维护,由外部容器创建和维护。 实现方式:DI注入。(类似于dagger注入...

  • IOC解析

    IOC概述 IOC: 控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护...

  • IOC简介

    IOC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护 DI:依赖注...

  • 创建和维护表

    数据库对象:表,视图,约束,索引,同义词,触发器,存储过程,函数等。 1.创建表 使用子查询语法创建表 2.修改表...

  • 创建和维护表

    数据库对象:表,视图,约束,索引,同义词,触发器,存储过程,函数等。 1.创建表 使用子查询语法创建表 2.修改表...

  • 创建和维护表

    一、数据定义语言 数据定义语言(DDL)是SQL语言集中负责数据结构定义与数据库对象定义的语言,由CREATE、A...

  • 苹果电脑常用FTP管理工具Viper FTP for Mac,最

    Viper FTP 破解版允许您通过FTP,SFTP,WebDav或Amazon S3传输文件。如果您维护网站,上...

网友评论

    本文标题:FTP的搭建和维护

    本文链接:https://www.haomeiwen.com/subject/kgtpsftx.html