标签:文件共享之Samba
1.Samba基础知识: Tridgwell在91年时为解决Linux与window之间文件共享服务,开发出SMB协议与Samba服务程序。
smb:Service message block消息服务块;
CIFS:commom Internet file system,通用网络文件系统;
Samba功能:文件共享、打印机共享、NetBIOS协议(Windows基于主机实现互相通信机制,15个字符);
2.Samba服务:
2.1服务端程序包:通过yum install -y samba;nmbd提供netbios name service ;smbd提供cifs共享;
systemd unit file: nmbd→nmb.service
smbd→amb.service
客户端程序包:Samba-client
smbclient 命令交互工具;
mount -t cifs 实现本地挂载方式;
2.2启动服务:systemctl start nmb.service
systemctl start nmb.service
检查监听端口:netsate -utnlp
如图:
2.3Samba配置文件:man smb.conf
/etc/samba/smb.conf /etc/samba/sam.conf.example
配置段:全局配置[global]、共享配置段[共享资源名称]
2.3.1全局配置
workgroup=MYGROUP; #当前Samba主页所属工作组
netbios name = : #当前主机netbios名称
server string = :#主机注释
display chaset = :#当前Samba主机服务使用字符集
unix chaset = : #当前Linux主机所用的字符集
dos chaset = : #windos系统字符集
log file = /var/log/samba/log.%m #定义日志文件存放位置和命名,%m客户端hostname命名
max log size =50 :#定义日志文件最大容量50KB
security = user #设定安全级别为user机制
安全级别有以下3种:
share:匿名共享,安全性差
user:使用Samba服务自我管理的账号密码对用户进行验证;用户需为系统用户;
密码为访问Samba服务设定的密码。
domain:使用DC进行用户认证
passdb backen = tdbsam #密码库文件格式
2.32共享配置:
[共享名称]定义某共享服务名
comment =:#注释信息
path =:#定义共享文件路径
browserable =:#是否可浏览,是否可被所有用户看到
writeable =:是否可写
read only =:是否为只读
write list =:可以写操作的用户列表 :"用户名"、"@组名"或者"+组名"
public =:是否公开服务
guest OK =:是否允许来宾,与public类似
注:writable与write list不可同时启用;
2.4检查配置文件语法:
testparm /etc/samba/smb.conf
3.管理Samba用户工具
smbpasswd [option] username
-a:add user
-x:delete user
-d:禁用
-e:启用
pdbedit [option]
-L:列出所有用户
-v:verbose
-a:add user
-u username
-x:delete user -u username
-r:修改用户信息
smbstatus:显示Samba server的相关共享访问状态
-b:简要信息
-v:verbose
4.访问Samba共享:访问UNC路径://server/shared_name
Linux:
smbclinet:交互式命令客户端
mount -t cifs:挂载文件系统
window:\\HOST OR IP\SHARED_DIR
4.1交互式数据访问:
smbclient -L HOST -U USERNAME #获取到共享信息
smbclint //server/shared_name [-U username] [-p passwd]
4.2基于挂载的方式访问:
mount -t cifs //SERVER/shared_name /mount_point -o username=USERNAME,password=PASSWORD
密码可以交互式输入:
5.安全共享文件实现
使用Samba安全机制user模式下实现centos7之间以及win7之间文件共享:
创建一个共享data,路径为/ftp/data,要求仅centos和gentoo能上传文件, 此路径对其他用户不可见:
5.1设置配置文件的安全机制为user
5.2创建共享文件
5.3创建用户并授权
useradd centos
setfacl -m u:centos:rwx /ftp/data
添加用户至Samba服务
5.4实现文件共享
5.4.1linux主机访问正常,上传下文件正常
5.4.2Linux与win7之间,首先要确保能够互相通信、iptables以及selinux关闭状态:
在Windows资源管理中:\\192.168.1.111便切换至认证界面 :输入Samba认证的用户和密码即可登录:
共享文件的家目录:
5.4.3在本地win编辑centos.txt上传至centos家目录,在Linux客户端查看并上传至共享文件data中:
在Linux本地查看:
Linux上传centos.txt至/ftp/data,window访问正常。
标签:文件共享之Samba
原文地址:http://blog.51cto.com/12580678/2128999