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的验证方式,一共有四种验证方式。
- share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
- user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
- server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
- 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有了写入权限了,搞定~
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=493