如何搭建SAMBA服务器.docx
- 文档编号:9162828
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:12
- 大小:420.41KB
如何搭建SAMBA服务器.docx
《如何搭建SAMBA服务器.docx》由会员分享,可在线阅读,更多相关《如何搭建SAMBA服务器.docx(12页珍藏版)》请在冰豆网上搜索。
如何搭建SAMBA服务器
主机环境:
windowxp+vmware7.10+Ubuntu10.10
开发板:
mini2440
内核:
2.6.32.2(板子自带的)
交叉编译器:
arm-linux-gcc-4.4.3
samba:
samba-latest.tar 也就是最新版
对于linux与windows共享,和平共处,我们可以用Samba软件。
Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件服务,打印服务等。
Samba实现了windows系统所使用的核心网络协议:
SMB(ServerMessageBlock)。
对于linux与windows共享,和平共处,我们可以用Samba软件
Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件服务,打印服务等。
Samba实现了windows系统所使用的核心网络协议:
SMB(ServerMessageBlock)
Samba可以提供如下功能:
活动目录服务(ActiveDirectoryServer,ADS)
主域控制器(PrimaryDomainController,PDC)
共享目录
共享打印机
Samba是一个高性能的服务软件,只需要更低的硬件就可以实现windowsserver相同的性能。
一、安装Samba
sudoapt-getinstallsamba
安装完成之后,在windwos上访问(我的linuxserverip:
192.168.1.66):
输入\\192.168.1.66如图:
通过标题栏可以看出已经可以访问了,但里面没有共享资源
二、Samba的配置
Samba的配置文件是/etc/samba/smb.conf,(SMB:
windows系统所使用的核心网络协议),它所使用的语法和windows的.ini文件差不多。
注:
在修改配置练习时,请备份原配置文件
最简单的配置
[global]
security=share
[linux_share]
path=/home/linux/share
public=yes
这个配置分成两段:
第一段:
global
第二段:
linux_share这是一个自己定义的名字,当从windows访问时,就可以看到这个共享文件夹的名称
security=share,表示安全等级为share,这样用户不需要经过密码验证了。
path定义了共享的文件夹的路径
public=yes表示公开给所有人访问
配置完成时,检查一下配置文件的语法:
用testparm命令
如图:
重启Samba生效
sudo/etc/init.d/smbdrestart(此语法在ubuntu中不建议使用,应采用servicesmbdrestart)
现在通过windows访问可以看到我们创建的共享文件夹了
三、Samba的安全认证
Samba提供了安全认证等级,分4个级别:
share :
不需要输入用户名和密码
user :
需要输入用户名,密码,Samba对用户进行认证
server :
认证工作由另一台Samba服务器或者Windowsserver负责
domain :
指定一台windowsserver来进行用户认证
其中user是Samba的默认安全认证级别,也就是说在/etc/samba/smb.conf配置文件中,将security一行改为security=user,那么用户在浏览共享内容前,就必须输入用户名和密码。
现在把安全级别提升为user
sudovim/etc/samba/smb.conf
[global]
security=user
[linux_share]
path=/home/linux/share
validusers=cdyemail #指定有效的用户,多个用可访问用逗号隔开
public=no #公开访问为否
sudo/etc/init.d/smbdrestart(此语法在ubuntu中不建议使用,应采用servicesmbdrestart)
通过windows访问如图:
现在要密码了,但是输入linux的用户名和密码无法通过认证,如果想让Samba通过认证,需要以下几点:
(1)、在ubuntu系统中创建用户
(2)、在Samba中创建该用户
(3)、在windows中创建相同的用户(和Samba用户密码相同)
1、在Ubuntu中创建用户
如果要将某个资源共享给新用户,必须先用adduser命令向Ubuntu中添加该用户。
如:
我们打算将某个资源共享给一个叫做cdyemail的用户,首先要做的就是在Ubuntu系统中创建这个用户
sudouseraddcdyemail
这样,系统中就有了cdyemail这个用户了。
2、在Samba中创建用户
Ubuntu系统中的用户,和Samba用户是两回事,要将资源共享给某个系统中的用户,必须将该用户添加到Samba中。
添加方法:
sudosmbpasswd-acdyemail
#smbpasswd是命令,-a表示adduser,cdyemail表示用户名
这样cdyemail的认证信息就被写入到Samba中了。
重启Samba生效
添加完用户和密码后,现在可以在windows中通过这个用户名和密码进行访问了。
3、在windows中创建相同的用户
在windows客户端中,我们需要创建与samba中完全相同的用户名和密码,这样才能通过Samba的认证,我们在windows客户端上打开Samba共享资源时,Samba会自动将windows环境中的用户信息传递到服务器上进行验证,因此如果登录的windows用户和Samba用户名相同的话(密码也相同),就不需要输入密码了,自动就能通过认证。
我在测试中通过,相当给力!
!
4、Samba用户密码修改
如果修改密码了,则windows与Samba都要同步修改。
在Samba中修改的方法如下:
sudosmbpasswdcdyemail#cdyemail为要修改的用户名
如果windows不修改,则要手动输入Samba修改后的用户名和密码,windows修改后要求注销一下(重登录)
三、共享权限的控制
目录我们只要以访问文件的内容,但没有权限修改文件,也无法向共享目录添加新文件。
1、添加文件写入权限
[global]
security=user
[linux_share]
path=/home/linux/share
validusers=cdyemail
writeable=yes #添加一句,表示具有写权限了
public=no
重启samba服务sudo/etc/init.d/smbdrestart,之后就可以写文件了,但要求服务器上的目录本身有这个权限。
我测试时用rwx权限测试成功。
对于服务器目录权限的测试:
由于我共享的是share目录,创建时用root,所以在默认的情况下,即使开了writeable也没有权限写,因为服务器目录的本身权限有问题。
(1)先修改用户所属
sudochowncdyemail:
cdyemail
(2)只保留cdyemail用户有权限访问这个目录
sudochmodu+rwx,g-rwx,o-rwxshare
(3)访问,测试写文件
测试成功,cdyemail用户有权限写。
*********未完************
由于现在要在命令行下进行数据共享的工作,所以先记录到这儿,有时间再记录其它的功能
访问服务器的共享资源:
服务器配置如下,一个要求用户认证的共享,一个大众都可能访问的。
[global]
security=user
[share_resource]
path=/home/linux/share
validusers=shareuser
writeable=yes
public=no
[public]
path=/home/linux/public
writeable=yes
public=yes
要点:
在文件结尾添加如下行:
[share]
comment=thisisLinuxsharedirectory
path=/home/myth/share
public=yes
writable=yes
保存退出,启动Samba服务:
#/etc/init.d/smbdstart旧命令形式,已经改为servicesmbdrestart
设置完成!
在Windows下访问共享目录,可点击运行,输入
\\192.168.0.10\share
这样就能以匿名用户访问共享目录share了。
客户机访问如下:
安装:
smbclient,smbfs
smbclient可以查看资源,下载资源等,这里用mount挂载远程的共享目录
sudomount-tsmbfs-ousername=shareuser,passwd=*****//192.168.1.66/share_resource /mnt/data
#smbfs是文件系统类型
#share_resource就是在samba中定义的共享名称,挂载到/mnt/data目录上
*************************
下载samba解压,进入source文件夹,这是samba的主文件夹,主函数在这个文件下。
1.
建立脚本(config.sh)内容:
./configureCC=arm-linux-gccLD=arm-linux-ldranlid=arm-linux-ranlidAR=arm-linux-ar--target=arm-linux--host=i686
samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
修改权限后在source目录下执行./config.sh
2.等配置完成后在当前目录下:
make
居然没错。
3.make installprefix=/home/gudujian/samba
4.cd/home/gudujian/samba
上面第3步也可以用:
makeinstallbinprefix=/home/aizi/samba ,这样就不会安装手册了,节省10几M吧。
下面就是打包下载mini2440的文件系统中。
(下面所有目录都是mini2440中的目录)
1.将刚才的samba目录下载到mini2440文件系统的/usr/local下。
做过的人说必须是这个目录我也不知道为什么。
2.进入/usr/local/samba/sbin
运行:
./smbd–b
3.建立/home/gudujian/2440目录
4.在/usr/local/samba/lib下
建立smb.conf文件:
内容:
[global]
workgroup=Mygroup
serverstring=Samba
netbiosname=myarm
guestaccount=root
security=share
[share]
path=/home/gudujian/2440
writeable=yes
guestok=yes
browseable=yes
5.在/usr/local/samba/sbin目录下
./smbd-D
./nmbd–D
6.进入目录/home/gudujain/2440执行
touch 00.c
7.要想在windows下访问还需要将主机和开发板改为一个号段。
我的PC机号段是219.222.172…板子的是:
192.168.1…
如果板子的改为219.222.172..老是连接不上,无奈只能将主机的改为192.168.1..的号段了。
主机IP:
192.168.1.220
开发板IP:
192.168.1.230
另外主机和开发板的gateway必须一样
这里都设置为192.168.1.254
开发板和主机之间用交叉网线连接起来
在主机开始ping开发板:
点击开始运行输入:
\\192.168.1.230
可以看到开发板上的内容了:
此时可以看到开发板自带的telnet可以在主机中登陆:
此时在主机下用Bridged方式联网的Ubuntu10.10设置为192.168.1.210
Gateway设为192.168.1.254之后也可以ping的通开发板:
8.可以将samba设置到/etc/init.d/rc.d文件中开机启动了
gudujian
2011-10-1920:
57
看到有些兄弟编译不过去在这里把源码地址放上去:
一般来说开发板默认IP:
192.168.1.230。
主机如果想与开发板连接需要设置与板子同一个网段。
解决windows7客户端无法访问Samba服务器的故障
1.确认TCP/IPhelper,ComputerBrowser、server、Workstation都是开启。
2.查看WindowsFirewall/InternetConnectionSharing(ICS)服务能否被启用?
如不能,请利用插件修复后,再试试该服务能否启用,如能,则将ComputerBrowser重新启用后,楼主再试
试能否用IP访问
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 如何 搭建 SAMBA 服务器