系统:Redhat Enterprise AS 5
软件:samba-3.0.23c-2
             samba-client-3.0.23c-2
             samba-common-3.0.23c-2
             vsftpd-2.0.5-10.el5
             db4-utils-4.3.29-9.fc6
目的:一台有双网卡的机子,对外的网卡通过vsftpd提供FTP服务,对内的网卡通过samba对FTP上传的资料共享给公司内部员工访问。

1、查看是否装了以上所需的软件

[root@Wang ~]# rpm -qa | grep samba
samba-3.0.23c-2
samba-client-3.0.23c-2
samba-common-3.0.23c-2

[root@Wang ~]# rpm -qa | grep vsftpd
vsftpd-2.0.5-10.el5

[root@Wang ~]# rpm -qa | grep db4-utils
db4-utils-4.3.29-9.fc6

2、配置vsftpd服务

    2.1 检查并安装vsftpd软件
    [root@Wang ~]# rpm -qa | grep vsftpd
    vsftpd-2.0.5-10.el5      如果这里显示空白,说明软件还没有安装
    [root@Wang ~]# rpm -ivh vsftpdvsftpd-2.0.5-10.el5
    2.2 建立虚拟账号口令库文件
    #cd //返回root目录
    #vi logins.txt
    添加以下用户:
    kd   //用户名
    kd   //密码
    xy
    xy
    jfr
    jfr
    wangbo
    wangbo
   :wd   //保存并退出
   2.3 生成vsftpd的数据库文件
   #cd   2.1 检查并安装vsftpd软件
   #db_load -T -t hash -f logins.txt /etc/vsftpd_login.db    //生成数据库文件
   #chmod 600 /etc/vsftpd_login.db
   2.4 建立虚拟用户所需的PAM配置文件
   [root@Wang ~]# vi /etc/pam.d/vsftpd
   #%PAM-1.0
   auth        required    /lib/security/pam_userdb.so db=/etc/vsftpd_login    //新添加这一行
   account     required    /lib/security/pam_userdb.so db=/etc/vsftpd_login //新添加这一行
   #session    optional     pam_keyinit.so    force revoke
   #auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
   #auth       required    pam_shells.so
   #auth       include     system-auth
   #account    include     system-auth
   #session    include     system-auth
   #session    required     pam_loginuid.so
   :wq //保存并退出
   2.4 建立虚拟用户及所需要访问的目录,并设置权限
   [root@Wang ~]# useradd -d /var/ftp/share/ -s /sbin/nologin virtual
   [root@Wang ~]# mkdir /var/ftp/share
   [root@Wang ~]# chmod 700 /var/ftp/share
   2.5 配置vsftpd.conf文件
   [root@Wang ~]# vi /etc/vsftpd/vsftpd.conf
   增加:
   guest_enable=YES
   guest_username=virtual
   user_config_dir=/etc/vsftpd/user_config_dir
   pam_service_name=vsftpd
   其他配置根据需要设定
   2.6 建立user_config_dir文件目录,并创建以用户名命名的配置文件
   [root@Wang ~]# mkdir /etc/vsftpd/user_config_dir/
   [root@Wang user_config_dir]# vi /etc/vsftpd/user_config_dir/kd
   anon_world_readable_only=NO //具有浏览权限
   anon_upload_enable=YES     //具有下载权限
   anon_other_write_enable=YES     //具有删除权限
   anon_mkdir_write_enable=YES    //具有创建目录权限
   local_root=/var/ftp/share/kd    //指定用户登陆的默认路径
   write_enable=YES   //具有上传权限
   2.7 重启服务并测试登陆
   [root@Wang user_config_dir]# service vsftpd restart
   关闭 vsftpd:                                              [确定]
   为 vsftpd 启动 vsftpd:                               [确定]
   [root@Wang user_config_dir]# chkconfig --level 3 vsftpd on //vsftpd服务在字符下自动启动
   [root@Wang user_config_dir]# ftp 192.168.0.197
   Connected to 192.168.0.197.
   220 (vsFTPd 2.0.5)
   530 Please login with USER and PASS.
   530 Please login with USER and PASS.
   KERBEROS_V4 rejected as an authentication type
   Name (192.168.0.197:root): kd
   331 Please specify the password.
   Password:
   230 Login successful.
   Remote system type is UNIX.
   Using binary mode to transfer files.
   ftp> pwd
   257 "/"
3、配置samba服务
   3.1 检查并安装samba软件
   [root@Wang ~]# rpm -qa | grep samba
   samba-3.0.23c-2
   samba-client-3.0.23c-2
   samba-common-3.0.23c-2
   如果显示空白,放入光盘安装以上所需软件
   3.2 配置smb.conf文件
   [root@Wang ~]# vi /etc/samba/smb.conf
    [global]
    workgroup = MYGROUP   //设置工作组
    security = share     //访问方式为share,任何人都能访问共享文件夹
    [share]    共享名
    comment = Ftp' s directory  
    path = /var/ftp/share
    public = yes
    writable = yes
   :wq 保存并退出
3.3 重启服务并测试访问
   [root@Wang ~]# service smb restart
   关闭 SMB 服务:                                            [确定]
   关闭 NMB 服务:                                            [确定]
   启动 SMB 服务:                                            [确定]
   启动 NMB 服务:                                            [确定]
[root@Wang ~]# smbclient -L \\192.168.0.197
Password:
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.23c-2]

        Sharename       Type      Comment
        ---------       ----      -------
        share           Disk      Ftp's directory
        IPC$            IPC       IPC Service (Samba Server)
Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.23c-2]

        Server               Comment
        ---------            -------
        WANG                 Samba Server

        Workgroup            Master
        ---------            -------
        MYGROUP   
4、成功配置如图所示
www.stuos.com
www.stuos.com
总结:通过上面的配置,公司人员就可以通过\\192.168.0.197方式访问到外网客户通过FTP上传上来的资料。。。