Ubuntu Samba服务器建立
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Ubuntu Samba服务器建立
Samba是一个工具套件,在Unix/Linux上实现SMB协议。SMB协议通常是被Windows系列用来实现磁盘和打印机共享。目前Samba多数用于Windows和Unix/Linux资源共享,主要是共享文件和打印机,类似windows上的网上邻居。Samba 服务器启动后主要有两个守护进程,分别是smbd和nmbd。smbd提供文件和打印机、授权与被授权服务。nmbd提供名字解析、浏览服务,使主机(或工作站)能浏览Linux服务器。
在使用Samba之前,需要对Samba进行适当的配置,Samba配置文件在/etc/samba/smb.conf。
笔者使用Ubuntu10.04-LTS虚拟机对Samba进行初级配置,主要目的是让windows能正常访问Linux共享目录,其他Linxu发行版也具有相似的配制方法。若想进行共享访问,前提是Linux系统必须与windows正常通信,如果无法ping通,请google 或者查阅笔者的另外一篇关于Vmware网络配置的文章。
一:安装Samba服务器
Ubuntu10.04只安装了smbclient客户端,并没有安装Samba服务器,所以需要下载和更新软件,如果什么都没装,从第三条命令开始。
执行下了命令进行下载和更新:
$sudo apt-get remove samba-common
$sudo apt-get remove smbclient
$sudo apt-get install samba
$sudo apt-get install smbclient
安装后可以查看到samba服务器已经在后台运行,/etc/init.d/下多了smbd和nmbd服务软链接且开机会自动运行。
二:配置Samba服务器(使用配置文件)
Samba服务器默认配置文件是/etc/samba/smb.conf,并且可以将NetBIOS名与主机的对应关系写在/etc/samba/lmhosts中。
方案一:在Windows中匿名访问Linux共享目录
匿名访问即任意一台局域网内计算机不需要账号密码,即可访问linux共享目录,这是一种相对不安全的做法,但是确实很方便,配置工作也相对少。
Step1:(创建共享目录)
在linux里建立一个文件夹作为共享,保证该文件夹对来访者具有rwx权限。在自己的主文件夹下建是个不错的选择。这里演示在/home/下建立workshare目录,任何人具有读写访问权限。
$sudo mkdir-m777/home/workshare
Step2:(配置samba)
1.对samba配置文件进行备份,这是一个比较好的习惯。
$cd/etc/samba
$sudo cp smb.conf backup_smb.conf
2.运行文本编辑器对smb.conf进行编辑
$sudo gedit/etc/samba/smb.conf
3.查找security关键词,找到下面语句,如下
注意:samba配置文件#和;都作为注释,不起作用
#######Authentication#######
#...............
#...............
#...............
#security=user
将security=user修改为security=share,并将这一行前面的#号去掉以使配置生效。
4.在文件最后一行后面添加以下语句:
#I add it for test
[WorkShare]
path=/home/workshare
comment=this is a Linux work share directory
public=yes
writable=yes
create mode=0666
directory mode=0777
path改为你自己的共享目录。mode读写权限根据安全需要自己设定。
说明:
[WorkShare]--------------------------是远程访问samba时看到的共享文件夹名
comment=---------------------------------------------对该目录的说明性文字
path=/home/workshare------------------------Linux系统共享目录的绝对路径
public=yes--------------------是否允许所有人都能够看到此目录,no为看不到
writable=yes----------允许用户在此目录下可写,前提该目录具有其他组写权限
create mode=0666-------------如果有可写权限,建立的文件默认的权限掩码
directory mode=0777------------如果有可写权限,建立的目录默认的权限掩码
当然还有其他许多参数可以加,这里不是必须的,就没贴出来。
5.保存退出,检查是否语法有误。
$testparm
若输出类似下面,表示没有语法错误,可正常运行,否则回去检查。
Processing section"[printers]"
Processing section"[print$]"
Processing section"[WorkShare]"
Loaded services file OK.
Server role:ROLE_STANDALON
Step3:(重启samba使配置生效)
sudo/etc/init.d/smbd restart
至此Samba服务已经正常运行,在windows网络或开始-->运行里输入
\\Ubuntu虚拟机的IP地址
即可对共享文件夹进行访问,具体请看本文后面windows访问Samba一节
方案二:在Windows中使用密码访问Linux共享目录
Step1:(创建共享目录)
在linux里建立一个文件夹作为共享,保证该文件夹对来访者具有rwx权限。在自己的主文件夹下建是个不错的选择。这里在/home/下建立workshare目录,任何人具有读写访问权限。
$sudo mkdir-m777/home/workshare
Step2:(配置samba)
1.对samba配置文件进行备份,这是一个比较好的习惯。
$cd/etc/samba
$sudo cp smb.conf smb_backup.conf
2.运行文本编辑器对smb.conf进行编辑
$sudo gedit/etc/samba/smb.conf
3.查找security关键词,找到下面语句,如下
注意:samba配置文件#和;都作为注释,不起作用
#######Authentication#######
#...............
#...............
#...............
#security=xxxxx
将security=xxxxx修改为security=user并去掉前面的#号以使配置生效。
在security=user下一行添加下述语句:
#passdb backend=tdbsam
smb passwd file=/etc/samba/smbpasswd
encrypt passwords=yes