vsftpd 安装文档原文翻译
2013-08-01 17:08
471 查看
以前进行安装过虚拟用户的使用,但是由于刚刚装的vsftpd 2.3.5版本,为了安全考虑对以前有了一些更改,例如不推荐创建用户默认登录目录为根目录
以下为vsftpd虚拟用户的创建源文档,再此进行一下翻译,并添加一些自己的理解(红色部分)
原文如下:
这个例子展示了如何设置vsftpd / PAM“虚拟用户”。一个虚拟用户是一个用户登录,不存在真正的登录系统。虚拟用户可以因此更安全比真正的用户,因为一个妥协的账户只能使用FTP服务器。
虚拟用户是用来提供给一些不收信任的用户,并且限制其权限,不可以访问其他的目录
第一步)创建虚拟用户数据库。
我们将使用pam_userdb进行身份验证的虚拟用户。这需要
将username/password的用户信息存储到“db”格式的文件中,这是一种常见的数据库格式。
创建一个“分贝”格式文件,首先需要创建一个纯文本文件
用户名和密码交替显示。
请参见示例文件”logins.txt”
tom
foo
fred
bar
而作为根用户登录,创建实际的数据库文件如下:
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
以上需要先进行安装db_load
sudo apt-get install db-util 如果安装时提示找不到软件包输入:sudo apt-get install db4.8-util
这将创建/ etc / vsftpd_login.db。显然,你可能想要确保权限被限制:
chmod 600 /etc/vsftpd_login.db
如果想了解更多信息可以在这里找到
http://www.sleepycat.com/docs/utility/index.html
第二步) 创建一个对刚刚创建的数据库的引用pam文件.
创建vsftpd.pam文件。它包含两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login (刚刚创建的数据库,但是不可以带类型 .db)
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
以上对于pam_userdb.so的目录不一定对,根据系统类型不同,可能会有所变化,可以通过查询命令找到后进行替换
find / -name pam_userdb.so
可以将该文件复制到目录/etc/pam.d 下
cp vsftpd.pam /etc/pam.d/ftp
这里的ftp在配置vsftpd.conf时用到,会有对他的引用
(注意 如果你将pam_service_name的引用名字用vsftpd进行替换,你需要用命令 cp vsftpd.pam /etc/pam.d/vsftpd)
第三步) 设置文件的位置的虚拟用户.
useradd -d /home/ftpsite virtual
ls -ld /home/ftpsite
(显示如下):
drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
如果显示信息为:
drwx------ 3 root root 4096 Jul 30 00:39 /home/ftpsite
请执行命令
chown virtual.virtual /home/ftpsite
我们已经在目录/home/ftpsite创建了一个名字为“virtual”的用户
让我们添加一些内容到这个下载区:
cp /etc/hosts /home/ftpsite
chown virtual.virtual /home/ftpsite/hosts
第四步) 创建vsftpd.conf配置文件
对配置文件进行辩解
vim vsftpd.conf
内容如下
anonymous_enable=NO
local_enable=YES
#以上命令可以禁止非匿名用户进行登录
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#些保证,为安全起见,不允许写命令
chroot_local_user=YES
#这保证了虚拟用户仅限于虚拟FTP区/ home / ftpsite上面我们设置了。
guest_enable=YES
guest_username=virtual
guest_enable 这个配置是十分重要的,他激活了虚拟用户,并且guest_username将所有的虚拟用户映射到
我们创建的真正的“virtual”,目录为/home/ftpsize
listen=YES
listen_port=10021(ftp默认端口为21,如果不想登录ftp时输入端口号,则设置为21)
pasv_min_port=30000
pasv_max_port=30999
这些把端口范围在被动FTP传入的请求——非常有用你是在配置防火墙。
第六步) 测试
ftp localhost 10021(在第四步设置的端口)
Connected to localhost (127.0.0.1).
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
Name (localhost:chris): tom
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (127,0,0,1,117,135)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp> size hosts
213 147
ftp>
如果想每个虚拟用户登录的路径不同请看文档:
/article/10007312.html
以下为vsftpd虚拟用户的创建源文档,再此进行一下翻译,并添加一些自己的理解(红色部分)
原文如下:
这个例子展示了如何设置vsftpd / PAM“虚拟用户”。一个虚拟用户是一个用户登录,不存在真正的登录系统。虚拟用户可以因此更安全比真正的用户,因为一个妥协的账户只能使用FTP服务器。
虚拟用户是用来提供给一些不收信任的用户,并且限制其权限,不可以访问其他的目录
第一步)创建虚拟用户数据库。
我们将使用pam_userdb进行身份验证的虚拟用户。这需要
将username/password的用户信息存储到“db”格式的文件中,这是一种常见的数据库格式。
创建一个“分贝”格式文件,首先需要创建一个纯文本文件
用户名和密码交替显示。
请参见示例文件”logins.txt”
tom
foo
fred
bar
而作为根用户登录,创建实际的数据库文件如下:
db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
以上需要先进行安装db_load
sudo apt-get install db-util 如果安装时提示找不到软件包输入:sudo apt-get install db4.8-util
这将创建/ etc / vsftpd_login.db。显然,你可能想要确保权限被限制:
chmod 600 /etc/vsftpd_login.db
如果想了解更多信息可以在这里找到
http://www.sleepycat.com/docs/utility/index.html
第二步) 创建一个对刚刚创建的数据库的引用pam文件.
创建vsftpd.pam文件。它包含两行:
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login (刚刚创建的数据库,但是不可以带类型 .db)
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
以上对于pam_userdb.so的目录不一定对,根据系统类型不同,可能会有所变化,可以通过查询命令找到后进行替换
find / -name pam_userdb.so
可以将该文件复制到目录/etc/pam.d 下
cp vsftpd.pam /etc/pam.d/ftp
这里的ftp在配置vsftpd.conf时用到,会有对他的引用
(注意 如果你将pam_service_name的引用名字用vsftpd进行替换,你需要用命令 cp vsftpd.pam /etc/pam.d/vsftpd)
第三步) 设置文件的位置的虚拟用户.
useradd -d /home/ftpsite virtual
ls -ld /home/ftpsite
(显示如下):
drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
如果显示信息为:
drwx------ 3 root root 4096 Jul 30 00:39 /home/ftpsite
请执行命令
chown virtual.virtual /home/ftpsite
我们已经在目录/home/ftpsite创建了一个名字为“virtual”的用户
让我们添加一些内容到这个下载区:
cp /etc/hosts /home/ftpsite
chown virtual.virtual /home/ftpsite/hosts
第四步) 创建vsftpd.conf配置文件
对配置文件进行辩解
vim vsftpd.conf
内容如下
anonymous_enable=NO
local_enable=YES
#以上命令可以禁止非匿名用户进行登录
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#些保证,为安全起见,不允许写命令
chroot_local_user=YES
#这保证了虚拟用户仅限于虚拟FTP区/ home / ftpsite上面我们设置了。
guest_enable=YES
guest_username=virtual
guest_enable 这个配置是十分重要的,他激活了虚拟用户,并且guest_username将所有的虚拟用户映射到
我们创建的真正的“virtual”,目录为/home/ftpsize
listen=YES
listen_port=10021(ftp默认端口为21,如果不想登录ftp时输入端口号,则设置为21)
pasv_min_port=30000
pasv_max_port=30999
这些把端口范围在被动FTP传入的请求——非常有用你是在配置防火墙。
第六步) 测试
ftp localhost 10021(在第四步设置的端口)
Connected to localhost (127.0.0.1).
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
Name (localhost:chris): tom
331 Please specify the password.
Password:
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> pwd
257 "/"
ftp> ls
227 Entering Passive Mode (127,0,0,1,117,135)
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp> size hosts
213 147
ftp>
如果想每个虚拟用户登录的路径不同请看文档:
/article/10007312.html
相关文章推荐
- hadoop2.2.0 单节点安装 -翻译自hadoop官方文档-与原文有出入
- Boost Getting Started 安装文档(翻译1.33版本)
- 【原创翻译】SMTP服务器的安装【AppFuse文档-6】
- RabbitMQ windows安装官方文档翻译!
- 【UE4教程文档翻译】First Person Shooter C++ Tutoria(第一人称射击C++教程) - 转载请保留原文链接:http://www.chinaar.com/UE4/2115
- Thrift官网安装文档的翻译
- Apache Hadoop 2.7.1文档翻译(2)集群安装
- RabbitMQ在Ubuntu 16.04下的安装教程——官方文档翻译
- debian安装apache2成功之后,在web请求显示的文档 翻译
- Boost Getting Started 安装文档(翻译1.33版本)
- Hadoop Single Node Setup(hadoop本地模式和伪分布式模式安装-官方文档翻译 2.7.3)
- Orchard官方文档翻译(三) 通过zip文件手动安装Orchard
- Gentoo文档翻译——安装Gentoo(1) 关于Gentoo安装
- 在Windows上安装TensorFlow官方文档——翻译
- Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)
- Ambari-2.2.2.0文档翻译--安装(1)
- Zabbix官方文档翻译--3.3章翻译--yum安装
- iphon中C++和Objective-C混编 博客分类: iphone C++和Objective-C混编(官方文档翻译) 原文网址: http://developer.apple.com/iphone/library/documen
- BigBlueButton官方安装文档简单翻译
- xwiki tomcat 安装官方文档-翻译