前言:
Samba是Unix/Linux主机把资源提供给Windows或其他Unix/Linux客户端共享的服务器,也是一套用来实现SMB协议的软件包。Samba能够十分方便的实现Linux和Windows的文件及打印共享。主要有如下功能:
(1)提供Windows操作系统风格的文件和打印机共享
(2)提供Samba客户功能
(3)解析NetBios名称
(4)备份PC上的资源
(5)提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能
(6)支持Samba管理工具SWAT
实验过程:
本文主要进行Samba的命令行(文本)形式的配置。
主要涉及目录或文件:
/etc/samba:Samba服务配置文件存放目录
/etc/samba/smb.conf:Samba服务的主要配置文件
/etc/samba/smbpasswd:Samba服务的密码文件
/etc/samba/smbusers:Samba服务的用户映射文件
一、share级共享
1.建立目录/home/share,设置权限为777。
2.编辑/etc/samba/smb.conf文件(仅列出主要修改字段):
workgroup = 1374
server string = Samba Server
security = share
[Myshare]
path=/home/share
writable=yes
browseable=yes
guest ok=yes
二、user级共享
1.建立系统用户smbuser,密码为smb@1860。
2.添加Samba用户。
[root @ewook ~]# smbpasswd -a smbuser
New SMB password:
Retype New SMB password:
Added user smbuser
[root @ewook ~]# smbpasswd -e smbuser
Enabled user smbuser
3.编辑/etc/samba/smb.conf文件(仅列出主要修改字段):
workgroup = 1374
server string = Samba Server
security = user
[Myshare]
path=/home/share
writable=yes
browseable=yes
guest ok=no
valid users=smbuser
3. 运行
# service smb restart
好了,在 windows 7 按 win+r 键运行
//192.168.80.128
搞定!
注意: 访问的时候,配置没错,却老是弹出输入网络密码,解决的办法:单击win+r 键运行 secpol.msc 打开 本地安全策略 ,依次找到 本地策略--安全选项--网络安全:LAN 管理器身份验证级别,把这个选项的值改为 发送 LM 和 NTLM – 如果已协商,则使用 NTLMv2 会话安全 ,确定OK
51cto上面的配置
安装 Fedora Samba
首先,通过 yum 来在线安装 Fedora Samba 。
yum -y install Fedora Samba
配置 Fedora Samba
然后,通过编辑 /etc/Fedora Samba/smb.conf ,根据需求配置 Fedora Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。
[root@sample ~]# vi /etc/Samba/smb.conf ← 编辑 Fedora Samba 的配置文件
workgroup = WORKGROUP //设置工作组
server string = %U's Samba %v //描述信息%U代表当前登陆用户
netbios name = fedora //netbios名字,fedora9 默认没有启用
log file = /var/log/Samba/log.%m //日志文件保存路径%m你的windows主机名
max log size = 50 //日志最大容量
security = user //安全级别,user需要用户名和密码,share级别则不要
[Fedora Samba] //建立一个共享名为Fedora Samba的共享
comment = Samba//描述信息
path = /home/suyang/Fedora Samba//共享路径
public = no //是否允许guest用户访问(相当于guest ok = yes/no)
writable = yes //是否可写
write list = suyang //可以写入的用户列表(@代表用户组)
接下来,创建将要通过 Fedora Samba 共享给 Windows 网络的专用目录。
[root@sample ~]# mkdir /home/suyang/Samba ← 建立共享文件专用目录
[root@sample ~]# chown -R nobody. /home/suyang/Samba ← 设置专用目录归属为 nobody
[root@sample ~]# chmod 777 /home/suyang/Samba ← 将专用目录属性设置为 777
在进行到服务端的连接之前,需要预先对用于登录 Fedora Samba 的用户进行设置。这里我们以 Fedora 中 Fedora Samba 标准的 Fedora Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Fedora Samba 的用户数据。这里需要注意的一点:用 smbpasswd 创建用户的前提是,系统用户中存在该用户 -- 在基于系统用户之上,才可以创建该用户在 Fedora Samba 用户数据库中的信息。
[root@sample ~]# smbpasswd -a suyang ← 将系统用户 suyang(例)加入到 Fedora Samba 用户数据库
New SMB password: ← 输入该用户用于登录 Fedora Samba 的密码
Retype new SMB password: ← 再次确认输入该密码
启动 Fedora Samba 服务
在启动 Fedora Samba 服务之前,首先将防火墙设置中 Fedora Samba 所用到的端口进行开放。 [root@sample ~]# vi /etc/sysconfig/iptables ← 编辑 iptables 配置文件
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT ← 找到此行,在下面添加如下行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 138 -j ACCEPT
[root@sample ~]# /etc/rc.d/init.d/iptables restart ← 重新启动 iptables ,使新的规则生效
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
最后,启动 Fedora Samba 服务(含两个守护进程:smb,nmb)。
[root@sample ~]# chkconfig smb on ← 设置 Fedora Samba 自启动
[root@sample ~]# chkconfig --list smb ← 确认 Fedora Samba 启动标签,确认 2-5 为 on 的状态
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# chkconfig nmb on ← 设置 nmb 自启动
[root@sample ~]# chkconfig --list nmb ← 确认 nmb 启动标签,确认 2-5 为 on 的状态
nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@sample ~]# /etc/rc.d/init.d/smb start ← 启动 Fedora Samba 服务
Starting SMB services: [ OK ]
[root@sample ~]# /etc/rc.d/init.d/nmb start ← 启动 nmb 服务
Starting NMB services: [ OK ]