免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1774 | 回复: 0
打印 上一主题 下一主题

Freebsd ports安装vsftpd 虚拟用户(pwdfile) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-05 13:47 |只看该作者 |倒序浏览
Freebsd  ports安装vsftpd 虚拟用户(pwdfile)
cd /usr/ports/ftp/vsftpd/
make install
cd /usr/ports/security/pam_pwdfile
make install
pw add user ftp -d /var/ftp -s /usr/sbin/nologin
chown -R ftp:wheel /var/ftp
mkdir -p /usr/local/share/vsftpd/empty/
#Freebsd 5之前版本 修改/etc/pam.conf,增加
----------------------------------------
vsftpd auth    required /usr/local/lib/pam_pwdfile.so pwdfile /etc/vsftpd/passwd_ftp
vsftpd account required pam_permit.so
----------------------------------------
#Freebsd 5 之后版本 修改 /etc/pam.d/vsftpd (若无此文件,请创建)为
----------------------------------------
auth    required /usr/local/lib/pam_pwdfile.so pwdfile /etc/vsftpd/passwd_ftp
account required pam_permit.so
----------------------------------------
#修改/usr/local/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=ftp
listen=YES
listen_port=21
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/userconf/
ftpd_banner=Welcome to FB ftp service
----------------------------------------
mkdir -p /etc/vsftpd/userconf/
#新增用户test 密码test
#创建test用户配制文件 /etc/vsftpd/userconf/test
echo 'local_root=/var/ftp/test/' >>/etc/vsftpd/userconf/test
#增添passwd_ftp
echo 'test:$1$2pn7EVn0$wsMScd/8KmaWHLBx4dLN71' /etc/vsftpd/passwd_ftp
创建md5pwd.pl,运行perl md5pwd.pl user:userpasswd 生成加密的密码.将生成的密码写入/etc/vsftpd/passwd_ftp

#! /usr/bin/perl -w
#filename: md5pwd.pl
use strict;
#
#
print "#example: user:passwd\n";
while (STDIN>) {
    exit if ($_ =~/^\n/);
    chomp;
    (my $user, my $pass) = split /:/, $_, 2;
    my $crypt = crypt $pass, '$1$' . gensalt(8);
    print "$user:$crypt\n";
}
sub gensalt {
    my $count = shift;
    my @salt = ('.', '/', 0 .. 9, 'A' .. 'Z', 'a' .. 'z');
    my $s;
    $s .= $salt[rand @salt] for (1 .. $count);
    return $s;
}
运行vsftpd
/usr/local/libexec/vsftpd &
ftp localhost 测试...


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18586/showart_673611.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP