Solaris9下安装vsftpd2.0.1,并配置成多个FTP用户映射为一个系统用户的方式(没有用PAM)
作者:wolfg
(参考了版主llzqq的文章《在SOLARIS上编译安装VSFTPD》
[url]http://bbs.chinaunix.net/forum/viewtopic.php?t=344943[/url])
本文档的发布遵循 GPL, 任何人有权免费获得, 阅览, 转载和发布本文档, 不得用于任何形式的商业用途.
安装配置过程:
1.[b:f7704b6dbd]下载软件包[/b:f7704b6dbd]
先取得wget,方便其他软件包的下载
# ftp www.sunfreeware.com
ftp > cd pub/freeware/sparc/9
ftp > get wget-1.9.1-sol9-sparc-local.gz
ftp > bye
安装wget
# gunzip wget-1.9.1-sol9-sparc-local.gz
# pkgadd -d wget-1.9.1-sol9-sparc-local
下载vsftpd
# wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.1.tar.gz
# gunzip vsftpd-2.0.1.tar.gz
# tar xvf vsftpd-2.0.1.tar
下载编译vsftpd必需的软件包
# wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/9/make-3.80-sol9-sparc-local.gz
# gunzip make-3.80-sol9-sparc-local.gz
# pkgadd -d make-3.80-sol9-sparc-local
# wget
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/libiconv-1.8-sol9-sparc-local.gz
# gunzip libiconv-1.8-sol9-sparc-local.gz
# pkgadd -d libiconv-1.8-sol9-sparc-local
# wget ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/gcc_small-3.3.2-sol9-sparc-local.gz
# gunzip gcc_small-3.3.2-sol9-sparc-local.gz
# pkgadd -d gcc_small-3.3.2-sol9-sparc-local
2.[b:f7704b6dbd]编译 安装vsftpd[/b:f7704b6dbd]
# cd vsftpd-2.0.1
# make
# mkdir /usr/share/empty
# cp vsftpd /usr/local/bin/vsftpd
# cp vsftpd.conf.5 /usr/local/man/man5
# cp vsftpd.8 /usr/local/man/man8
# cp vsftpd.conf /etc
3.[b:f7704b6dbd]配置vsftpd[/b:f7704b6dbd]
建ftp目录和ftp帐号,任何ftp登录用户都映射到此帐号
# mkdir /data/ftp
# groupadd ftp
# useradd -d /data/ftp -g ftp -s /bin/false ftp
# chown ftp:ftp /data/ftp
# echo "ftp" >> /etc/vsftpd.chroot_list
建立放置每个ftp用户的独自的配置文档的目录
# mkdir /etc/vsftpd
修改/etc/vsftpd.conf
# vi /etc/vsftpd.conf
[b:f7704b6dbd]anonymous_enable=NO
local_enable=YES
write_enable=NO[/b:f7704b6dbd]
local_umask=022
anon_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
ftpd_banner=Welcome!
[b:f7704b6dbd]chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
user_config_dir=/etc/vsftpd[/b:f7704b6dbd]
ls_recurse_enable=NO
hide_ids=YES
[b:f7704b6dbd]userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
guest_enable=YES
guest_username=ftp[/b:f7704b6dbd]
max_clients=50
max_per_ip=2
pasv_min_port=55000
pasv_max_port=55100
listen=YES
[b:f7704b6dbd]local_root=/data/ftp/$USER # 每个用户都有自己的ftp主目录
user_sub_token=$USER[/b:f7704b6dbd]
建启动脚本
# vi /etc/rc3.d/S83vsftpd
[code:1:f7704b6dbd]
#!/sbin/sh
case "$1" in
start)
/usr/local/bin/vsftpd &
;;
stop)
pkill vsftpd
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
;;
esac
exit 0
[/code:1:f7704b6dbd]
4.[b:f7704b6dbd]用户管理[/b:f7704b6dbd]
手工添加用户
# useradd -d /dev/null -g ftp -s /bin/false test
配置密码
# passwd test
在/etc/vsftpd/下添加一个和用户名相同名字的文档
# vi /etc/vsftpd/test
若只允许下载,则添加如下内容
anon_world_readable_only=no
anon_max_rate=512000
若允许上传,则添加如下内容
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=1024000
追加新增的用户test到/etc/vsftpd.user_list文档
# echo "test">> /etc/vsftpd.user_list
建立test用户的ftp主目录
# mkdir /data/ftp/test
# chown ftp:ftp /data/ftp/test
5.[b:f7704b6dbd]用户管理脚本[/b:f7704b6dbd]
方便添加、删除用户、修改用户密码
安装脚本运行需要的软件包:
# wget ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/tcl-8.4.6-sol9-sparc-local.gz
# gunzip tcl-8.4.6-sol9-sparc-local.gz
# pkgadd -d tcl-8.4.6-sol9-sparc-local
# wget
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/tk-8.4.6-sol9-sparc-local.gz
# gunzip tk-8.4.6-sol9-sparc-local.gz
# pkgadd -d tk-8.4.6-sol9-sparc-local
# wget
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/expect-5.40-sol9-sparc-local.gz
# gunzip expect-5.40-sol9-sparc-local.gz
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



