Samba共享服务器linux
1.samba应用 SMB(server Message Block 服务消息块)/CIFS(common Internet File System 通用互联网文件系统 ) 网络协议来实现的。SMB用于linux,CIFS用于 windows。vim
2.smbd:为客户机提供服务器中共享资源的访问。 nmbd:提供基于NetBIOS主机名称的解析,为windows网络中的主机进行名称解析windows
3.【global】 全局设置,这部分配置项的内容对整个samba服务器有效。
【homes】 用户目录共享设置,设置对应的Samba用户宿主目录的默认共享,即当用户访问服务器与本身用户同名的共享文件夹时,默认映射到本身的 宿主目录。
【printers】 打印机共享设置安全
4. smbd服务程序监听TCP协议的139(SMB)、445(CIFS),nmbd服务程序监听UDP协议的137-138(NetBIOS)。服务器
*************************************************网络
/etc/samba/smb.conf 配置文档dom
workgroup = MYGROUP 设置Samba 服务器所属的群组名称或windows的域名。
server string = samba server version %v 设置Samba服务器的简要说明
hosts allow = 127. 192.168.12. 192.168.13. 设置可访问的Samba服务器的主机、子网或域。ide
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 设置只读rest
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