Centos下安装FTP并进行虚拟用户访问方式配置

1、准备工作

yum install pam*

yum install db4*

首先安装PAM(用于用户认证)和DB4(用于生成虚拟用户的用户名密码的db文件)。

2、安装vsftpd

yum install vsftpd

设置vsftpd开机启动:

chkconfig vsftpd on

通过chkconfig --list 查看启动项

3. 配置vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

xferlog_enable=YES

xferlog_file=/etc/vsftpd/vsftpd.log

xferlog_std_format=YES

connect_from_port_20=YES

idle_session_timeout=600

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=ftp

user_config_dir=/etc/vsftpd/virtualuser_conf

*重要参数说明:

anonymous_enable=NO 不允许匿名访问

local_enable=YES 本地用户可以访问,如果设置成NO的话,ftp这个系统本地用户没法进行访问了,所有的ftp客户端当然也没法进行上传下载了。

write_enable=YES #可写(可上传)

xferlog_enable=YES

xferlog_file=/etc/vsftpd/vsftpd.log

xferlog_std_format=YES

这3项由于设置log日志,记得在/etc/vsftpd/下新建一个vsftpd.log文件。

guest_enable=YES  #启用虚拟用户

guest_username=ftp  #虚拟用户借用的系统本地用户名

user_config_dir=/etc/vsftpd/virtualuser_conf  #虚拟用户的配置文件路径,所以别忘了在/etc/vsftpd/目录下新建一个virtualuser_conf文件夹

4、配置虚拟用户

比如我要添加一个叫zhang用户,ftp客户端就使用该用户名(密码后面设置)进行上传下载,在/etc/vsftpd/virtualuser_conf新建一个名叫zhang的文件:touch zhang 。文件里面的内容为:

local_root=/var/www/html

write_enable=YES

anon_umask=022

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

*参数说明:

local_root=/home/ftpuser  #该虚拟用户上传下载的根目录

write_enable=YES  #可写(可上传)

anon_umask=022  #掩码

接下来在/etc/vsftpd/目录新建一个记录所有客户端用户(虚拟用户)的用户名密码的文本文档:

touch virtualuser_passwd.txt

里面的内容为:

zhang

passwd1

zhang1

passwd2

奇数行是用户名,偶数行是密码,这里建了两个虚拟用户,但是zhang1这个用户没有给设置。

接着,生成虚拟用户认证的db文件

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

注意:每一次在virtualuser_passwd.txt增加用户名和密码时候,都要执行db_load -T -t hash -f /etc/vsftpd/virtualuser_passwd.txt /etc/vsftpd/virtualuser_passwd.db重新生成虚拟用户认证的db文件,要不是生效不了。

随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句

再增加以下两句

auth required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd

account required pam_userdb.so db=/etc/vsftpd/virtualuser_passwd

5、设置服务器上的目录权限

因为这里设置的上传下载的根目录为/var/www/html,所以这个文件夹的权限很重要,开始新建的时候它是root:root,属于root用户,属于root组,后来改成了root:ftp,即改成了ftp组,因为客户端进行上传下载是借助服务器上的ftp用户,ftp用户是属于ftp组的。这样能进行访问下载,但是下载有问题,各种改权限,最后直接将这个目录改成ftp:ftp所有问题都没有了,而且ftp用户对该目录具有rwx(可读可写可执行)的权限:

chown -R root:ftp /home/ftpuser

chmod 077 /home/ftpuser

6、测试

时间: 2024-10-15 20:31:44

Centos下安装FTP并进行虚拟用户访问方式配置的相关文章

centos 6 安装vsftpd与PAM虚拟用户

使用yum 安装vsftp 1 yum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件 1 cd /etc/vsftpd/ 2 touch vuser_passwd.txt 添加用户(奇行用户,偶行密码) 1 vim vuser_passwd.txt 2 3 tom 4 DSfaoewLD3 5 ken 6 GetpOIIofd324DLJhg 将文本内的帐号及密码添加到db4的数据库文件内 1 db_load -T -t hash -f /e

Ubunton下搭建ftp服务器 实现虚拟用户、本地用户、匿名用户的登陆及权限

#在ubunton系统下安装和配置ftp可以说是比较简单的 本篇教程是为了解决一下问题 需要搭建ftp服务器实现三种用户的登陆及权限管理 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东; 而tearcher,则可以对特定的目录里上传.下载东东; admin则可以对stu.teacher的数据进行统一的管理. 另外,做为系统上已经有的本地用户则可以登录自己的home目录. 针对上面的需求,ftp需要开通对匿名用户.本地用户.及虚拟用户的支持.并且特别对虚拟用户

Centos下安装最新版Mono并为windwos服务配置开机启动项

一:安装Mono,此步骤参照官网 1:配置Yum仓库 #Centos 7yum install yum-utils rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF" yum-config-manager --add-repo http://download.mono-project.com/repo/cent

阿里云Centos下安装nginx之后外网无法访问

centos 7.4 nginx1-14.0编译安装 curl 127.0.0.1 可以请求到 index.html curl local 可以请求到 index.html http://ip/ 无法访问 进入阿里云管理 ECS 实例,进入该实例安全组规则,默认没有 80 访问.添加安全组规则,将 80 端口设置为入站方向,暂时向所有 ip 开放(开发时),再次尝试通过 原文地址:https://www.cnblogs.com/cinlap/p/9075608.html

Linux Centos 通过虚拟用户访问FTP的配置

Linux Centos 通过虚拟用户访问FTP的配置 实验需求: 让下面4个虚拟用户使用系统用户ftpvu的权限来连接到Linux FTP服务器,并确保都锁定在 自己的虚拟用户目录,不能切换到其他目录. ftp1-3的带宽速率限制在500KB,davidge用户不限制带宽. 系统环境: [root@cent7-184 ~]# uname -r 3.10.0-229.el7.x86_64 [root@cent7-184 ~]# cat /etc/redhat-release CentOS Lin

Linux 下 FTP虚拟用户的使用配置

Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法

centos 7虚拟用户访问FTP

在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头.基本搭建过程如下:cent OS7搭建基于虚拟用户的FTP服务 1.创建文本格式的用户名/密码列表文本中奇数行为用户名,偶数行为上一行中用户所对应的密码.如:执行以下操作添加两个用户mike.john,密码分别为123,456 新建一个文本:cent OS7搭建基于虚拟用户的FTP服务 输入用户名和密码:cent OS7搭建基于虚拟用户的FTP服务 2.创建Berkeley DB格式的数据库

实现FTP基于MYSQL虚拟用户认证

两台主机实现:一台作为ftp服务器,一台作为mysql服务器 host1 : 192.168.1.107 vsftpd pam_mysql.so host2 : 192.168.1.109 mariadb mariadb-server 一.准备数据库 1.安装数据库并启动mysql ~]# yum install mariadb mariadb-server -y ~]# systemctl start mariadb 2.创建vsftpd服务的虚拟数据库及用户列表 1)创建vsftp的数据库

如何在Centos下安装hadoop并与Eclipse连接?

如何在Centos下安装hadoop并与Eclipse连接? 许久之前就计划学习hadoop了,直到最近才提上日程.花费了一些时间才把centos下的hadoop搭起来,前后经历的"挫折"绝对可以写成数千字的血泪史了.既有被网上教程坑了的苦逼遭遇,也有教研室大超师兄和实习公司的泡哥的爱心支援.今天终于可以坐下来说说如何在Centos下安装hadoop并与Eclipse连接这个问题. 先说一下要准备哪些软件和信息: VMware-workstation: CentOS-6.0-i386-