∮Linux下Samba的安装配置

§Linux 下文件共享软件

Samba 是一款实现跨主机,跨平台文件共享的软件.同类型的软件还有 ftp,nfs 不再赘述.

§文件共享协议

Windows : CIFS/SMB + NETBIOS

     Linux: CIFS/SMB + NFS

CIFS/SMB 是不同的协议,但是 完成了几乎相同的工作

     CIFS:Common Internet File System 通用互联网文件系统

     SMB: Service Message Block 服务信息块,当共享文件时,文件通过 RPC 方式实现二进制的文件传输

     NETBIOS: 实现在同一个广播组内实现 主机名称解析的协议,这也解释了为什么 windows 第一次打开 "网上邻居"时,速度极其慢.

CIFS/SMB 在 windows 下与Linux 下分别监听的端口

     Windows: 137/UDP,138/UDP,139/TCP,445/TCP cmd# netstat -an |find "445"

     Linux: 139/TCP,445/TCP # ss -tunl

以上内容深究无益,非要 记住的话,就记端口号吧

     那天我在 喜马拉雅上 听了一堂 鲍鹏山的讲座,感触良多,叫<警惕知识>,也许会写一篇感悟博客,

     来解释为啥 博客里 会 频繁出现 "深究无益" 这样的字眼...

Samba 是实现了 SMB 协议的 服务器软件.作用是跨主机,跨平台实现文件共享.

§Samba 操作

这里演示的是 Linux 提供服务 - Linux 挂载.

实现环境是 Samba客户端[1]:CentOS7 3.10.0-327.el7.x86_64,Samba服务器[2]:也是 CentOS7 3.10.0-327.el7.x86_64

Samba 是受SELinux 控制的,最好直接关掉SELinux 吧

临时关闭: 当前有效,重启无效

2# getenforce 会显示 1 或者 enabled (2# 代表 服务器端运行的 bash 命令)

2# setenforence 0  

2# getenforce 再次查看会显示 0 或者 disabled ,总之不是 enabled 就行了

永久关闭: 当前无效,重启生效

配置 /etc/selinux/config 如下



上面的操作都做一次,当前也关闭了,永久 也有效了...

1.安装Samba

     2# yum list all *samba*

     2# yum -y install samba samba-client samba-common

     2# rpm -ql samba 发现安装文件,配置文件,二进制文件的位置

2.创建 Samba用户:Samba 通过本地用户实现共享,但要将本地用户 添加到 Samba 用户.当然共享的路径的 属主,属组 也得最好是这个用户,具体权限没有深究.

     假设现在有 Linux 用户: SambaV,将 SambaV添加为Samba 用户,执行如下指令

     2# smbpasswd -a SambaV

     2# >Enter new Samba Passwd: SambaV123

3.共享路径

     实现文件共享需要编辑 samba 下配置文件 # cd /etc/samba/conf & vim (这条是伪命令,所以没有酷炫修饰,反正我是能看懂...)

      # cd /etc/samba & vim

      # 注释是 描述信息 ; 注释是 可以打开的选项

      配置文件分成两段, 全局定义 + 共享定义

      共享目录时 常用 的指令

      [share_name] 共享名

      comment = 说明信息

      path = 共享的路径

      browseable = 是否可以被看到

      public = 是否能被所有用户 读 到

      read only = 是否只读

      writeable = 是否可写

      write_list = user1,user2,... | +group 定义可写用户列表

      valid users = 白名单: 定义哪些用户可以访问

      invalid users = 黑名单

现在编辑 自己的 samba 配置文件,简单编辑,在配置文件中添加 [LinuxNote] 段,内容如下

     

4.启动服务

     2# systemctl start smb 没有消息就是好消息

     2# systemctl status smb 在 Active中 出现 running 证明启动成功

     当然可以实现 开启自动启动 samba 服务 ,运行如下命令

     2# chkconfig --level 35 smb on 其中 --level 35 是可省略的,省略就表示 全运行级别 启动

     2# chkconfig --level 35 smb off 对,也可以撤销开机自动启动

     2# chkconfig --list smb 查看 smb 在各运行级别下,自动启动的情况

