vsftpd在Ubuntu 64位下的多用户多目录配置

研究了两天vsftpd,从网上找了很多资料,不是出这问题就是那问题,幸好终于解决了,下面贴出我的配置过程。不喜勿喷。。。

一、安装vsftpd

sudo apt-get install vsftpd

安装完以后大致的目录介绍


/etc/vsftpd/vsftpd.conf


主配置文件


/usr/sbin/vsftpd


Vsftpd的主程序


/etc/rc.d/init.d/vsftpd


启动脚本


/etc/pam.d/vsftpd


PAM认证文件(此文件中file=/etc/vsftpd/ftpusers字段,指明阻止访问的用户来自/etc/vsftpd/ftpusers文件中的用户)


/etc/vsftpd/ftpusers


禁止使用vsftpd的用户列表文件。记录不允许访问FTP服务器的用户名单,管理员可以把一些对系统安全有威胁的用户账号记录在此文件中,以免用户从FTP登录后获得大于上传下载操作的权利,而对系统造成损坏。(注意:linux-4中此文件在/etc/目录下)


/etc/vsftpd/user_list


禁止或允许使用vsftpd的用户列表文件。这个文件中指定的用户缺省情况(即在/etc/vsftpd/vsftpd.conf中设置userlist_deny=YES)下也不能访问FTP服务器,在设置了userlist_deny=NO时,仅允许user_list中指定的用户访问FTP服务器。(注意:linux-4中此文件在/etc/目录下)


/var/ftp


匿名用户主目录;本地用户主目录为:/home/用户主目录,即登录后进入自己家目录


/var/ftp/pub


匿名用户的下载目录,此目录需赋权根chmod 1777 pub(1为特殊权限,使上载后无法删除)


/etc/logrotate.d/vsftpd.log


Vsftpd的日志文件

二、配置用户

在/etc下创建目录vsftpd

mkdir vsftpd
cd vsftpd
vi user.txt

user.txt中加入用户名、密码,奇数行为用户名,偶数行为密码

ftp1
ftp1
ftp2
ftp2

使用db_load命令将用户生成数据库

如果没有db_load命令先安装

apt-get install db-util

然后生成数据库

db_load -T -t hash -f user.txt user.db
sudo chmod 600 user.db

三、创建不同用户的配置

mkdir user_conf
cd user_conf
sudo touch ftp1 ftp2  //对应user.txt中的用户

在ftp1中写入:主要是测试,先简单的写

anon_world_readable_only=NO
local_root=/opt/vsftpd/ftp1

在ftp2中写入:

anon_world_readable_only=NO
local_root=/home/ftp    //与ftp1完全不同的两个目录

四、修改pam.d下的vsftpd,我就是在这走了很多弯路,把vsftpd全部贴出,供大家看与网上的有什么区别

cd /etc/pam.d
vi vsftpd
auth    required        pam_userdb.so   db=/etc/vsftpd/user
account required        pam_userdb.so   db=/etc/vsftpd/user

其中db=....指向我们之前建立的user.db

五、创建虚拟帐号:

sudo useradd virtual -d /opt/vsftpd -s /sbin/nologin  //不允许登录
chmod a-w /opt/vsftpd   //修改目录的权限
chown virtual:virtual /opt/vsftpd   //修改目录属于的用户组,因为我们创建了两个ftp位置,所以都要修改权限、用户组

chmod a-w /home/ftp
chown virtual:virtual /home/ftp

六、修改/etc/vsftpd.conf

#配置
listen=YES

#匿名用户配置
#是否开启匿名用户登录
anonymous_enable=NO

xferlog_std_format=YES
#使用上传下载日志,日志文件默认为/var/log/vsftpd.log,可以通过xferlog_file选项修改
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
#日志使用标准xferlog格式
xferlog_std_format=YES

local_enable=YES
use_localtime=YES
write_enable=YES

guest_enable=YES
guest_username=virtual  //对应前面添加的用户virtual
user_config_dir=/etc/vsftpd/user_conf   //对应前面添加的每个用户不同配置的目录

dirmessage_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd   //对应/etc/pam.d/vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd
userlist_enable=YES

vsftpd在Ubuntu 64位下的多用户多目录配置

