samba服务器.docx
《samba服务器.docx》由会员分享,可在线阅读,更多相关《samba服务器.docx(9页珍藏版)》请在冰豆网上搜索。
samba服务器
Samba服务器
一.SMB协议与samba简介
SMB(ServerMessageBlock,服务信息块)协议是实现网络上不同类型计算机之间文件和打印共享的协议。
SMB的工作原理就是让NETBIOS协议与SMB协议运行在tcp/ip之上,并且利用NETBIOS的名字解释器功能让linux的计算机可以在windows计算机的网上邻居中被看到,从而实现linux计算机与windows计算机之间相互访问共享文件和打印机的功能。
Samba是一组使linux支持SMB协议的软件。
Samba的核心是两个守护进程smbd和nmbd。
Smbd守护进程负责建立对话,验证,提供文件和打印机共享等;nmdb守护进程负责实现网络浏览。
二.安装samba服务器
1.查看是否安装
[root@localhost~]rpm-qsamba
如果显示:
packagesambaisnotinstalled
表明没有安装。
2.安装
放入安装光盘,再
[root@localhost~]
rpm–ivh/media/cdrom/sever/samba-3.1.23c-2.i386.rpm
注:
或用“添加/删除软件”实现。
(在“服务器/windows文件服务器/可选的软件包”中保证“system-config-samba”前的复选框被选中,再单击“应用”)
3.samba服务器配置基础(为顺利完成配置,应禁用SELINUX)
1)/etc/samba/smb.conf文件:
保存Samba服务器的全部配置信息。
2)Samba服务器的安全级别
Samba服务器提供的5种安全级别,利用security参数可指定其安全级别,最常用的安全级别是共享或用户。
共享(share):
当客户端连接到samba服务器后,不需要输入samba用户名和口令就可以访问samba服务器中的共享资源。
这种方式方便但不太安全。
用户(user):
这是samba服务器默认的安全级别。
Samba服务器负责检查samba用户名和口令,验证成功后才能访问相应的共享目录。
域(domain):
samba服务器相身不验证samba用户名和口令,而windows域控制服务器负责。
此时必须指定域控制服务器的netbios名称。
服务器(sever):
samba服务器不验证用户名和口令,而将输入的用户名和口令传给另一个samba服务器来校验。
此时必须指定负责验证的那个samba服务器的名称。
活动目录域(ADS):
samba服务器不验证用户名和口令,而由活动目录域服务器来负责。
同样需要指定活动目录服务器的netbios名称。
3)samba共享权限
Linux规定:
samba共享目录的权限是文件系统权限与共享权限中最严格的那种权限。
3)samba服务的日志文件
放在/var/log/samba文件夹中。
如:
172.30.5.8.log文件:
是ip为172.30.5.8计算机的日志文件
同时,还将nmb服务和smb服务的运行情况写入nmd.log
和smbd.log文件。
4)桌面环境下配置samba服务器
系统-管理-服务器设置-samba
a)配置参数:
首选项/服务器设置
b)配置samba用户:
首选项/samba用户
c)配置共享目录:
点击“添加共享”按钮
d)访问
架设共享级别的samba服务器时,不需要创建samba用户,只需要创建共享的目录,并允许所有用户访问即可。
而架设用户级别的samba服务器时,必须创建samba用户表,并为每个samba用户设置口令。
此时即使不创建共享的目录,按照samba服务器的默认设置,用户也能访问其主目录中的所有文件。
5)编辑配置文件(/etc/samba/smb.conf)配置samba服务器
Smb.conf文件采用分节的结构,一般由三个标准节和若干个用户自定义的共享节组成。
[Global]节:
定义samba服务器的全局参数,与samba服务整体运行环境紧密相关
[homes]节:
定义共享用户主目录
[printers]节:
定义打印机共享。
[自定义目录名称]节:
定义用户自定义的共享目录.
[netlogon]节:
域用户登录目录设置
[profiles]定义公共profile文件的位置,如不加以指定,默认为每个用户的home目录。
文件中以“#”开头的行是配置参数的说明信息。
以;开头的行为注释行。
Samba服务器的全局参数
类型
参数名
说明
基本
workgroup
指定samba服务器的工作组
Serverstring
指定samba服务器的描述信息
安全
Security
指定samba服务器的安全级别
Passwordserver
当samba服务器的安全级别不是共享或用户时,用于指定验证samba用户和口令的服务器名
Hostallow
指定访问samba服务器的ip地址范围
Guestaccount
指定guest账号的名字,否则为nobody
打印
Printcapname
指定打印机配置文件的保存路径
Cupsoption
指定打印机系统的工作模式
Loadprinters
指定是否共享打印机
Printing
指定打印系统的类型
日志
Logfile
指定日志文件的保存路径
Maxlogsize
指定日志文件的最大真心尺寸,以
以kb为单位
其他
Dnsproxy
指定是否为samba服务器设置proxy
共享资源参数
参数名
含义
Comment
指定共享目录的描述信息
Path
指共享目录的路径
Browseable
指定共享目录是否可浏览,默认为yes
Writable
指定共享目录是否可写默认为no
Guestok
指定是否允许guest账号访问
Readonly
指定共享目录是否可读
Public
指定是否允许guest账号访问
Onlyguest
指定是否只允许guest账号访问
Validusers
指定允许访问共享目录的用户
Printable
指定是否允许打印
Writelist
指定允许写的用户组
Smb.conf文件的默认设定值如下:
Workgroup=mygroup
Serverstring=user
Loadprinters=yes
Cupsoptions=raw
Logfile=/var/log/samba/%m.log
Maxlogsize=50
Dnsproxy=no
[homes]
Comment=homedirectores
Browseable=no
Writable=yes
[printers]
Comment=allprinters
Path=/var/spool/samba
Browseable=no
Guestok=no
6)添加samba用户的shell命令
Smbpasswd-a用户名
如:
Smbpasswd-azhang(将zhang用户添加为samba用户)
Smbpasswdzhang(修改zhang用户的口令)
7)samba服务器配置实例
1.架设共享级别的samba服务器,所有windows计算机的用户均可读写/tmp目录,当前工作组为workgroup.
操作过程:
a)vi/etc/samba/smb.conf新建如下行:
[glogal]
Workgroup=workgroup
Security=share
[tmp]
Path=/tmp
Writable=yes
Guestok=yes
b)在shell提示符下运行testparm命令测试配置文件是否正确。
c)重新启动samba服务
2.架设用户级别的samba服务器,user1和user2用户可利用samba服务器访问其主目录中的文件,当前工作组为workgroup.
操作过程:
a)将user1,user2设置为samba用户并设置口令
Smbpasswd-auser1
Smbpasswd-auser1
b)vi/etc/samba/smb.conf新建如下内容:
[glogal]
Workgroup=workgroup
Security=user
[homes]
Comment=homedirectory
Browseable=no
Writable=yes
c)在shell提示符下运行testparm命令测试配置文件是否正确。
c)重新启动samba服务
3.架设用户级别的服务器,其中user3用户只能访问其个人主目录、/share1、/share2目录。
如果user3,user4用户,/share1、/share2目录不存在,则先建立。
a)利用smbpasswd命令将linux系统中所有的普通用户都设置为samba用户。
b)vi/etc/samba/smb.conf新建如下内容:
[glogal]
Workgroup=workgroup
[homes]
Comment=homedirectory
Browseable=no
Writable=yes
[share1]
Path=/share1
Writable=yes
[user3-user4]
Path=/share2
Validusers=user3user4
c)在shell提示符下运行testparm命令测试配置文件是否正确。
d)重新启动samba服务
三.Windows计算机访问samba共享
方法:
1.“网上邻居”
2.\\samba服务器ip
四.Linux桌面下访问windows共享
在linux中,”位置”――“网络服务器”,再双击工作组名。
注意:
windows中,“本地连接”属性,打开“microsoft网络的文件打印机共享”。
五.设置smb打印机:
由于linux中可使用的打印机型号少,在实际应用中linux计算机经常利用samba服务器来共享局域网中的windows计算机上安装的打印机。
如果windows计算机要向linux计算机提供打印共享,那么windows计算机中不仅将已安装好的打印机设置共享,还必须设置microsoft网络的文件和打印机共享。
Linux必须安装共享的smb打印机。
Linux桌面环境下超级用户依次单击“系统”-“管理”-“正在打印”,将出现“打印机配置”窗口,再单击工具栏上的“新打印机”,出现“新打印机”窗口,设置打印机名,输入smb打印机的名称和描述信息,单击“前进”按钮,选择“打印机连接方式”,从“选择连接“列表中选择”windowsprinterviasamba“选项,窗口右边应该出现局域网中所有提供samba共享的计算机,再单击”前进“,选择打印机的品牌,再点击”前进“,然后选择打印机型号,单击”应用“按钮结束共享打印机的安装,回到“打印机配置”窗口。