//------------------------------------------------------------------------------
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的家目录
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),连接数据库
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的配置
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模块:
为了让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
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
修改/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
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
根据需要创建/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
/etc/init.d/vsftpd start|restart
$ 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配置文件 主动模式 http
odiobill / vsftpd 基于Debian的非常轻巧的vsftpd安装。 按照设计,它将仅运行vsftpd可执行文件,公开FTP标准端口,并将/ etc导出为配置文件和本地用户数据库的卷,从而允许您添加任何帐户。 当您想通过FTP从另一个...
在最新的各大发行版中的安装盘中都有vsFTPd的软件包,您用相应发行版提供的软件包管理工具就能安装上;当然您可以到各大发行版的FTP镜像中找到vsftpd的...如果是debian 类系统,可以用apt 来在线安装; [root@localhost
vsftpd_3.0.3-12_arm64.deb是针对arm64架构的Debian格式的软件包,它是一个非常流行的FTP服务器软件包。 vsftpd软件包具有很多功能,包括支持ipv6、支持虚拟用户、支持SSL / TLS安全传输、支持虚拟用户分配权限、...
rtinst:适用于Ubuntu和Debian系统的种子盒安装脚本
VSFTPDnd迪斯1.-介绍可以在Debian上使用vsftpd进行验证。 可以动用的普通股,动产,复制者或复制品的担保人。2.- Comparativa con proftpd Vsftpd与proftpd类似,其他版本的ftp在Linux上很流行。 禁运罪,特殊罪责,...
Ansible角色,用于在CentOS / RHEL 6-7,Fedora 26,Ubuntu LTS 12.04(精确)/ 14.04(可信任)或Debian 8(Jessie)和9(Stretch)下设置Vsftpd。 具体来说,此角色的职责是: 安装必要的软件包 管理配置 启用时...
vsftpd 虚拟用户配置方法,需要的朋友可以参考下。
4、安装VsFTPD,执行如下命令:./vsftpd.sh 就会自动安装上vsftpd,只需要执行命令:useradd -d /home/wwwroot -s /sbin/nologin adminftp 添加上帐号指定好ftp帐号的根目录,再执行:passwd adminftp 设置上密码...
安装vsftpd包 yum -y install vsftpd 注:配置文件路径 /etc/vsftpd/ 创建ftp用户,并付赋权 创建普通用户(我这里用户名为huoher) useradd huoher 设置该用户只能使用ftp而不能通过ssh或其他协议登录进来 ...
TAN 这是用于Debian或Ubuntu服务器的初始安装和配置的脚本集,以用作Web托管。要求没有预装软件的服务器Debian 7或Debian 8 要么Ubuntu服务器16 可以上网。 最小RAM 256 MB 。 推荐的RAM 1 GB或更多。 软件安装的...
ubuntu已经debian配置好的可用ftp,需要修改的一点是里面对应的ip地址,已经在/home文件夹下新建ftp目录
flizbox 版本 7 (seedbox 安装脚本) Lighttpd web 服务器 | rtorrent 0.9.3 | libtorrent 0.13.3 | RuTorrent 3.5 + 所有官方插件 | 带有 RuTorrent 插件的 autodl-irrsi | vsftpd(使用 ssl 的非常安全的 ftp)| ...
Swizzin是一个轻量级的模块化种子箱解决方案,可以安装在Debian 9/10或Ubuntu 16.04 / 18.04 / 20.04上。 QuickBox软件包库已移植到您的安装面板中,以方便您安装(如果您愿意的话)! Box已进行了改进,以减少和...
Debian / Ubuntu PHP 以下图像已弃用,不再自动生成: webdevops/php:ubuntu-* webdevops/php:debian-* webdevops/php-dev:ubuntu-* webdevops/php-dev:debian-* webdevops/php-apache:ubuntu-* webdevops/...
基于云平台的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 ...