概述
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
Samba主要应用
文件共享
打印服务器
Samba登陆时身份验证
可以进行Windows的主机名解析
实验环境
系统环境:CentOS6.5
Windows7
Server端IP地址:192.168.1.77(Linux)
Client端IP地址:192.168.1.10(windows7)
yum挂载目录:/mnt/sr0
使用rpm包:samba:主服务器包
samba-client:客户端(既可以做服务器端也可以做客户端)
samba-common:通用工具
samba4-libs: 库文件
samba-winbind:windows域映射
samba-winbind-clients:域映射客户端
搭建步骤
一、使用share级别进行访问
1、Server端安装Samba服务rpm包
[root@localhost ~]# rpm -qa | grep samba #查看系统已安装的samba的软件包
[root@localhost ~]# cd /mnt/sr0/Packages/ [root@localhost Packages]# rpm -ivh samba-3.6.9-164.el6.x86_64.rpm #安装主包
2、修改配置文件_全局设置
[root@localhost ~]# cd /etc/samba/ [root@localhost samba]# cp smb.conf smb.conf.bak #备份配置文件 [root@localhost samba]# grep -v '#' smb.conf > smb.conf #重新过滤配置文件
[root@localhost samba]# vim smb.conf
3、修改配置文件_共享设置
[root@localhost ~]# /etc/init.d/smb start #启动smb服务
4、创建共享目录
[root@localhost ~]# mkdir /tmp/pub [root@localhost ~]# chmod 777 /tmp/pub/ #其他人也可以对共享目录拥有上传权限
[root@localhost ~]# cd /tmp/pub/ [root@localhost pub]# echo "this is test" > test.txt #写入测试信息
5、虚拟机登录访问
6、samba服务器查看匿名用户上传文件
二、使用user级别进行访问
1、修改配置文件_全局设置
[root@localhost ~]# cd /etc/samba/ [root@localhost samba]# vim smb.conf
2、修改配置文件_系统用户目录访问设置
[root@localhost ~]# /etc/init.d/smb restart #启动smb服务
3、创建系统用户目录访问目录
[root@localhost ~]# mkdir /tmp/vip [root@localhost ~]# chmod 777 /tmp/vip/
4、添加系统用户并设置samba密码
[root@localhost ~]# useradd zhangsan [root@localhost ~]# passwd zhangsan [root@localhost ~]# smbpasswd -a zhangsan #设置samba密码,登录时用samba密码登录,保证了系统的安全
[root@localhost ~]# useradd lisi [root@localhost ~]# passwd lisi [root@localhost ~]# smbpasswd -a lisi
[root@localhost ~]# useradd wanger [root@localhost ~]# passwd wanger [root@localhost ~]# smbpasswd -a wanger
[root@localhost ~]# pdbedit -L #查看设置samba密码的用户
5、登录zhangsan用户测试
6、登录lisi用户测试
7、登录wanger用户测试
8、查看上传文件
9、修改samba别名文件
[root@localhost ~]# vim /etc/samba/smbusers #samba别名文件
[root@localhost ~]# vim /etc/samba/smb.conf #添加samba别名文件路径
[root@localhost ~]# /etc/init.d/smb restart
10、隐藏家目录