Linux - CentOS 7 samba创建共享文件夹

开始前请确保你有一台windows电脑和一台CentOS 7电脑,并且都可以联网。

用Xshell以“root”用户远程连接CentOS 7,进入系统命令行界面,使用“rpm -qi samba"命令查询是否已经安装了Samba,然后使用“yum install samba”命令,下载Samba包并安装。

输入“y”,确认安装软件和软件依赖包,完成安装如图

Linux - CentOS 7 samba创建共享文件夹

设置smb服务开机启动
systemctl enable smb.service 

Linux - CentOS 7 samba创建共享文件夹 

增加防火墙端口 

Samba服务会用到如下的一些端口号:

  • 137(UDP): NetBIOS名字服务
  • 138(UDP): NetBIOS数据报服务
  • 139(TCP): 文件和打印共享
  • 389(TCP): 用于LDAP
  • 445(TCP): NetBIOS服务在windows 2000及以后使用此端口
  • 901(TCP): 用于SWAT, 网页管理Samba

如果不想关闭防火墙的话, 就要在CentOS中放开Samba使用到的TCP端口号(宝塔用户可以在系统面板安全设置里面放行端口)

firewall-cmd --zone=public -add-port=139/tcp --permanent
firewall-cmd --zone=public -add-port=389/tcp --permanent
firewall-cmd --zone=public -add-port=445/tcp --permanent
firewall-cmd --zone=public -add-port=901/tcp --permanent

firewall-cmd --reload

# 查看已经放开的端口号
firewall-cmd --list-all

 当然你觉得麻烦,直接关闭防火墙也是OK的。

新建一个专门共享的系统用户,当然你不想建也是可以的,反正我建了。

执行命令 useradd share

执行命令 passwd share,输入这个用户的密码,要复杂点的,否则系统不让过。

创建共享目录

执行命令“mkdir /home/share/myshare”,在用户share文件夹下新建“myshare”共享文件夹 。

因为需要设置匿名用户可以上传下载文件, 所以需要给shares目录授予nobody权限 chown -R nobody:nobody /home/share/myshare

修改samba配置文件

执行命令:

cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

vi /etc/samba/smb.conf

Linux - CentOS 7 samba创建共享文件夹

编辑保存,检测配置文件合法性,执行命令:testparm -s /etc/samba/smb.conf 

Linux - CentOS 7 samba创建共享文件夹

重启samba服务,执行命令:systemctl restart smb.service

在Windows10上按下“win+r”键,输入"\\共享文件夹的IP地址",在看到文件夹:

Linux - CentOS 7 samba创建共享文件夹

然而坑来了,文件夹点不进去,提示没有权限。 网上说的什么修改SELinux和关闭防火墙并没什么卵用!

修改目录权限 #chmod 777 /home/share ; #chmod 777 /home/share/myshare; 特别是前面一个做为上层目录share权限也需要修改!!!!至此CentOS共享文件夹创建成功。Have Fun!