CentOS 7上安装和配置Samba

一、前提

在CentOS上装一个Samba服务,这样就可以很方便的与Windows文件共享了。

二、安装Samba

  • 直接用yum安装
yum install samba samba-client
  • 设置开机启动
systemctl start smb.service 
systemctl enable smb.service

三、设置防火墙

防火墙中默认有samba服务配置,直接添加服务就可以了。

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

四、设置Selinux

设置sebool属性,允许samba有文件读写权限

setsebool -P samba_export_all_rw=1

五、创建用户和目录

  • 首先创建/data/share目录
mkdir /data/share
  • 创建一个名为sambashare的用户组
groupadd sambashare
  • 将 /data/share目录组所有权设置为sambashare
chgrp sambashare /data/share
  • 创建用户

创建一个samba访问的用户guoke

useradd -M -d /data/share -s /usr/sbin/nologin -G sambashare guoke
  • -M-不创建用户的主目录。

  • -d /data/share-将用户的主目录设置为/data/share。

  • -s /usr/sbin/nologin -禁止该用户访问shell。

  • -G sambashare -将用户添加到sambashare组。

  • 设置目录权限

chown guoke:sambashare /data/share
chmod 2770 /data/share

六、添加Samba用户

  • 将系统用户guoke添加到Samba数据库,这里候要输入samba访问的密码
smbpasswd -a guoke

七、配置Samba共享

打开Samba配置文件添加共享目录

vim /etc/samba/smb.conf

[share]
    path = /data/share
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare guoke
  • [share]-登录时将使用的共享名称。 此时可以用\\ip\share访问/data/share目录
  • path -分享的途径。
  • browseable -是否应在可用共享列表中列出该共享。设置为no,其他用户将看不到共享。
  • read only -valid users列表中指定的用户是否能够写入此共享。
  • force create mode -设置此共享中新创建文件的权限。
  • force directory mode -设置此共享中新创建目录的权限。
  • valid users -允许访问共享的用户和组的列表。组以@符号为前缀。

配置完成后重启服务

systemctl restart smb.service
systemctl restart nmb.service

八、测试

在windows中运行栏直接输入 \\ip\share就会弹出输入账号密码框,输入guoke和设定的密码就可以访问了。

0%