debian配置samba
读音['sæmbə]
Samba协议基础
在Windows NT服务器系统中,实现不同计算机之间共享打印机和文在NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统,这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议。这个协议被Microsoft用于他们Lan Manager件。
Samba是用来实现SMB的一种软件,它的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMB(Server Message Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows的NETBEUI协议让Unix计算机可以在网络邻居上被Windows计算机看到。
它的功能有:
共享Linux磁盘给Windowns
共享Windowns磁盘给Linux机器
共享Linux打印机给Windowns
共享Windowns打印机给Linux机器。
Samba的核心是两个守护进程smbd和nmbd程序,在服务器启动到停止期间持续运行。smbd和nmbd使用的全部配置信息全都保存在smb.conf文件中。smb.conf向smbd和nmbd两个守护进程说明输出什么以便共享,共享输出给谁及如何进行输出。smbd进程的作用是处理到来的SMB软件包,为使用该软件包的资源与Linux进行协商,nmbd进程使其它主机(或工作站)能浏览Linux服务器。
Samba的主配置文件位置在/etc/samba目录中,文件名为smb.conf。
首先是安装samba:
apt-get install samba
跟着修改配置文件:
vim /etc/samba/smb.conf
[可选]加入如下配置
#display charset = UTF-8
#unix charset = UTF-8
#dos charset = cp936
useradd
smbpasswd -a meaglith
/etc/init.d/samba restart
检查当前配置
#testparm
附.设置目录共享及权限
[share]
comment = a comment #目录的注解说明
path = /data/temp #要共享目录的绝对位置
browseable = no #目录是否可见,预设为可见
writable = yes #目录是否为可写
read only = no #目录是否为只读
guest ok = yes #来宾是否可以访问,与"public = yes" 作用相同
write list =user,@group #可写用户列表,@后表示某个群组
valid users = validusername #允许访问的使用者清单
read list = readusename #只可读的使用者清单
invalid users = invalidusername #禁止访问的使用者清单
admin users = adminuser #有管理权限使用者清单
create mask = 0755 #使用者建立档案的权限,预设为0744
printable = no
[global] #全局配置
workgroup = LinuxSir #定义该Samba服务器所在的工作组或者域(如果下面的security=domain的话)
netbios name = LinuxSir05 #在Windows中显示出来的计算机名
server string = Linux Samba Server TestServer #设定机器的描述,当我们通过网络邻居访问的时候可以在备注里面看见这个内容。
security = security_level #定义Samba的安全级别
说明:
定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。它们对应的验证方式如下:
share:没有安全性的级别,任何用户都可以不要用户名和口令访问服务器上的资源。
User:samba的默认配置,要求用户在访问共享资源之前资源必须先提供用户名和密码进行验证。
Server:和user安全级别类似,但用户名和密码是递交到另外一个服务器去验证,比如递交给一台NT服务器。如果递交失败,就退到user安全级。
Domain:这个安全级别要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
后面三种安全级都要求用户在本Linux机器上也要系统帐户。否则是不能访问的。
hosts allow = 网络或者主机
说明:
这里可以设置允许访问的网络和主机IP.
比如允许整个192.168.1.0这个网段(192.168.1.0/24)和192.168.2.1这台主机(192.168.2.1/32)访问,就用host allow = 192.168.1. 192.168.2.1 127.0.0.1(网络注意后面加”.”号,各个项目间用空格隔开,记得把本机也加进去)
samba命令使用:
假定:
windows下IP为192.168.0.7
debian下的IP 为:192.168.0.8
debian~#smbclient -L 192.168.0.7 -U sunday
在windows下输入:\\192.168.0.8 访问debian
最简samba配置
一、通过用户访问
1.apt-get install samba
2.修改/etc/samba/smb.conf文件
security = user #设置安全级别为user
3.添加用户并设置samba访问密码
smbpasswd -a username
二、不需要用户都可以直接访问
1.修改/etc/samba/smb.conf文件
设置security = share
4.重启一下samba服务:
/etc/init.d/smb restart
/etc/init.d/samba restart
注:suse 下重启samba
rcsmb restart