您的位置:首页 > 编程语言 > PHP开发

Samba与Vsftpd结合在企业中的应用

2011-01-28 00:19 363 查看
系统: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、成功配置如图所示








总结:通过上面的配置,公司人员就可以通过\\192.168.0.197方式访问到外网客户通过FTP上传上来的资料。
本文出自 “Firerat火鼠” 博客,请务必保留此出处http://firerat.blog.51cto.com/2371183/486897
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: