Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
下面将在linux redhat6.5中 搭建samba服务器
需要用的安装包:samba 1:安装 rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm //安装samba软件包 rpm -qc samba //查看软件路径 cd /etc/samba/ //到samba目录下 mv smb.conf smb.conf.bak //把smb.conf 移动重新命名为 smb.conf.bak grep -v "#" smb.conf.bak > smb.conf //过滤掉smb.con.bak文件中的# 另存为smb.conf vi smb.conf //编辑smb.conf
2: security = share 匿名用户的身份验证 [share] path=/opt/abc //路径 public=yes //公共共享文件 browseable=yes //能够访问 writable=yes // 能写入 create mask=0644 directory mask=0755 //子文件权限
3: mkdir /opt/abc // 在opt目录下 创建abc chmod 777 /opt/abc //修改abc目录的权限 service iptables stop // 关闭防火墙 setenforce 0 service smb start //开启smb 服务
4:在windows上搜索 \\192.168.100.111 进入samba共享服务 进入创建一个文件 回到linux /opt/abc 可以查看到该文件
5:下面给samba 设置身份验证登录 vim /etc/samba/smb.conf security = user 身份验证 [zkc] path=/opt/zkc //文件保存路径 browseable=yes //能够访问 create mask=0644 directory mask=0755 //子文件权限 valid users=zzz, kkk zzz kkk 用户可以访问 write list=zzz zzz 可以写入
6:useradd zzz //创建zzz用户 useradd kkk smbpasswd -a zzz //设置samba登录密码 smbpasswd -a kkk pdbedit -L //查看samba用户 mkdir /opt/zkc //opt下面创建zkc目录 chmod 777 /opt/zkc/ //修改zkc目录权限
7:重启smb服务 清理windows缓存
8:现在再次打开samba 会跳出登录窗口 输入zzz 密码123456 确定 进入samba共享文件
9:下面做samba 账户映射 虚拟帐号登录 cd /etc/samba/ //到etc/samba ls //查看 vi smbusers //编辑smbusers zzz = z01 z02 //zzz用户等于 z01 z02
10:vi smb.conf //编辑smb.conf username map = /etc/samba/smbusers //添加改行 定义路径
11:使用z01 登录 就是进入zzz用户进入smb共享文件 创建一个z01.txt 然后去linux 查看文件属主 可以看到是zzz创建的
12:如何配置 拒绝访问smb服务 vi /etc/samba/smb.conf //编辑smb.conf hosts deny=192.168.100. 10.0.0. //访问控制列表(拒绝访问)