- 论坛徽章:
- 0
|
本安装参考了“南非蜘蛛”的《Solaris9下安装vsftpd2.0.1》一文
以及llzpp的《在SOLARIS上编译安装VSFTPD》一文,在此向二位表示感谢
同时参考了:
http://vsftpd.beasts.org/vsftpd_conf.html
http://www.vsftpdrocks.org/source/
安装配置过程:
1、下载安装所需的软件包
gcc_small-3.3.2-sol9-sparc-local.gz
下载地址:
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/gcc_small-3.3.2-sol9-sparc-local.gz
libiconv-1.8-sol9-sparc-local.gz
下载地址:
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/libiconv-1.8-sol9-sparc-local.gz
make-3.80-sol9-sparc-local.gz
下载地址:
ftp://mirror.sprintlink.net/sunfreeware.com/pub/freeware/sparc/9/make-3.80-sol9-sparc-local.gz
vsftpd-2.0.1.tar.gz
下载地址:
ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.1.tar.gz
2、安装编译vsftpd所需的环境
# gunzip make-3.80-sol9-sparc-local.gz
# pkgadd -d make-3.80-sol9-sparc-local
# gunzip libiconv-1.8-sol9-sparc-local.gz
# pkgadd -d libiconv-1.8-sol9-sparc-local
# gunzip gcc_small-3.3.2-sol9-sparc-local.gz
# pkgadd -d gcc_small-3.3.2-sol9-sparc-local
#PATH=$PATH:/usr/local/bin:
#export PATH
3、编译、安装vsftpd
#tar xvf vsftpd-2.0.1.tar
#cd vsftpd-2.0.1
#make
#useradd nobody
//如果用户nobody不存在,则需要手动创建该用户
#mkdir /usr/share/empty/
//vsftpd需要/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
#vi /etc/vsftpd.conf
//编辑该文件,在该文件中配置如下三个参数:
anonymous_enable=NO
//不允许匿名用户访问
local_enable=YES
//允许本地用户帐号访问
listen=YES
//这样配置,vsftpd将工作在“standalone”模式,也就是由vsftpd自己来负责监听.
//配置该参数,则相应地需要手动在rcn.d目录下创建启动脚本
//如果通过修改inetd.conf文件来自动运行vsftpd,则不要配置该参数。
//修改inetd.conf文件的方法:在inetd.conf文件中添加ftp stream tcp6 nowait root /usr/local/sbin/vsftpd vsftpd
vi /etc/rc3.d/vsftpd
//创建vsftpd的启动脚本,文件内容如下:
#!/sbin/sh
case "$1" in
start)
/usr/local/bin/vsftpd &
;;
stop)
pkill vsftpd
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
;;
esac
exit 0
存盘退出
# chmod 744 /etc/rc3.d/S83vsftpd
# chown root:sys /etc/rc3.d/S83vsftpd
//此时,可以用本地用户帐号测试vsftpd服务器是否工作正常:
#./etc/rc3.c/vsftpd start
#ftp localhost
//下面的配置将把用户限定于其的home目录中
#mkdir /home2/ftproot
//在最后的配置过程中,该路径是我的ftp_root
#groupadd -g 101 ftp
//添加新的ftp用户组
#useradd -d /home2/ftproot -g ftp -s /bin/false ftp
//添加新的ftp用户
#chown ftp:ftp /home2/ftproot
//改变目录的所有权
#vi /etc/vsftpd.conf
//编辑该文件,在该文件中配置如下两个参数
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
//当"chroot_list_enable"被设置为"YES"时,vsftpd.chroot_list文件中的用户将被chroot至其的home目录
//也可以使用"chroot_local_user"参数,该参数设置为YES时,将把所有的本地用户chroot至其的home目录;
//而此时vsftpd.chroot_list文件中的用户则不被自动chroot
#echo "ftp" >> /etc/vsftpd.chroot_list
//此时,可以用不同的用户进行测试
//下面的配置将限制那些用户可以访问或者被禁止访问vsftpd server
#vi /etc/vsftpd.conf
//编辑该文件,在该文件中配置如下三个参数:
userlist_enable=YES
//当"userlist_enable"参数设置为YES时,其寻找两个文件(vsftpd.ftpusers和vsftpd.user_list)中的任一个
//vsftpd.ftpusers和vsftpd.user_list文件中的用户表示被允许访问该ftp server的用户
userlist_deny=NO
//当"userlist_deny"参数设置为YES时,其寻找两个文件(vsftpd.ftpusers和vsftpd.user_list)中的任一个
//vsftpd.ftpusers和vsftpd.user_list文件中的用户表示禁止访问该ftp server的用户
userlist_file=/etc/vsftpd.user_list
或者是userlist_file=/etc/vsftpd.ftpusers
#echo "ftp" >> /etc/vsftpd.user_list
//此时,可以用不同的用户进行测试
//下面的配置将为vsftpd server添加两个专用的"伪用户"
#useradd -d /dev/null -g ftp -s /bin/false upload
#useradd -d /dev/null -g ftp -s /bin/false download
#passwd upload
#passwd download
//分别创建用于上传和下载的两个"伪用户"
#vi /etc/vsftpd.conf
//编辑该文件,在该文件中配置如下一个参数:
user_config_dir=/etc/vsftpd
//该参数表明为每个用户使用各自独立的配置文件,以及配置文件所在的路径
#mkdir /etc/vsftpd
//创建前述参数中指定的目录
#vi /etc/vsftpd/download
//编辑对download用户的配置参数,内容如下:
anon_world_readable_only=no
anon_max_rate=10240
#vi /etc/vsftpd/upload
//编辑对upload用户的配置参数,内容如下:
anon_world_readable_only=no
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_max_rate=10240000
anon_other_write_enable=YES
#vi /etc/vsftpd.conf
//编辑该文件,在该文件中配置如下两个参数:
guest_enable=YES
//该参数表明所有的非匿名登录的用户作为"guest"登录,guest登录被映射到一个由guest_username参数指定的本地用户
guest_username=ftp
#vi /etc/vsftpd.user_list
用download和upload替换该文件中原有的ftp用户
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/13654/showart_72289.html |
|