时间: 2024-12-29 07:55:47

vsftpd在Ubuntu 64位下的多用户多目录配置的相关文章

ubuntu 64位下安装wps

首先,去官网下载wps.地址:http://community.wps.cn/download/ 然后切换到下载目录,执行如下命令: $ sudo apt-get install ia32-libs* 然后执行安装命令: $ sudo dpkg -i --force-architecture wps-office_8.1.0.3724~b1p2_i386.deb 会报如下错误: Selecting previously unselected package wps-office. (Readin

Ubuntu 64位下安装搜狗输入法

今天在搜狗输入法官网下载了deb安装包,直接点击安装输入法后发现并不能成功输入汉字.原因可能是没有先卸载fcitx.于是在贴吧里面看到了如下方法: 1:卸载fcitx sudo apt-get purge fcitx* 2:清理系统内的无用的软件包 sudo apt-get purge autoremove 3:到搜狗官网下载搜狗拼音输入法,选择你系统对应的软件包,我系统是64位的,所以我选择了amd64的 http://pinyin.sogou.com/linux/?r=pinyin 4:用g

CentOS7 64位下MySQL5.7安装与配置(YUM)

安装环境:CentOS7 64位 MINI版,安装MySQL5.7 1.配置YUM源 在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 下载mysql源安装包 shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 安装mysql源 shell> yum localinstall mysql57-community-

Ubuntu 64位下搭建ADT的种种问题

我使用的adt版本为 adt-bundle-linux-x86_64-20140702.zip 1. Eclipse启动时提示 adb 无法加载动态链接库 libstdc++.so.6 以及  libz.so.1 安装以下两个32位软件包即可: lib32stdc++6    lib32z1 2. Eclipse频繁崩溃 修改eclipse所在目录下的eclipse.ini, 加入一行: -Dorg.eclipse.swt.browser.DefaultType=mozilla 3. adb无法

CentOS7 64位下MySQL5.7安装与配置

1.下载并安装MySQL官方的 Yum Repository 下载安装用的Yum Repository [[email protected] ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 修改文件权限,这一步一般可以省略 [[email protected] ~]# chmod 755 mysql57-community-release-el7-10.noarch.rpm 安

Hadoop 2.2.0 常见问题之:Ubuntu 64环境下“Unable to load native-hadoop library for your platform”问题”

问题 最近在学习Hadoop(2.2.0),打算写一个MapReduce的小程序在Ubuntu 64位的环境下测试一把,一切环境配置完毕后,执行的过程中,控制台输出下面的内容: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 原因 在网上搜索了一番,得出如下结论: "The reason

ubuntu 64位android项目报错的解决方案,打开64位 Ubuntu 的32位支持功能

ubuntu的64位下的android环境,说实话,还真得费点精力了,解决一个问题,又出来一个新问题. 小编昨天刚好不容易将android的环境搭建好了,这不,刚建了个项目,直接就报错,下面是罗列出的几条: 1. libstdc++.so.6:cannot open shared object file:no such file or directory 2. Description Resource Path Location Type Error executing aapt: Cannot

window 7 64位下可运行的递归删除注册表程序

为了完成一个简单的注册表删除程序,由于我本身是win7 64位的OS,写了以下代码来递归删除注册表键值,程序代码如下: #include <tchar.h> #include <afx.h> #define KEY_WOW64_64KEY 256 long DeleteSubKeyTree(HKEY hKey, LPCTSTR lpSubKey) { LONG lResult; HKEY hSubKey; DWORD dwIndex, cbName; char szSubKey[5

windows7旗舰版64位下安装、破解及运行QTP11报错

说明:如果你出现了以下几种情况,希望能解决你的问题:如果没有,就当路过. 1.安装qtp11时报vc++ 2005缺少,但怎么也不能成功安装 解决方法: 1.找到qtp安装包里面的vc++ 2005组件 QuickTest\CHS\prerequisites\vc2005_sp1_redist. 2.运行vcredist_x86.exe文件,如果安装失败,修改后缀名为压缩文件,如:zip.rar,解压文件后重新运行解压后的文件. 2.网上介绍用mgn-mqt82.exe的方法破解qtp11失败