一、什么是samba

  samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择,当然在Linux系统与Linux系统之间的文件共享也选择samba。

二、安装samba

  我使用的是centos8,直接用yum安装

yum install samba

三、配置smb.conf

  smb.conf是服务端的配置文件,刚安装的就自带smb.conf文件,里面有很多注释的行,但实际工作是用不了,所以把自带的文件备份一个,复制一个简洁的主配置文件,自己使用。

mv /etc/samba/smb.conf /etc/samba/smb_bak.conf
cat /etc/samba/smb_bak.conf | grep -v "#"  | grep -v ";" > /etc/samba/smb.conf

vim  /etc/samba/smb.conf 编辑smb.conf文件,删除homes、printers、print$三项配置,实际工作用不了,然后再后面加上你的共享文件配置,最后内容如下:

[global]
        workgroup = SAMBA           #设定 Samba Server 所要加入的工作组或者域。
        security = user             #设置用户访问Samba Server的验证方式,一共有四种验证方式
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
[myshare]
        comment = share myshare      #这个是共享文件的描述
        path = /data/share           #设置共享文件夹的路径
        public = no                  #设置是否允许匿名访问
        writable = yes
        browseable = yes
        create mask = 0755
        directory mask = 0755

四、创建samba登录用户

  这个用户可以直接用Linux用户,但密码也需要设置,这里新建一个samba专用用户

useradd test_smb
smbpasswd -a test_smb  #然后输入两次密码就可

五、创建共享路径

如果之前有也行

mkdir -p /data/share
cd /data
chmod -R 775 share
chown -R test_smb:test_smb share

六、Windows下访问共享文件

  在Windows资源管理器地址上输入 \\+ip(比如我的samba服务器IP地址是192.168.1.1,则输入\\192.168.1.1),登陆samba服务

        可以把这个文件映射为一个盘符,选中myshare,点击右键,选中映射网络驱动器

七、Windows下访问共享文件但查看不看内容

  但是还是进不去的话,在linux上执行,关闭SELIUNX

关闭SELIUNX

getenforce   #查看当前状态

setenforce 0 #关闭



SELINUX几种状态表示:

enforcing:强制模式,代表 SELinux 运行中,且已经正确的开始限制 domain/type 了;
permissive:宽容模式:代表 SELinux 运行中,不过仅会有警告信息并不会实际限制 domain/type 的存取。这种模式可以运来作为 SELinux 的 debug 之用;
disabled:关闭,SELinux 并没有实际运行。

八、修改Samba密码后windows无法登录

windows 键 + r  后输入 cmd  后执行以下语句

C:\Users\test>net use
不记录新的网络连接。


状态       本地        远程                      网络

-------------------------------------------------------------------------------
OK           Z:        \\192.11.10.172\myshare        Microsoft Windows Network
OK                     \\192.11.10.172\myshare        Microsoft Windows Network
OK                     \\192.11.10.172\IPC$           Microsoft Windows Network
命令成功完成。


C:\Users\test>net use * /del /y
你有以下的远程连接:

     Z:        \\192.11.10.172\myshare       
               \\192.11.10.172\myshare        
               \\192.11.10.172\IPC$          
继续运行会取消连接。

命令成功完成。

九、Linux下查看共享文件

[root@cs172 upgrade]# smbclient //192.11.10.172/myshare
Enter SAMBA\test_myshare's password:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Thu Mar  3 15:44:06 2022
  ..                                  D        0  Thu Mar  3 15:43:47 2022
  test                                D        0  Fri Mar  4 09:46:58 2022

                336555460 blocks of size 1024. 317535764 blocks available
smb: \>

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