rhel5.5建立Vsftpd虚拟用户

2024-04-04 18:48

本文主要是介绍rhel5.5建立Vsftpd虚拟用户,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是假设你已经安装vsftpd

没安装请下载rpm包安装

1、创建虚拟用户文件login.txt

[root@localhost ~]# vim login.txt

奇数行为用户名,偶数行为密码。

test
test

给此文件设置600权限

[root@localhost ~]#chmod 600 login.txt

查看是否安装[   ] db4-utils-4.3.29-10.el5.i386.rpm

[root@localhost ~]# rpm -qa | grep db4-utils
db4-utils-4.3.29-10.el5

 

没有则点击下载它并安装:

rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm

下面使用db_load命令生成虚拟用户口令认证文件。

生成一个hash码型的数据库文件供ftp虚拟用户使用。

[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/vsftpd_login.db

设置600权限

[root@localhost ~]#chmod 600 /etc/vsftpd/vsftpd_login.db

 

2、配置PAm文件

修改/etc/pam.d/vsftpd添加尾部两行内容如下:(其他内容请注释)


#%PAM-1.0
#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
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 

 

注:

(x86_64)

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

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

 

3、建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码,不需要本地shell。

[root@localhost ~]#useradd -s /sbin/nologin ftpsite(也可以-d 改变主目录)

 

4、配置vsftpd.conf

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO   //禁止匿名用户访问

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list  //设置chroot_local_user=YES后,该文件内部制定的用户会被限制在帐号的Home目录
chroot_local_user=YES   //以上设置chroot功能,使整体ftp更安全

guest_enable=YES   //开启虚拟用户

guest_username=virtuser   //FTP虚拟用户对应的系统用户

pam_service_name=vsftpd //PAM认证文件

user_config_dir=/etc/vsftpd/virtual   //用户配置文件存放目录

pasv_min_port=30000
pasv_max_port=30999

创建chroot_list空文件(chroot功能需设置)

[root@localhost ~]#touch /etc/vsftpd/chroot_list

5、重启vsftpd服务

[root@localhost ~]#service vsftpd restart

6,设置selinux

[root@localhost ~]#setsebool -P ftpd_disable_trans  on

没设置会出现

vsftp连接时的"500 OOPS:cannot change directory:/root"错误

7、设置防火墙

添加防火墙规则

vim /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT

重启 防火墙

service iptables restart

一切OK

这篇关于rhel5.5建立Vsftpd虚拟用户的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/876572

相关文章

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

C++链表的虚拟头节点实现细节及注意事项

《C++链表的虚拟头节点实现细节及注意事项》虚拟头节点是链表操作中极为实用的设计技巧,它通过在链表真实头部前添加一个特殊节点,有效简化边界条件处理,:本文主要介绍C++链表的虚拟头节点实现细节及注... 目录C++链表虚拟头节点(Dummy Head)一、虚拟头节点的本质与核心作用1. 定义2. 核心价值二

mysql查询使用_rowid虚拟列的示例

《mysql查询使用_rowid虚拟列的示例》MySQL中,_rowid是InnoDB虚拟列,用于无主键表的行ID查询,若存在主键或唯一列,则指向其,否则使用隐藏ID(不稳定),推荐使用ROW_NUM... 目录1. 基本查询(适用于没有主键的表)2. 检查表是否支持 _rowid3. 注意事项4. 最佳实

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基