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 mail:lalingshidawen@163.com