CentOS 7配置Samba文件共享

1、 安装Samba

yum install samba samba-client samba-common

2、 备份一下原始的Samba的配置文件

mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

3、 编辑Samba的配置文件

vi /etc/samba/smb.conf

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ============================== 
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = no
guest ok = yes
read only = no

:wq #保存并退出

参数说明

workgroup = WORKGROUP:设定 Samba Server 所要加入的工作组或者域。

server string = Samba Server %v:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

netbios name = centos:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。

security = user:设置用户访问Samba Server的验证方式,一共有四种验证方式。

  1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
  2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
  3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
  4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

map to guest = bad user:将所有samba系统主机所不能正确识别的用户都映射成guest用户

dns proxy = yes/no:设置Samba Server是否开启dns代理服务。

path:共享目录路径

browsable =yes/no:browseable用来指定该共享是否可以浏览。

writable = yes/no:writable用来指定该共享路径是否可写。

guest ok = yes/no:用来指定该共享是否允许guest账户访问。

read only = yes/no:用来指定共享文件是否为只读。

4、 新建共享目录并重启服务

mkdir -p /samba/anonymous
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service

现在就可以通过ip地址来访问共享的目录了,在windows运行中输入:

\\你的ip地址

安全的Samba服务器

可以先创建一个组smbgrp和用户smbuser,通过认证来访问Samba服务器。

groupadd smbgrp
useradd smbuser -G smbgrp
smbpasswd -a smbuser

# ...
# 输入你的密码

现在,在Samba的文件夹下创建一个文件夹Secret,并给出权限:

mkdir -p /samba/secret

然后编辑配置文件

vi /etc/samba/smb.conf

[...]
[secured]
 path = /samba/secret
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes

systemctl restart smb.service

systemctl restart nmb.service

参数说明

valid users = @smbgrp
valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)

invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

像下面这样测试:

testparm

然后在windows中就可以来访问了

\\你的IP地址\secret

# 输入凭据

但是此时用户smbuser还面临着写入权限的问题,现在就设置权限:

cd /samba
chown -R smbuser.smbgrp secret/

此时,smbuser有了写入权限了,搞定~

如果您觉得本文对您有用,欢迎捐赠或留言~
微信支付
支付宝

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注