Vsftpd配置Web

1下载
# wget http://xftele1.skycn.com/down/vsftpd-2.3.1.tar.gz
# yum -y install db4-utils #本机缺失的包
# yum -y install gcc #本机缺失的包
# yum -y install gcc-c++ #本机缺失的包
# yum -y install pam-devel #本机缺失的包
# make clean
# make
# make install

2安装
# mkdir -d /data0/apppackage

# tar zxvf vsftpd-2.3.1.tar.gz
# cd vsftpd-2.3.1
# make
# make install

3配置
# cat /***/***/vsftpd-2.3.1/INSTALL #查看
# useradd nobody
# export LC_ALL=zh_CN.GB2312;export LANG=zh_CN.GB2312
# mkdir /usr/share/empty
# mkdir /var/ftp/
# useradd -d /var/ftp ftp
# chown root.root /var/ftp
# chmod og-w /var/ftp
# cp vsftpd.conf /etc/
# vi /etc/vsftpd.conf
/** #下面是需要增加的 前面的一些配置没有写
listen=YES
guest_enable=YES
guest_username=userxuni
pam_service_name=vsftp.vu
user_config_dir=/etc/vsftpd_userconfig
**/
# /usr/local/sbin/vsftpd &
# ps -aux |grep vsftpd
# killall -9 pid
# vi /data0/apppackage/vsftpd-2.3.1/account.txt
/**
14001
123456
**/
# db_load -T -t hash -f account.txt /etc/account.db
# chmod 600 /etc/account.db
# useradd -d fuao/data userxuni
# useradd -d /fuao/data userxuni
# chmod 777 /fuao/data
# mkdir /etc/vsftpd_userconfig
# vi /etc/vsftpd_userconfig/14001
/**
anonymous_enable=NO
local_enable=YES
local_root=/fuao/14001
write_enable=YES
guest_enable=YES
guest_username=userxuni
anon_upload_enable=NO
anon_other_write_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
listen=YES
anon_world_readable_only=NO
**/
# mkdir /fuao/14001
# chown userxuni.userxuni /fuao/14001
# vi /etc/pam.d/vsftp.vu
/**
auth required /lib/security/pam_userdb.so db=/etc/account
account required /lib/security/pam_userdb.so db=/etc/account
**/
# ps -aux |grep vsftpd
# kill -9 12595
# /usr/local/sbin/vsftpd &

4测试
# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.3.0)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): 14001
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

参考 http://wenku.baidu.com/view/bd90f37e5acfa1c7aa00cce5.html
遇到的问题
1.编译报错或者缺少支持 导致无法运行主要是缺少几个几个包 1中的yum下载的内容
2. 虚拟用户无法登陆 http://www.chinaunix.net/jh/15/586793.html

vim /etc/vsftpd/vuserconfig/testvuser

vim /etc/vsftpd/vuserconfig/testvuser
guest_enable=yes:开启虚拟帐号登录
guest_username=test:设置testvuser对应的系统帐号为test
anon_world_readable_only=no:允许匿名用户浏览器整个服务器的文件系统
write_enable=yes:允许在文件系统写入权限
anon_mkdir_write_enable=yes:允许创建文件夹
anon_other_write_enable=yes:允许其他权限比如重命令、删除文件及文件夹
anon_upload_enable=yes:开启匿名帐号的上传功能

guest_enable=yes
guest_username=test
anon_world_readable_only=no
write_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_upload_enable=yes


