SMB文件共享

SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议。SMB 是在会话层(session layer)和表示层(presentation layer)以及小部分应用层(application layer)的协议。

SMB使用了NetBIOS的应用程序接口 (Application Program Interface,简称API)。另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为 CIFS(Common Internet File System),并且加入了许多新的特色。

SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445

运行环境:

主机:       ip 172.25.254.1    172.25.1.250        [root@foundation1 ~]#

虚拟机:    (服务器端): ip  172.25.1.1                  [root@server1 ~]#

(客户端):  ip  172.25.1.2                 [root@server1 ~]#

Samba 服务的组成部分
Samba的支持文件:Samba-common
客户端应用程序:Samba-client
服务器应用程序:Samba
服务名称:smb nmb
主配置文件:/etc/samba/smb.conf

服务器端:

[root@server1 ~]# systemctl start smb           //开启smb服务
[root@server1 ~]# systemctl enable smb       //设置smb为开机自启
[root@server1 ~]# systemctl stop firewalld     //关闭防火墙
[root@server1 ~]# systemctl disable firewalld       //设置防火墙为开机不自启

[root@server1 ~]# netstat -antlp | grep smb          //查看smb的服务端口,进行共享所用的端口是 139 和 445

samba用户及密码的设置
// 因这里没有Samba密码服务器,所以必须在本地计算机上创建身份验证数据。

使用smbpasswd创建samba账户和密码
//smb用户必须是本地已经存在的用户

添加 smb 用户

smb 用户必须是本地用户
添加用户 student,westos

  1. smbpasswd 常用参数
    -a username: 添加用户为 samba 用户
    -d username:禁用 samba 用户 username
    -e username: 启用 samba 用户 username
    -x username: 删除 samba 用户 username

  2. pdbedit 常用参数
    –a username:新建 Samba 账户。
    –x username:删除 Samba 账户。
    –L:列出 Samba 用户列表,读取 passdb.tdb 数据库文件。
    –Lv:列出 Samba 用户列表的详细信息。
    –c “[D]” –u username:暂停该 Samba 用户的账号。
    –c “[]” –u username:恢复该 Samba 用户的账号。

[root@server1 ~]# useradd westos
[root@server1 ~]# id westos
uid=1001(westos) gid=1001(westos) groups=1001(westos)

[root@server1 ~]# id student
uid=1000(student) gid=1000(student) groups=1000(student)

[root@server1 ~]# smbpasswd -a student         //给samba添加用户student,并设置密码,为方便记忆,我在这里设置密码为redhat

[root@server1 ~]# smbpasswd -a westos          //同样,添加用户westos并设置密码,这里设置为redhat

[root@server1 ~]# pdbedit -L            //查看samba用户有哪些

[root@server1 ~]# pdbedit -x westos          //删除samba用户
[root@server1 ~]# pdbedit -L        //再次查看时只有一个用户
student:1000:
[root@server1 ~]# smbpasswd -a westos           再次添加,添加成功

客户端:

[root@server2 ~]# yum install -y samba-client         //下载所需服务

[root@server2 ~]# smbclient -L //172.25.1.1           //列出服务器端samba服务的文件系统 ,,,这里输密码时直接回车就好,因为这里没有具体指定用户

[root@server2 ~]# smbclient  //172.25.1.1/student -U student            //指定用户student登陆文件系统

//此时用ls命令访问的话可能出现被拒的现象,可能原因为: selinux 拒绝访问

smbclient(选项)(参数)
                       -L:显示服务器端所分享出来的所有资源
                       -U <用户名称>:指定用户名称

服务器端:

[root@server1 ~]# getsebool -a | grep samba            //查看布尔值允许本地目录作为 cifs 文件共享的相关主目录

其中:

samba_enable_home_dirs               //布尔值允许本地Linux主目录作为CIFS文件共享导出至其他系统
use_samba_ home_dirs                   //布尔值允许挂载远程CIFS文件共享并将其用作本地Linux主目录
samba_share_t                                  //smb共目录的selinux安全上下文
samba_export_all _ro 和 samba_export_all_rw           //共享系统目录时要打开

[root@server1 ~]# setsebool -P samba_enable_home_dirs on
此时,客户端访问就不会再被拒了

客户端:

[root@server2 ~]# smbclient //172.25.1.1/student -U student             //ls可以正常访问

smb挂载

1、文件的上传:

只能上传当前所在目录下的文件,上传的文件在服务端的 student 用户的家目录

客户端:

首先找到客户端所需上传的文件所在目录,并切换到相应目录,再进行登陆;例:上传目录为/etc,上传文件为 /etc/passwd

[root@server2 ~]# cd /etc

[root@server2 etc]# smbclient //172.25.1.1/student -U student         //输入之前设置的密码

smb: \> !ls               //   !ls  即可列出本地文件及目录

......    //前面太多故省略

hosts.allow         profile.d           yum.conf
hosts.deny         protocols           yum.repos.d
httpd             python
idmapd.conf         qemu-ga

smb: \> put passwd         //上传文件passwd成功

服务器端:

在服务器端查看,客户端已将文件上传至服务器端 的用户家目录内

[root@server1 ~]# cd /home/student/

[root@server1 student]# ls

//这种登陆方式登陆,不能执行新建文件、目录等操作///

2、临时挂载(手动挂载)

客户端:

[root@server2 etc]# mount //172.25.1.1/student /mnt/ -o username=student,password=redhat         //挂载成功

这样服务器端的用户家目录就挂载到了客户端的/mnt下面去

客户端执行

[root@server2 mnt]# touch file{1..5}                  //这种方式可以新建/删除目录、文件等
[root@server2 mnt]# ls
file1  file2  file3  file4  file5  passwd

