感谢支持
我们一直在努力

Linux基础知识之Samba配置

一:为什么使用samba:

原因是Samba最先在Linux和Windows两个平台之间架起了一座桥梁哈,Samba的出现,我们可以在Linux系统和Windows系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至我们可以使用samba Server完全取代windows中的域控制器,做域管理工作,使用也非常方便滴。

二:Samba应用环境

(1)文件和打印机共享:文件和打印机共享是Samba的主要功能,SMB进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问哈。

(2)身份验证和权限设置:smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。

(3)名称解析:Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。

(4)浏览服务:局域网中,Samba服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源

三:samba工作原理:

Samba服务功能强大,SMB不仅提供目录和打印机共享,还支持认证、权限设置。在早期哈,SMB运行于NBT协议(NetBIOS over TCP/IP)上,使用UDP协议的137、138及TCP协议的139端口,后期SMB经过开发,可以直接运行于TCP/IP协议上,没有额外的NBT层,使用TCP协议的445端口。

Samba工作流程:

———(1)———>          ———-(2)—->smb.conf主配置文件

[客户端]                              [Samba服务器]

——– (4)———->            ———-(3)———->日志文件

(1)客户端请求访问Samba服务器上的Share共享目录。

(2) Samba服务器接收到请求后,会查询主配置文件smb.conf,查看是否共享Share目录,如果共享了这个目录则查看客户端是否有权限访问。

(3)Samba服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都是需要我们设置。

(4)如果客户端满足访问权限设置,则允许客户端进行访问

四:samba配置


(一):主配置文件:/etc/samba/smb.conf


该配置文件288行。分为三个部分:


1、samba配置简介,主要讲解samba实现的功能


2:selinux 配置:关于linux的设置


可以根据你的需求对于selinux做不同的设置:


3、Global Settings:全局设置


(1)workgroup = WORKGROUP #workgroup名字


#server string = Samba Server Version %v #描述字段


interfaces = lo0 eth0 eth1 #侦听在那些接口上,可配置为ip,网段,接口等各种格式


hosts allow = 127. 192.168.12. 192.168.13.#访问控制


(2)五种安全级别模式:


share安全级别模式


客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。


user安全级别模式


客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。


server安全级别模式


客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。


domain安全级别模式


如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域滴。


ads安全级别模式


当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。


4:共享目录设置:用户共享目录设置


[test100]—设置共享名,随意命名


path = /test100 设置需要共享的路径


public = no   禁止匿名访问,如果允许则设置为yes


readonly = no  可以读写,如果只读则为yes


wirtable = yes 是否允许写操作,不允许为no


wirte list = RedHat3001 redhat3002 redhat3003 可写用户列表


browsable = yes 是否允许浏览


设置匿名访问


public = yes     #允许匿名访问


public = no      #禁止匿名访问


设置访问用户


valid users = 用户名


valid users = @组名


设置目录只读


readonly = yes    #只读


readonly = no     #读写


设置目录可写


writable = yes      #读写


writable = no       #只读


write list格式:


write list = 用户名


write list = @组名


如果需要做更多的配置,可以参照smb.conf文件里的选项

(二):修改完文件后,为samba生成用户,密码数据库


[root@notexample ~]# smbpasswd -a user  添加用户并设置密码


[root@notexample ~]# smbpasswd user 修改用户密码


(三)重启samba服务


service smb restart


(四):测试


smbclient -L HOSTNAME  查看samba共享的目录


smbclient //hostname/service -U user 在linux下登录samba服务器


example:smbclient //notexample/FTP -U RedHat3001


passwd:


mount -t cifs //notexample/FTP -o user=user,passwd=passwd 挂载samba共享的目录,可以利用autofs自动挂载


(一):主配置文件:/etc/samba/smb.conf


该配置文件288行。分为三个部分:


1、samba配置简介,主要讲解samba实现的功能


2:selinux 配置:关于linux的设置


可以根据你的需求对于selinux做不同的设置:


3、Global Settings:全局设置


(1)workgroup = WORKGROUP #workgroup名字


#server string = Samba Server Version %v #描述字段


interfaces = lo0 eth0 eth1 #侦听在那些接口上,可配置为ip,网段,接口等各种格式


hosts allow = 127. 192.168.12. 192.168.13.#访问控制


(2)五种安全级别模式:


share安全级别模式


客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。


user安全级别模式


客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。


server安全级别模式


客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。


domain安全级别模式


如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域滴。


ads安全级别模式


当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。

4:共享目录设置:用户共享目录设置


[test100]—设置共享名,随意命名


path = /test100 设置需要共享的路径


public = no   禁止匿名访问,如果允许则设置为yes


readonly = no  可以读写,如果只读则为yes


wirtable = yes 是否允许写操作,不允许为no


wirte list = RedHat3001 redhat3002 redhat3003 可写用户列表


browsable = yes 是否允许浏览


设置匿名访问


public = yes     #允许匿名访问


public = no      #禁止匿名访问


设置访问用户


valid users = 用户名


valid users = @组名


设置目录只读


readonly = yes    #只读


readonly = no     #读写


设置目录可写


writable = yes      #读写


writable = no       #只读


write list格式:


write list = 用户名


write list = @组名


如果需要做更多的配置,可以参照smb.conf文件里的选项


(二):修改完文件后,为samba生成用户,密码数据库


[root@notexample ~]# smbpasswd -a user  添加用户并设置密码


[root@notexample ~]# smbpasswd user 修改用户密码


(三)重启samba服务


service smb restart


(四):测试


smbclient -L HOSTNAME  查看samba共享的目录


smbclient //hostname/service -U user 在linux下登录samba服务器


example:smbclient //notexample/FTP -U redhat3001


passwd:


mount -t cifs //notexample/FTP -o user=user,passwd=passwd 挂载samba共享的目录,可以利用autofs自动挂载。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux基础知识之Samba配置
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