关于samba网上有很多的资料,不过网上资料一般倾向于企业级别的服务器搭建。最简单的、最基本的个人pc之间的访问,写的比较少,网络资料的繁多也让人无所适从,可能通常高手都不屑于写太简单文档。我记录下最简单的配置,仅供参考。
一、目的:
1.linux访问windows共享文件
2.windows访问linux共享文件(user模式-需要输入用户名和密码)
简单描述:
只需要在linux服务器上做samba服务的配置,两者就可以互相访问。
windows访问linux通过网上邻居来访问,和访问windows主机没有区别。
linux访问windows要通过mount工具来实现——把远程windows上的共享文件挂载到本地目录
二、操作系统版本:
1.windows机器--
windowsxp sp2
2.linux机器--
Fedora8
三、samba配置
假设我们已经安装好了samba软件包。没有可以下载rpm包安装或者通过yum安装。samba配置关键就是对/etc/samba/smb.conf的编辑配置,还需要对/etc/samba/lmhost做配置。
samba配置根据安全方式,我们只配置两种;
share方式——匿名方式,不需要用户名和密码就可以访问共享资源
user方式——
访问需要用户名和密码
1、share方式
这种方式比较简单,不过不安全,网络上所有人都可以访问。
1)配置/etc/samba/lmhosts
内容:ip
netbios
2)配置文档:/etc/samba/smb.conf:
[global]
netbios=sambaserver
#这个用了表示samba主机,和主机名不一样
security=share #指定这个访问方式
server string= samba
server #对主机的描述
workgroup = workgroup #
windows主机的所在工作组
#要share出来的文件
[test]
#这个可以随便写
path=/test1
browseable=yes #能否在浏览器里面访问。可否http访问
writable=yes
#是否可写
guest ok=yes #
客户访问
2、user方式
1)配置lmhosts,同share方式
2)添加samba用户
这个samba用户指的是,用于登录samba主机的用户,这个是在samba主机上设定。
注意:这个samba用户首先必须是linux系统用户,这个很好理解,你只有是linux上的系统用户,你才能够登录linux主机,而对samba服务的访问,实际上也是对linux主机的访问。
a、首先,要添加一个linux系统用户,根用户是root,可以使用根用户,也可以添加新用户。我添加新用户dudu
b、添加samba用户。
执行命令:smbpasswd
-a dudu #
然后输入密码,这个密码是用来登录samba的。
c、配置smb.conf:
#主机方面的一些参数
[global]
#主机名称相关的参数
workgroup
= WORKGROUP
netbios name = ergo_haier
server string = ergo's haier
notebook
#登录日志
log file = /var/log/samba/%m.log
max log size =
50
#采取那种安全认证方式
security = user
#给密码加密
encrypt passwords = yes
smb
passwd file = /etc/samba/smbpasswd
#samba所有用户信息
username map =
/etc/samba/smbusers
#定义那些机器可以访问,或者那些可以拒绝
hosts allow =
10.153.11.xx
#以上可以是网段,10.153.11.
这个代表10.153.11.0-255网段。
#也可以是多个网段
#以下是你想要共享的目录设置
[haierdoc]
comment =
Haier doc
path = /doc
browseable = yes
writable = yes
valid users =
dudu
d、检查配置
可以使用命令:testparm
执行后,回车,会列出你所有的配置,方便观察。
配置完成后,重启/etc/init.d/smb
restart
四、linux和windows互相访问
1.windows访问linux
这个比较简单,通过网上邻居就可以,和访问workgroup中的一台主机是一样的,不多做介绍
2.linux访问windows
如果windows有共享目录,那么需要我们通过mount命令,将远程主机上的共享目录挂载到本地目录:
1)查看远程主机共享目录
Smbclient
-L 远程主机IP -U windows_user_name #注意 -U
后面是windows用户名
输入密码,就会出现共享的目录:
[root@ErgoN samba]# smbclient -L
10.153.11.1xx -U xx
Password:
Domain=[92D68C913D67417] OS=[Windows 5.1]
Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ----
-------
G (G) Disk
centos5.1 Disk
IPC$ IPC 远程 IPC
session request to
10.153.11.142 failed (Called name not present)
session request to 10 failed
(Called name not present)
Domain=[92D68C913D67417] OS=[Windows 5.1]
Server=[Windows 2000 LAN Manager]
Server Comment
---------
-------
Workgroup Master
--------- -------
2)挂载远程资源
首先要安装samba-client
mount.cifs
//10.153.11.1xx/centos5.1 /mnt -o
user=xxx
或者
mount -o username=sam //119.144.0.23/user /usr/local/user/
NOTE:网上很多文章说用smbmount,其实这个命令在比较新的系统里面已经没有了,2.6内核以后应该都没有了,使用上面的命令来代替。
也可使用
mount -t cifs ....
cifs协议包括了smbfs协议。现在也没有单独的smbfs选项了。
可能出现问题
1.如果出现中文乱码,可能是挂载字符问题,可以选择不同字符挂载选项
2.如果出现不能写入等问题,一般为权限问题。
smbstatus查看samba状态
好久没使用过了,刚刚需要在CentOS5下挂载共享时,准备使用smbmount,执行smbmount的时候,提示没有这个,系统samba也了呀,为什么没有呢,下才知道,从4以后就没有smbmount这个概念了,而是使用cifs (Common Internet File Systemcifs),也就是说在这以后的系统直接使用mount加参数cifs就可直接挂载Windows的了.
使用方法:
#mount -t cifs -o username=kevin,password=123456 //192.168.1.10/sharefolder /mnt/win2003
就这么简单!
说明一下,cifs是的一种通用的协议,Windows下的网上邻居访问其它计算机就是使用cifs协议.
阅读(798) | 评论(0) | 转发(1) |