Centos7.3搭建Samba服务器

1. 安装Samba

$ yum install samba samba-client samba-common 

2. 启动Samba服务

  • 查看Samba服务运行状态
$ systemctl status smb.service

此时Samba状态显示为"disable",接下来我们启动Samba服务。

  • 启动Samba
$ systemctl start smb.service
  • 设置开机启动Samba
$ systemctl enable smb.service

再次用命令查看Samba服务状态,应该显示为"running"了,但是现在还不能马上使用Samba共享文件,在此之前还需要进行一些设置,具体看下文详细描述。

3. 开放指定端口或者关闭防火墙

Centos7.3默认开启了防火墙,如果要访问Samba服务器,必须开放指定端口或者关闭防火墙,使用哪种方式取决于网络环境:如果仅仅是内网使用,则可以简单粗暴地关闭防火墙;如果服务器还连接了外网,建议还是开放Samba服务所需的指定端口。下面是这两种方式的详细命令:

3.1 关闭防火墙

$ systemctl stop firwwalld.service
$ systemctl disable firwwalld.service

3.2 开放Samba服务端口

  • 将Samba服务的端口加入防火墙“白名单”
$ firewall-cmd --permanent --add-service=samba
$ firewall-cmd --reload
  • 查看防火墙“白名单”列表,确认Samba服务已被添加
$ firewall-cmd --list-services

4. 关闭SELinux

很多人发现在Centos7.3上搞定一切Samba所需配置后,还是无法访问Samba共享文件夹,罪魁祸首就是SELinux了!
SELinux是NASA搞出来的玩意,对权限管理极为严格,而配置又极其复杂,对大多数人而言都是鸡肋,索性禁用了之,下面给出了具体步骤:

  • 关闭SELinux
setenforce 0
  • 禁止SElinux开机启动
    修改配置文件/etc/selinux/config,将SELINUX值改为disabled
...
#SELINUX=enforcing
SELINUX=disabled
...

5. 为Samba服务添加用户

注意,用户名必须存在于系统用户列表中!
可以使用之前已经存在的用户;为了方便权限管理,也可以新建一个“smb”用户。这里我们以root用户为例:

$ smbpasswd -a root

执行上述命令后,按照提示输入密码(可以不和系统密码相同),设置完成后,这组用户名与密码就是我们访问Samba服务时要输入的登录信息。

6. 修改Samba配置文件

Samba服务的配置文件路径为:/etc/samba/smb.conf,我们需要在这个文件中修改相关配置来设置共享文件夹。例如要共享/mnt目录,则在文件末尾增加如下配置:

...
[my share]
    #共享文件夹路径
    path = /mnt
    #网络上是否可见
    browseable = yes
    #写入权限控制
    writable = yes
    #是否支持宾客访问模式
    guest ok = yes

修改完成后,可以运行如下命令测试是否配置正确:

$ testparm

如果有报错信息,说明配置文件有些地方配置错误了,需要返回修改,否则Samba服务无法运行。

确认配置无误后,重启Samba服务以使修改过的配置生效:

$ systemctl restart smb.service

7. 访问Samba共享文件夹

7.1 从Windows访问Samba

在文件管理器的地址栏或“运行”窗口输入IP地址,即可访问Samba共享文件夹,输入格式为:双斜杠+IP地址,举例如下:

\\192.168.0.101

7.2 从Linux访问Samba

  • UI界面
    以Ubuntu为例,在文件资源管理器中侧栏选择“Connect to Server”输入:
smb://192.168.2.106
  • 命令行
    将Samba共享文件夹挂载至本地:
$ mount -t cifs -o username=root,password=123456 //192.168.0.101 /mnt/

你可能感兴趣的:(Centos7.3搭建Samba服务器)