系统: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、成功配置如图所示