Samba共享常见的集中配置

配置SMB共享

SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block) 协议,这个协议被用于Lan Manager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。

简言之,SMB实现了Windows和Linux系统计算机之间的文件共享。

Samba服务基础

– 用途:为客户机提供共享使用的文件夹

– 协议:SMB(TCP 139)、CIFS(TCP 445)

  • 所需软件包:samba

  • 系统服务:smb

管理共享账号

  • Samba用户 —— 专用来访问共享文件夹的用户

– 采用独立设置的密码

– 但需要提前建立同名的系统用户(可以不设密码)

使用 pdbedit 管理工具

– 添加用户:pdbedit -a 用户名

– 查询用户:pdbedit -L [用户名]

– 删除用户:pdbedit -x 用户名

修改配置文件:/etc/samba/smb.conf

  123行 security = user #决定验证方式,用户名密码验证

  #为share方式,不需要用户名密码验证

  • 修改 /etc/samba/smb.conf

  [自定共享名]

  path = 文件夹绝对路径

  ; public = no|yes //默认no

  ; browseable = yes|no //默认yes

  ; read only = yes|no //默认yes

  ; write list = 用户1 .. .. //默认无

  ; valid users = 用户1 .. .. //默认任何用户

  ; hosts allow = 客户机地址 .. ..

  ; hosts deny = 客户机地址 .. ..

一、搭建基本Samba共享

虚拟机A:

1.安装samba软件包

2.创建Samba共享帐号

# useradd -s /sbin/nologin harry

# useradd -s /sbin/nologin kenji

# useradd -s /sbin/nologin chihiro

# pdbedit -a harry #添加Samba共享帐号

# pdbedit -a kenji

# pdbedit -a chihiro

# pdbedit -L #列出所有的共享帐号

3.修改 /etc/samba/smb.conf

  89行 workgroup = STAFF

  文件的最后写入:

  [common]

  path = /common

# mkdir /common

# echo 123 > /common/test01.txt

# systemctl restart smb

虚拟机B:

# yum -y install samba-client

# smbclient -L 172.25.0.11 #列出那些共享

# smbclient -U harry //172.25.0.11/common

客户端访问服务端资源,影响的方面:

1.服务访问控制

2.本地权限访问控制

3.SELinux

4. 防火墙

功能限制SELinux,布尔值 开启(on)或关闭(off)

getsebool 查看 SELinux 开关

# getsebool -a | grep samba_export

  samba_export_all_ro --> off

  samba_export_all_rw --> off //是否允许可读写共享

setsebool 控制 SELinux 开关

– 需要加 -P 选项才能实现永久设置

# setsebool -P samba_export_all_rw=on

开机永久的挂载samba共享

# vim /etc/fstab

  /192.168.1.23/devops /mnt/dev cifs defaults,user=chihiro,pass=123,_netdev 0 0

# umount /mnt/dev

# mount -a

# ls /mnt/dev

# df -h

多用户的Samba共享

• mount.cifs 的挂载参数

– multiuser,提供对客户端多个用户身份的区分支持

– sec=ntlmssp,提供NT局域网管理安全支持

• 使用 cifscreds 提交新的用户凭据并测试

– cifscreds add|update -u 共享用户名 服务器地址

# vim /etc/fstab

  /192.168.1.23/devops /mnt/dev cifs defaults,user=harry,pass=123,_netdev,multiuser,sec=ntlmssp 0 0

# umount /mnt/dev

# mount -a

# su - student

$ touch /mnt/dev/stu.txt

$ cifscreds add -u chihiro 192.168.1.23

  Password: //提交共享密码

$ touch /mnt/dev/stu.txt

推荐阅读:

如何用Rysnc实现数据同步?

【基础必备】RAID阵列分类和进程管理常用指令

容易忘的Linux基础小工具(附vim编辑技巧)

<简述>Linux配置web服务器

Linux系统磁盘分区及创建逻辑分区与扩展入门教程

【技术帖】LDAP网络用户的实现

Linux文件权限的更改:理解第一,命令次之

【Linux环境下】绝对要掌握的创建/查看指令

【Linux】不得不了解的软件包管理与安装指令

原文发布于微信公众号 - 吴柯的运维笔记(wukeyy18s)

原文发表时间:2017-08-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏网络

web调试工具——Fiddler使用介绍(二)

一、Fiddler断点设置 设置断点是Fiddler最强大的功能之一,在设置好断点后,Fiddler会捕捉所有经过的消息,我们可以任意修改HTTP请求信息,包括...

19190
来自专栏互扯程序

跨域请求方案 终极版

现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享。

42130

在Linode上部署React应用程序

React是一个用于构建用户界面的流行JavaScript库。虽然React经常被用作更复杂应用程序的前端,但它也足够强大,可以单独用于完整的客户端应用程序。

21940
来自专栏黑泽君的专栏

day60_BOS项目_12

13420
来自专栏黑泽君的专栏

解决:Setting property 'source' to 'org.eclipse.jst.jee.server 的问题

  警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.ecli...

10220
来自专栏owent

关于firewalld和systemd的一些命令速记

CentOS 7 已经用firewalld替换掉了iptables并用systemd来管理启动服务(之前是chkconfig)。而且下一个Ubuntu的长期支持...

9540
来自专栏向治洪

ios入门之项目结构介绍

对于刚入门的ios程序猿来说,掌握Xcode开发工具及程序项目是非常必要的,掌握这些基本的内容对于我们后期开发,调试也是很有帮助的。 首先,创建一个 Xcode...

26460
来自专栏后端云

OpenStack实践SR-IOV计算节点

SR-IOV 使一个单一的功能单元(比如,一个以太网端口)能看起来像多个独立的物理设备,即支持SR-IOV 功能的物理设备能被配置为多个功能单元。

23140
来自专栏晓晨的专栏

Jenkins 集群搭建

Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构...

32450
来自专栏高性能服务器开发

用Visual Studio调试linux程序

用Visual Studio调试linux程序?你真的没看错,这个是真的,不是标题党。当然如果你说VS2015及以上版本自带的linux调试插件,那就算了。这些...

61060

扫码关注云+社区

领取腾讯云代金券