有时候linux电脑要共享文件给windows电脑,使用samba这样就可以非常方便地在两台电脑之间共享和修改文件。

 

首先安装一下samba:

sudo yum install samba samba-client  
 
查找samba进程或端口:
ps aux |grep smbd 
查看samba是否安装:
rpm -q smb 
看看samba在哪
whereis samba 
修改samba配置文件:
    vim /etc/samba/smb.conf  

    添加如下代码:  
    [share]                       //这个share可以改成任意一个名称,windows添加映射网络驱动器时输入: \\IP地址\share
      comment = share          //这个好像是个备注,描述符,给系统管理员看的
      path = /home/test          //设置共享文件夹路径  
      browsable = yes           //共享目录是否可见
      guest ok = yes             //是否拒绝匿名访问
      writable = yes              //是否可写
编辑好之后保存,然后运行如下命令重新加载smb.conf,并重启samba;上面的配置经实测有效 
samba配置后续步骤:
1、记得在root用户模式下操作;
2、前提是检查ip是否ping通;
3、关闭防火墙 ,Linux关闭防火墙命令查询: 
  记得把selinux配置成permissive模式
  可以在 /etc/sysconfig/selinux 设置其为permissive模式
  //或者setenforce0 来关闭SELinux  这个是旧版的
      //systemctl disable firewalld   新版的是这样
4、保证修改的smb.conf文件是正确的,/etc/samba/smb.conf  使用testparm命令查看;
5、然后记得service smb restart;
6、添加samba用户,增加密码;smbpasswd -a usrname
7、windows侧添加映射网络驱动器;
 
另外注意让被共享地文件夹权限修改为可读写:
使用以下命令行修改权限为全体可读、可修改、可执行
chmod -R 777 (文件夹名)/ 
关于防火墙:
systemctl status firewalld  //查看防火墙的状态
//看到active(running)意味着防火墙打开了

systemctl stop firewalld    //关闭防火墙
//看到inactive(dead)意味着防火墙关闭了

systemctl start firewalld   //打开防火墙
//打开和关闭都是临时的,重启后又会恢复到默认的状态

systemctl disable firewalld  //永久关闭防火墙
systemctl enable firewalld   //对应的有打开防火墙

有时候重启计算机之后samba就无法启动了,

必须手动输入 service smb restart才行。但是这样比较麻烦;

可以输入 chkconfig smb on,让smb开机自启动;

===================================================

参考链接:

Windows与Linux共享文件夹互相访问
Samba共享服务的配置

https://blog.51cto.com/ludihua/1411113

Samba 在共享之后无法访问问题


添加samba用户,并设置密码

如何添加samba用户,并设置密码

Samba配置,启动失败报错:Job for smb.service failed because the control process exited with error code.

知行合一