//以上步骤均运行过 第一次配置 匿名是可以访问 注册用户是可以登录访问 问题:虚拟用户配置无法上传 增加目录
后面重复了很多遍,也参考了许多网上文档 基本步骤都一样 后面出现了情况是 匿名可以 但是注册用户就都登录不了
实在不得决定重新用rpm包装 1.自己觉得可能源码有问题 2 虚拟用户的情况不太适合公司增加员工时增加账号的情况 3觉得先保持和前人的技术文档一致配置 这样好找出问题所在
//参考文献 http://bbs.51cto.com/thread-557014-1.html
//以下自己操作 基本和参考一致(运行时正确的)
//环境Linux version 2.6.18-194.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010
//selinux(selinux支持上传)这个没有运行 所以这个跳过
linux 版本
Linux version 2.6.18-194.el5 (mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Fri Apr 2 14:58:35 EDT 2010
安装的vsftpd版本(直接yum安装的)
vsftpd-2.0.5-21.el5.i386.rpm

# yum -y install vsftpd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.163.com
* extras: mirrors.163.com
* updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.i386 0:2.0.5-21.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
vsftpd i386 2.0.5-21.el5 base 142 k

Transaction Summary
================================================================================
Install 1 Package(s)
Upgrade 0 Package(s)

Total download size: 142 k
Downloading Packages:
vsftpd-2.0.5-21.el5.i386.rpm | 142 kB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : vsftpd 1/1
warning: /etc/vsftpd/vsftpd.conf created as /etc/vsftpd/vsftpd.conf.rpmnew

Installed:
vsftpd.i386 0:2.0.5-21.el5

Complete!
# ps -aux |grep vsftpd
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root 3455 0.0 0.0 5108 680 pts/0 S+ 14:11 0:00 grep vsftpd

#启动进程
service vsftpd start

//修改客户端显示中文乱码
修改/etc/sysconfig/i18n文件
LANG="zh_CN.UTF-8"
改为
#LANG="zh_CN.UTF-8"
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

//
# ll -d /var/ftp
drwxr-xr-x 4 root root 4096 12-28 14:11 /var/ftp
# ls /var/ftp/
companydata pub
# ll -d /var/ftp/companydata/
drwxr-xr-x 3 ftp root 4096 12-28 10:31 /var/ftp/companydata/
# getsebool -a|grep ftp
getsebool: SELinux is disabled
# chkconfig --list |grep vsftpd
vsftpd 0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭
# chkconfig --level 3 vsftpd on
# chkconfig --list |grep vsftpd
vsftpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:关闭 6:关闭
#
# service vsftpd stop
关闭 vsftpd: [确定]
# service vsftpd start
为 vsftpd 启动 vsftpd: [确定]
#
//匿名登录FTP 可新建 上传 不可删除 修改


# useradd -s /sbin/nologin 14001
# useradd -s /sbin/nologin admin
# passwd 14001
Changing password for user 14001.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
# passwd admin
Changing password for user admin.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
#


# ll -d /var/ftp
drwxr-xr-x 4 root root 4096 12-28 15:25 /var/ftp
# ll -d /fuao
drwxrwxrwx 32 root root 4096 12-27 15:36 /fuao
# ll -d /fuao/14001
drwxr-xrwx 2 admin admin 4096 12-27 11:18 /fuao/14001
# chmod 755 /fuao/14001
# ll -d /fuao/14001
drwxr-xr-x 2 admin admin 4096 12-27 11:18 /fuao/14001
# service vsftpd restart

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO:禁止匿名用户登录
local_enable=YES:允许本地用户登录
local_root=/var/www/html:设置本地用户的根目录为/var/www/html
chroot_list_enable=YES:激chroot功能
chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件

# touch /etc/vsftpd/chroot_list
# ll /etc/vsftpd
总计 20
-rw-r--r-- 1 root root 0 12-28 15:34 chroot_list
-rw------- 1 root root 125 2011-05-31 ftpusers
-rw------- 1 root root 361 2011-05-31 user_list
-rw------- 1 root root 4591 12-28 15:33 vsftpd.conf
-rwxr--r-- 1 root root 338 2011-05-31 vsftpd_conf_migrate.sh
# vi /etc/vsftpd/chroot_list
14001
admin

# vi /etc/vsftpd/vsftpd.conf
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
local_root=/fuao
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
anon_world_readable_only=NO --表示用户可以浏览FTP目录和下载文件(包括匿名用户)


/*********************************************************************
上面按演示是2个用户共用一个目录 现在情况是给每个员工自己定位他的ftp目录
# vi /etc/vsftpd/vsftpd.conf
#最后面加入
user_config_dir=/etc/vsftpd/userconfig
# mkdir /etc/vsftpd/userconfig
# ls /etc/vsftpd/user
userconfig/ user_list
# ll /etc/vsftpd
总计 28
-rw-r--r-- 1 root root 12 12-28 15:34 chroot_list
-rw------- 1 root root 125 2011-05-31 ftpusers
drwxr-xr-x 2 root root 4096 12-28 16:16 userconfig
-rw------- 1 root root 361 2011-05-31 user_list
-rw------- 1 root root 4630 12-28 16:16 vsftpd.conf
-rwxr--r-- 1 root root 338 2011-05-31 vsftpd_conf_migrate.sh
# vi /etc/vsftpd/userconfig/14001
local_root=/fuao/14001
local_max_rate=60000
# service vsftpd restart

测试登录 14001 根目录已经由/fuao变为/fuao/14001 上传大文件测试ok
创建组
# groupadd ftpgroup
# vi /etc/group
#修改组
# usermod -g ftpgroup 14001
#修改无权限登录
# usermod -s /sbin/nologin 14001
#修改根目录
# usermod -d /fuao/14001 14001
# vi /etc/passwd
#完整的创建目录
# useradd -g ftpgroup -d /fuao/12002 -s /sbin/nologin 12002

# useradd -g ftpgroup -d /fuao/12009 -s /sbin/nologin 12009
根目录不要建立到ftp目录下 测试了建立后根目录下有系统文件暴露不好

/******************************
#以后创建新的ftp用户步骤
# useradd -g ftpgroup -s /sbin/nologin 12009
# passwd 12009
# vi /etc/vsftpd/userconfig/12009
local_root=/fuao/12009
local_max_rate=600000
或者
# cp /etc/vsftpd/userconfig/14001 /etc/vsftpd/userconfig/12009
# vi /etc/vsftpd/userconfig/12009
local_root=/fuao/12009
local_max_rate=600000
#添加授权ftp登录账户
# vi /etc/vsftpd/chroot_list
14001
admin
12009
12002
测试不用重启vsftpd可以登录
********************************/

anonymous_enable=YES
local_root=/fuao/admin
local_max_rate=600000 600k
#max_clients=100
#max_per_ip=5
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
chroot_local_user=YES
listen=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES

//根目录匿名账户无法上传文件 不过发现也用不着 在里面建几个常用目录供上传下载就可以了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值