官网
DOC

1、下载samba服务。

yum install samba

2、打开samba服务

systemctl start smb

3、查看smb状态


systemctl status smb

4、设置开机自启

systemctl  enable smb

5、查看smb的监听端口是否打开(前者开启139和445的TCP端口):

netstat -anlpt |grep smb

6、添加到防火墙白名单放行并重载防火墙:

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
# 关闭防火墙
systemctl disable firewalld

确保SELinux关闭,可以用setenforce 0命令执行。
默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce 修改SELinux的实时运行模式

setenforce 1 设置SELinux 成为enforcing模式

setenforce 0 设置SELinux 成为permissive模式

如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数

  /usr/bin/setstatus -v  

7、直接把root用户加入到Samba服务的用户列表中并给一个密码(该密码可以与系统root密码不一样):

smbpasswd -a root

8、通过命令检查Samba用户是否添加成功:

pdbedit -L

9、配置Samba服务参数文件:vim /etc/samba/smb.conf

[global]
	 #workgroup = SAMBA
	 # 工作组,要设置成跟 Windows 的工作组一致
     workgroup = WORKGROUP
     ...
[public]
     security = share
     comment = windows shared
     # 共享文件的路径
     path = /root/share
     public = yes
     writeable = yes
     browseable = yes
     #guest ok = yes

v4 版本常用配置参考:

[share]                                          # 自定义共享名
      comment = Home Directories                 # 描述符,是给系统管理员看的
      path = /home/kevin                         # 共享的路径
      public = yes                               # 是否公开,也就是是否能在网上邻居看到该共享
      browseable = yes                           # 共享的目录是否让所有人可见
      writable = yes                             # 是否可写
      guest ok = no                              # 是否拒绝匿名访问,仅当安全级别为 share 时才生效
      workgroup = WORKGROUP                      # 工作组,要设置成跟 Windows 的工作组一致
      server string = Samba Server Version %v    # 其他 Linux 主机查看共享时的提示符
      netbios name = MYSERVER                    # 用于在 Windows 网上邻居上显示的主机名
      hosts allow = 127. 192.168.12. 192.168.13. EXCEPT 192.168.13.13       # 指定允许访问 samba 服务器的主机    
      security = share                           # 定义安全级别
      log file = /var/log/samba/log.%m           # 定义日志文件,每个访问的主机会产生独立的日志文件,%m 是客户端主机名
      max log size = 50                          # 定义单个日志的最大容量(KB)
      passdb backend = tdbsam                    # Samba 用户的存储方式,smbpasswd 表示明文存储,tdbsam 表示密文存储
      deadtime = 10                              # 客户端在10分钟内没有打开任何 Samba 资源,服务器将自动关闭会话,在大量的并发访问环境中,这样的设置可以提高服务器性能
      display charset = UTF8                     # 设置显示的字符集
      max connections = 0                        # 设置最大连接数,0表示无限制,如果超过最大连接数则拒绝连接
      guest account = nobody                     # 设置匿名账户为nobody
      load printers = yes                        # 是否在启动 Samba 时就共享打印机    
      cups options = raw                         # 设置打印机使用的方式
      valid users = user1 user2    user3         # 指定哪些用户可以访问,如果不指定则所有用户都可访问
      invalid users = user1 user2                # 指定哪些用户不可以访问
      create mask = 0775                         # 客户端上传文件的默认权限
      directory mask = 0775                      # 客户端创建目录的默认权限
      write list = user1 user2 user3             # 设置可对文件进行写操作的用户
      admin users = user1                        # 设置共享目录的管理员,具有完全权限

10、重启smb服务:

systemctl restart smb

11、创建window上的磁盘映射,实现文件共享

计算机->映射网络驱动器

在这里插入图片描述

也可以
win + r 输入:

\\ip地址\share  # share 即public
Logo

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

更多推荐