Samba共享服务器

1.samba应用 SMB(server Message Block 服务消息块)/CIFS(common Internet File System 通用互联网文件系统 ) 网络协议来实现的。SMB用于linux,CIFS用于 windows。

2.smbd:为客户机提供服务器中共享资源的访问。 nmbd:提供基于NetBIOS主机名称的解析,为windows网络中的主机进行名称解析

3.【global】 全局设置,这部分配置项的内容对整个samba服务器有效。
  【homes】 用户目录共享设置,设置对应的Samba用户宿主目录的默认共享,即当用户访问服务器与自己用户同名的共享文件夹时,默认映射到自己的            宿主目录。
  【printers】 打印机共享设置

4. smbd服务程序监听TCP协议的139(SMB)、445(CIFS),nmbd服务程序监听UDP协议的137-138(NetBIOS)。

*************************************************

/etc/samba/smb.conf   配置文档

workgroup = MYGROUP     设置Samba 服务器所属的群组名称或windows的域名。
server string = samba server version %v     设置Samba服务器的简要说明 
hosts allow = 127. 192.168.12.  192.168.13.     设置可访问的Samba服务器的主机、子网或域。

security = user(由本服务器验证用户名及密码访问)、share(可匿名访问)、server(由另一台服务器验证用户及密码访问)、domain(由windows                 域控制器验证用户及密码访问。)
log file = /var/log/samba/log   设置samba服务器的日志文件,默认设置为"var/log/samba/log.%m"表示日志文件保存到"/var/log/samba"目录中,
           '%m' 变量表示客户端主机名或IP地址。
max log size = 50  设置日志文件的最大容量,默50KB。

[public]   目录共享后的名字
comment = public stuff  设置共享描述
path = /home/samba  设置共享路径为'home/samba'
public = yes   可以匿名共享访问
writable = yes 所有用户具有写权限
printables = yes  打印共享权限
write list =   user   设置那些用户或组可以写入共享目录中
browseable = yes 具有可浏览权限
valid users = user  设置那些用户或组可以访问共享目录的数据
creat mode = 640  设置用户在目录中建立文件夹的默认权限
directory mode = 750 设置用户在目录中建立文件夹的默认权限
read only = yes  设置只读

service smb restart   重启服务

*************************************************

建立匿名访问

[role]   目录共享后的名字
comment = public stuff 
path = /mnt/role
public = yes  
writable = yes

service  smb  restart   重启服务

smbclient -L 192.168.100.1/mnt/role    查看目标主机共享资源列表

smbclient //192.168.100.1/role   linux 下直接进行访问

//192.168.100.1/role    windows 下直接进行访问

 
 
*************************************************

建立带验证的文件共享访问

security = user

[role]   目录共享后的名字
comment = public stuff 
path = /mnt/role
browseable = yes  

useradd  jack
passwd  jack
smbpasswd -a jack  添加samba用户
password:*****    为所添加的samba用户设置密码

chcon -t samba_share_t /mnt/role    更改条目
也可
getsebool -a | grep samba* 
setsebool -P  *samba_domain_home_dirs*  on  开启条目,此处条目根据需要设置并更改

service  smb  restart   重启服务

smbclient -U jack //192.168.100.1/role   带验证的用户访问
smbclient -L //192.168.100.1/role   查看可共享的文件或目录


在windows 里访问方式:在地址栏里输入'\\192.168.100.1\role' 即可访问

mkdir 123/
mount -o username=jack //192.168.100.1/role  123/  通过挂载的方式进行访问
mount -o username=jack,password=jack //192.168.100.1/role  123/
mount -a
df -Th


*************************************************
建立用户名映射       目的起到安全作用
vim /etc/samba/smbusers              默认自带的两条映射
# Unix_name = SMB_name1 SMB_name2 ......
root = adminstrator admin                当用administrator访问时,服务器映射为root用户
mobody = guest pcguest smbguest          当用guest访问时,服务器映射为nobody用户

jack=tom             此条为自己设置的条目,当用tom 访问时,服务器映射为jacke用户

配置完以上设置后
vim /etc/samba/smb.conf
username map = /etc/samba/smbusers    在[global] 全局配置中指定名称映射文件

*************************************************
给予权限问题

samba 服务器设置权限要低于文件系统权限,所共享的文件或目录的权限要与服务器配置文档的权限相对应。
writable与write list 不能同时共存。

 

特此声明,由于在下是一个刚出道的学生,以上实验是自己在VMware里搭建的服务,并且运行正常。如有问题望君能及时分享提出宝贵修改意见,以供能够学习参考,谢谢!!!

 在下QQ:641667727   maillalingshidawen@163.com