`
roy9494
  • 浏览: 30239 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

debian 安装vsftpd

 
阅读更多
//------------------------------------------------------------------------------
20110726
add for debian 6
1,
apt-get install vsftpd
apt-get install mysql-server
apt-get install libpam-mysql
2,
mkdir /home/ftp
3,
useradd ftpguest -d /home/ftp
chown ftpguest.nogroup /home/ftp
4,
mysql> create table users(username varchar(20) not null,
-> password varchar(40) not null,
-> primary key(username))
-> type=myisam;

mysql> grant select on ftpvuser.users to
-> ftpguest@localhost
-> identified by '123456';

mysql> flush privileges;

mysql> insert into users(username,password)
-> values('test','test');

mysql> quit

5,

vim /etc/pam.d/vsftpd
将以前的内容注释掉,然后添加下面2行内容

auth required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0
account required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0

6,

vim vsftpd.conf
#关闭匿名用户访问
#anonymous_enable=YES
#开启本地用户访问
local_enable=YES
#开启虚拟用户访问
guest_enable=YES
guest_username=ftpguest
#将本地用户限制在自己的家目录,这样可避免FTP用户访问到其他的系统目录
chroot_local_user=YES

7,

#mkdir /etc/vsftpd/vsftpd_user_conf
#nano /etc/vsftpd/vsftpd_user_conf/test


anon_world_readable_only=NO
#允许写入,上传以及建立目录
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

8,

$ lftp localhost -u tony,tonypass lftp

//------------------------------------------------------------------------------
apt-get install vsftpd
apt-get install mysql-server
apt-get install libpam-mysql
1),创建本地用户的家目录,此目录也是FTP的家目录
代码:
#mkdir /home/ftp

2),创建名为ftpguest的本地用户
代码:
#useradd ftpguest -d /home/ftp

3),修改FTP家目录的所有者和组
代码:
#chown ftpguest.nogroup /home/ftp


4,配置MySQL数据库

1),创建用于存储虚拟用户信息的数据库ftpvuser


代码:
#mysqladmin -u root -p create ftpvuser


2),连接数据库
代码:
#mysql -u root -p

3)创建用于存储虚拟用户信息的表users
代码:
mysql>use ftpvuser; mysql>CREATE TABLE users (username varchar(20) NOT NULL, password varchar(40) NOT NULL, PRIMARY KEY (username)) TYPE=MyISAM;

4)让本地用户ftpguest能读取ftpvuser数据库的users表的内容
注:YourPassword用于设定ftpguest访问数据库的密码.
代码:
mysql>grant select on ftpvuser.users to ftpguest@localhost identified by 'YourPassword'; mysql>flush privileges;

5),建立虚拟用户
代码:
mysql>insert into users (username,password) values ('normal','555555'); mysql>insert into users (username,password) values ('admin','666666'); mysql>insert into users (username,password) values ('webmaster','777777');


6),完成MySQL的配置
代码:
mysql>quit;
5,配置vsftpd的PAM验证

1),打开PAM配置文件
代码:
#nano /etc/pam.d/vsftpd


2),将以前的内容注释掉,然后添加下面2行内容
注:YourPassword就是刚才在前面设定的ftpguest访问数据库的密码.
代码:
auth required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0 account required pam_mysql.so user=ftpguest passwd=YourPassword host=localhost db=ftpvuser table=users usercolumn=username passwdcolumn=password crypt=0

6,配置vsftpd

1),打开vsftpd的配置文件
代码:
#nano /etc/vsftpd.conf
注意:一旦修改了/etc/vsftpd.conf文件的内容,必须重启vsftpd才能使新的设置生效,方法是:
代码:
#/etc/init.d/vsftpd stop #/etc/init.d/vsftpd start
直接#/etc/init.d/vsftpd restart,好像不起作用?

2),修改vsftpd.conf文件如下
代码:
#关闭匿名用户访问 #anonymous_enable=YES #开启本地用户访问 local_enable=YES #开启虚拟用户访问 guest_enable=YES guest_username=ftpguest #将本地用户限制在自己的家目录,这样可避免FTP用户访问到其他的系统目录 chroot_local_user=YES


3),500 OOPS: cap_set_proc
赶快登录FTP试一下吧,不过为什么无法登录呢?服务器返回错误:500 OOPS: cap_set_proc
Google之,这个错误似乎与SELinux有关,解决办法是加载capability模块:
代码:
#modprobe capability

为了让Linux在启动时自动加载此模块,把这个模块放到/etc/modules中即可.

a,激活单个用户配置功能,增加以下配置行到vsftpd的配置文件:

代码:
#nano /etc/vsftpd.conf #指定不同用户配置文件的存放路径 user_config_dir=/etc/vsftpd/vsftpd_user_conf
编辑/etc/vsftpd/vsftpd_user_conf/normal
注意:用户的配置文件名与用户名一致,不过匿名用户的配置文件名为ftp,而不是anonymous
代码:
#mkdir /etc/vsftpd/vsftpd_user_conf #nano /etc/vsftpd/vsftpd_user_conf/normal
加入以下内容:
#允许下载
代码:
anon_world_readable_only=NO #允许写入,上传以及建立目录 write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES


管理员除了拥有普通用户的权限以外,还拥有删除/重命名/改变文件属性的权限
加入以下内容:

代码:
#允许重命名和删除文件 anon_other_write_enable=YES #虚拟用户拥有与本地用户相同的权限(由于chmod仅仅对本地用户有效,所以如果想要虚拟用户拥有chmod的权限,这一项必须激活) virtual_use_local_privs=YES #允许修改文件属性 chmod_enable=YES

d,网站管理员

加入以下内容:

代码:
#将FTP家目录指向网站的家目录(我的www目录使用Apache默认的目录) local_root=/var/www #默认情况下,上传到FTP站点的文件的拥有者都是ftpguest,其他用户是没有访问权限的 #所以,当访问网站的时候,会出现"没有权限访问该文件的错误",这是由于Apache的用户 #www-data无法访问/var/www下的文件造成的,把umask设置成033甚至000即可解决这个问题. local_umask=033


# vi /etc/vsftpd/vsftpd.conf
设置vsftpd为standalone工作模式
listen=YES
tcp_wrappers=YES

启用本地用户:
local_enable=YES

禁用匿名用户:
anonymous_enable=NO
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

更改FTP默认监听端口21:
添加
##Set the listen_port
Listen_port=5200

设置FTP的PASV模式传输端口,以配合防火墙通过PASV模式传输数据:
添加
##set the pasv ports
port_enable=NO
pasv_enable=YES
pasv_min_port=10021
pasv_max_port=10025

设置FTP服务器最大的并发连接数,默认值为0,表示不限最大连接数。
添加
max_clients=1000

设置每个IP地址最大的并发连接数目,默认值为0,表示不限制。
添加
max_per_ip=10

7. 为VSFTPD配置虚拟用户(文本方式)

7.1 创建虚拟与用户数据库

1. 创建loguser.txt,格式如下:

                userid
                pass
        

比如我创建两个用户:tony 密码为tonypass,etony密码为etonypass 则loguser.txt的内容如下:

                tony
                tonypass
                etony
                etonypass
        

2. 安装数据库生成工具:

                # aptitude install  libdb3-util
        

3. 生成数据库:

                # db_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
        

4. 设置数据库文件的访问权限:

                # chmod 600 /etc/vsftpd_login.db
        

7.2 配置PAM文件

修改/etc/pam.d/vsftpd 内容如下:

        auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
        account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

7.3 为虚拟用户创建本地系统用户

        useradd -d /home/ftpsite virtual
        mkdir /home/ftpsite
        chown virtual.virtual /home/ftpsite
        ls -ld /home/ftpsite
        drwxr-sr-x 2 virtual virtual 48 2006-08-18 05:48 /home/ftpsite

在目录下创建一些内容

        echo "etony's vsftpd server" > /home/ftpsite/msg

        chown virtual.virtual /home/ftpsite/msg

7.4 创建/etc/vsftpd.conf

根据需要创建/etc/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
        guest_enable=YES
        guest_username=virtual
        listen=YES
        listen_port=21
        pasv_min_port=30000
        pasv_max_port=30999

7.5 启动vsftpd

        /etc/init.d/vsftpd start|restart

7.6 测试

        $ lftp localhost -u tony,tonypass
        lftp tony@localhost:~> ls
        -rw-r--r--    1 1001     1001           22 Aug 17 21:49 msg
        lftp tony@localhost:/> exit
        $ lftp localhost -u tony,tonyp
        lftp tony@localhost:~> ls
        ls: Login failed: 530 Login incorrect.

分享到:
评论

相关推荐

    debian10-vsftpd.conf

    debian10 vsftpd配置文件 主动模式 http

    docker.vsftpd:基于Debian的非常轻巧的vsftpd安装

    odiobill / vsftpd 基于Debian的非常轻巧的vsftpd安装。 按照设计,它将仅运行vsftpd可执行文件,公开FTP标准端口,并将/ etc导出为配置文件和本地用户数据库的卷,从而允许您添加任何帐户。 当您想通过FTP从另一个...

    面向初学者的vsftpd安装指南

    在最新的各大发行版中的安装盘中都有vsFTPd的软件包,您用相应发行版提供的软件包管理工具就能安装上;当然您可以到各大发行版的FTP镜像中找到vsftpd的...如果是debian 类系统,可以用apt 来在线安装; [root@localhost

    vsftpd-3.0.3-12-arm64.deb

    vsftpd_3.0.3-12_arm64.deb是针对arm64架构的Debian格式的软件包,它是一个非常流行的FTP服务器软件包。 vsftpd软件包具有很多功能,包括支持ipv6、支持虚拟用户、支持SSL / TLS安全传输、支持虚拟用户分配权限、...

    rtinst:适用于Ubuntu和Debian系统的种子盒安装脚本

    rtinst:适用于Ubuntu和Debian系统的种子盒安装脚本

    vsftpd

    VSFTPDnd迪斯1.-介绍可以在Debian上使用vsftpd进行验证。 可以动用的普通股,动产,复制者或复制品的担保人。2.- Comparativa con proftpd Vsftpd与proftpd类似,其他版本的ftp在Linux上很流行。 禁运罪,特殊罪责,...

    ansible-role-vsftpd:在RHELCentOS 7,Ubuntu 12.04或14.04上使用Vsftpd设置FTP服务器

    Ansible角色,用于在CentOS / RHEL 6-7,Fedora 26,Ubuntu LTS 12.04(精确)/ 14.04(可信任)或Debian 8(Jessie)和9(Stretch)下设置Vsftpd。 具体来说,此角色的职责是: 安装必要的软件包 管理配置 启用时...

    vsftpd 虚拟用户配置步骤

    vsftpd 虚拟用户配置方法,需要的朋友可以参考下。

    LNMP一键安装包 0.5 完整版/下载版.gz

     4、安装VsFTPD,执行如下命令:./vsftpd.sh 就会自动安装上vsftpd,只需要执行命令:useradd -d /home/wwwroot -s /sbin/nologin adminftp 添加上帐号指定好ftp帐号的根目录,再执行:passwd adminftp 设置上密码...

    Linux下搭建ftp服务器

    安装vsftpd包 yum -y install vsftpd 注:配置文件路径 /etc/vsftpd/ 创建ftp用户,并付赋权 创建普通用户(我这里用户名为huoher) useradd huoher 设置该用户只能使用ftp而不能通过ssh或其他协议登录进来 ...

    htan:这是用于Debian和Ubuntu服务器的初始安装和配置的一组脚本,以用作虚拟主机

    TAN 这是用于Debian或Ubuntu服务器的初始安装和配置的脚本集,以用作Web托管。要求没有预装软件的服务器Debian 7或Debian 8 要么Ubuntu服务器16 可以上网。 最小RAM 256 MB 。 推荐的RAM 1 GB或更多。 软件安装的...

    vsftpd.conf

    ubuntu已经debian配置好的可用ftp,需要修改的一点是里面对应的ip地址,已经在/home文件夹下新建ftp目录

    flizbox:Dedi 的 Seedbox 安装脚本(OVH、Kimsufi 2g 等)-开源

    flizbox 版本 7 (seedbox 安装脚本) Lighttpd web 服务器 | rtorrent 0.9.3 | libtorrent 0.13.3 | RuTorrent 3.5 + 所有官方插件 | 带有 RuTorrent 插件的 autodl-irrsi | vsftpd(使用 ssl 的非常安全的 ftp)| ...

    swizzin:一个简单的模块化种子箱解决方案

    Swizzin是一个轻量级的模块化种子箱解决方案,可以安装在Debian 9/10或Ubuntu 16.04 / 18.04 / 20.04上。 QuickBox软件包库已移植到您的安装面板中,以方便您安装(如果您愿意的话)! Box已进行了改进,以减少和...

    Dockerfile:来自WebDevOps的Dockerfile,用于PHP,Apache和Nginx(以及PHP5和PHP7)

    Debian / Ubuntu PHP 以下图像已弃用,不再自动生成: webdevops/php:ubuntu-* webdevops/php:debian-* webdevops/php-dev:ubuntu-* webdevops/php-dev:debian-* webdevops/php-apache:ubuntu-* webdevops/...

    基于云平台的linux服务器搭建探究.pdf

    基于云平台的Linux服务器搭建需要选择合适的Linux服务器操作系统,目前主流的Linux服务器操作系统包括Debian GNU/Linux、SuSE/Linux、Red Hat/Linux等。然后需要配置Linux服务器,主要包括Samba服务器的配置和FTP...

    安全服务漏洞扫描报告要求

    * 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0) * 23/tcp open telnet Linux telnetd * 25/tcp open smtp Postfix smtpd * 53/tcp open domain ISC BIND 9.4.2 * 80/tcp open ...

Global site tag (gtag.js) - Google Analytics