5.客户端 可以挂载使用Samba 共享文件了(1# 代表 客户端端运行的 bash 命令)

     1# mount -t cifs //192.168.0.1/MyNote /mnt/MyNote -o username=SambaV

     1> Enter pwd: SambaV123

     挂载成功,这时可以像 使用本地的 文件系统一样使用了, 新创建的路径,文件,和 修改的内容,都会 事实同步到 Samba 服务器和 其他 Samba 客户端.

     当然也可以 cp 到本地的磁盘上.使用之后,手动卸载

     1# umount /mnt/MyNote

     Windows 下共享 Linux 挂载 几乎上面无异.不同的是 连 Samba 服务器端都 不用再配置了. 右键 文件夹 -- 高级 -- 共享.... 不做演示

6.客户端 实现开机自动挂载

     客户端需 修改 /etc/fstab 文件,添加一行挂载 指令,修改后的文件如下

     

     然后手动创建 /etc/samba/cred.passwd 文件,用户记录账号密码.

     1# vim /etc/samba/cred.passwd

     1> username=SambaV

     1> password=SambaV123

     1# chmod og=--- /etc/samba/cred.passwd

     1# mount -a 手动测试是否挂载成功... 以后 开机,Samba 共享文件会自动完成挂载

7.客户端 编写脚本挂载

     这里我在 共享路径下创建了一个 README.txt 文件,用来做 是否已经被挂载的 标示,脚本内容如下

     

就用热情洋溢的 Samba 舞,作为 第一篇正式博文吧... Enjoy it...

1o_Samba的更多相关文章

  1. ReadReadMe

    ∮博客说明 §标题格式说明(只在这篇文档中说明一次) 此站博客分两类 普通博客,补丁博客 普通博客标题格式为 NumberType_Title     Number: 博客编号 ,按时间编号,编号只在 ...

随机推荐

  1. Python之路,day3-Python基础

    三级菜单 menu = { '北京':{ '海淀':{ '五道口':{ 'soho':{}, '网易':{}, 'google':{} }, '中关村':{ '爱奇艺':{}, '汽车之家':{}, ...

  2. Android单元测试实践

    为什么要写单元测试 首先要介绍为什么蘑菇街支付金融这边会采用单元测试的实践.说起来比较巧,刚开始的时候,只是我一个人会写单元测试.后来老板们知道了,觉得这是件 很有价值的事情,于是就叫我负责我们组的单 ...

  3. HelloWorld[Java]

    public class HelloWorld{ public static void main(String args[]){ System.out.println("HelloWorld ...

  4. Rails 4.0 移除了 XML 参数解析器。若要使用请加入 actionpack-xml_parser

    拜读了用 Rails 搭建微信公众平台 API之后发现, params[:xml]这个办法在Rails 4里面已经被办掉了,于是就看了一下Rails 4的新特性发现XML Parameter pars ...

  5. <<软件测试实战>>读书笔记

    软件测试基础 软件的复杂度已经超越了人的理解能力 1. 虽然高抽象的层次语言,程序框架,程序库等提高了人的生产力,但是还是需要开发者深入理解细节,可以减少开发时间,但是无法减少开发者学习整个技术栈的时 ...

  6. SVN代码回滚命令之---"svn up ./ -r 版本号"---OK

    一.改动还没被提交的情况(未commit) 这种情况下,见有的人的做法是删除work copy中文件,然后重新update,恩,这种做法达到了目的,但不优雅,因为这种事没必要麻烦服务端. 其实一个命令 ...

  7. Ubuntu开启22端口

    [http://blog.csdn.net/baple/article/details/39288817] 安装OpenSSH Ubuntu缺省没有安装SSH Server,使用以下命令安装: sud ...

  8. windows平台eclipse for C++开发环境搭建

    参考: 1 blog.sina.com.cn/s/blog_75f3c1f201014l5c.html 2 MinGW官方的安装说明 一.安装并配置MinGW 1 MinGW官网(www.mingw. ...

  9. 彻底解决rman恢复碰到ora-01152错

    说说碰到这个问题的背景.使用NBU调脚本对oracle进行备份.脚本如下:RUN {ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';ALLOCATE CHANNEL ch0 ...

  10. <概要>

    虽然不知道这个博客园网站是中国还是国外,但是我倾向于中国,我是一名爱国者.我喜欢分享自己的学习经验,喜欢学习新的知识. 截止到2016年01月28日我到这个公司的第七天,在这七天里,我学习了一些东西, ...