[root@server2 mnt]# cd ..
[root@server2 /]# umount /mnt/          //取消挂载

此时,服务器端:

3、永久挂载(只需挂在一次)

方式一:如果服务没开,会影响系统启动,易损坏系统

客户端

[root@server2 /]# vim /etc/fstab

//172.25.1.1/student /mnt cifs defaults,username=student,password=redhat 0 0

[root@server2 /]# mount -a               //df查看是否挂载成功

方式二:在所有服务启动后,初始化的时候开始执行,因此不会影响系统启动(推荐使用)

前提是将第一种方法注释或者删除 :

1.    编辑/etc/fstab         //删掉刚加上的行

2.   [root@server2 /]# umount /mnt/        //取消挂载

3.    [root@server2 /]# df          //查看是否还挂载,确保不再挂载

客户端

[root@server2 /]# vim /etc/rc.d/rc.local

mount //172.25.2.1/student /mnt -o username=student,password=redhat

[root@server2 /]# chmod +x /etc/rc.d/rc.local           //给予执行权限

[root@server2 /]# reboot

[root@server2 /]# df             //查看,此时挂载成功

//172.25.1.1/student   17811456 1229488  16581968   7% /mnt

cifs------网络文件系统(1)相关推荐

  1. 【unit7 unit9】cifs网络文件系统访问;vsftp服务

    ****************************** ******7.访问网络文件系统********* ****************************** ****cifs网络文件 ...

  2. cifs网络文件系统

    搭建实验环境:创建两台虚拟机,确保两台虚拟机的网络互通,给虚拟机1添加大小为10G的硬盘,在虚拟机2中安装samba-client, 1.samba服务简介 smb = Server Message ...

  3. 《Linux菜鸟入门2》访问网络文件系统

    1.cifs网络文件系统访问 1.安装共享访问客户端 yum install samba-client -y 2.识别共享服务器共享目录 smbclient -L //172.25.254.253 3 ...

  4. CIFS(通用网络文件系统)

    一,smb服务概述 CIFS(通用网络文件系统)也称为SMB(服务器消息块),是一种网络协议,最常见的用途是共享局域网的文件.允许客户端对文件进行操作. samba服务程序:为了解决linux系统与w ...

  5. 网络文件系统访问与ftp服务

    [**cifs网路文件系统访问**] 1.安装共享访问客户端 yum install sssd krb5-workstation.x86_64 -y 2.识别共享服务器共享目录 smbclient - ...

  6. NFS(网络文件系统)简介及搭建

    NFS简介及搭建 网络文件系统 定义 演化 特点 工作原理 网络文件系统架构 网络文件系统协议 网络文件系统中的创新 网络文件系统的替代物 部署NFS 实验环境 安装nfs.rpcbind服务 在no ...

  7. samba,nfs,iscsi网络文件系统

    目录 一.samba服务介绍 二.windows系统下实现文件共享 二.Linux中用samba服务实现文件共享 1.samba 的安装与启用 1. 添加samba用户(samba用户必须是本地用户) ...

  8. Linux自动挂载网络文件系统

    一.NFS NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器.操作系统以及低层传送协议无关的存取远程文件的操作. yum -y install nfs ...

  9. SMB小传 —— SMB网络文件系统协议介绍

    SMB网络文件系统协议, 全名服务器消息块(Server Message Block),曾用名CIFS(通用互联网文件系统 Common Internet File System), 公元1983年诞 ...

  10. Samba服务器访问CIFS网络共享文件

    Samba服务器访问CIFS网络共享文件 一.基础信息 用Internet文件系统CIFS(Common Internet File System)也称为服务器信是适用于MicrosoftWindow ...

最新文章

  1. python第二十九课——文件读写(复制文件)
  2. Linux系统上用Sigil创建和编辑 EPUB 文件
  3. Flutter切换tab后保留tab状态
  4. 高并发高流量网站架构详解--转载
  5. 用计算机算出陈赫手机号码,陈赫手机号码遭《快本》曝光,并被网友打到关机!还有人搜到了他的支付宝账户......
  6. HTML5 Canvas save 保存恢复状态
  7. 快点来白嫖!黑马培训java多长时间
  8. linux中OpenVas 漏洞扫描软件
  9. Atitit.web ui  组件化 vs  mvc
  10. c++ socket线程池_Netty(3)——Reactor线程模型
  11. 《小功能》python实现文本中的小写数字转大写
  12. html如何转换为opml,使用并解析 OPML 格式的订阅列表来转移自己的 RSS 订阅(解析篇)...
  13. python list[::2]两个分号代表什么意思
  14. SitePoint播客#23:Jeff Veen的网络字体
  15. 南阳oj 28 大数阶乘
  16. C++ WA, 超时,爆栈错误总结
  17. 手动搭建webase(3)——WeBASE管理平台
  18. 互联网信息服务安全评估报告
  19. Unity自由涂鸦轨迹检测(VR)
  20. matlab设计滤波器的工具箱,matlab工具箱设计滤波器

热门文章

  1. 小程序内容审核违规过滤,在小程序使用security.msgSecCheck
  2. PHP TP5入门 二:写接口,添加控制器并访问
  3. Scrum Meeting 博客汇总
  4. docker容器网络 - 同一个host下的容器间通信
  5. Volume是如何工作的
  6. 记录在Spring-Boot中使用Fegin调用RESTfull的PATCH方法设置
  7. 同时使用多网卡提升树莓派网络利用率
  8. PHP开发框架之YII框架学习——碾压ThinkPHP不是梦
  9. linux下的文件和文件夹的权限问题
  10. Oracle官方教程之Fork/Join