硬件环境:win10(host) +Centos(VMware)
创建共享文件夹:
1.安装samba。
2.修改配置文件,重启服务。
3.创建共享目录,配置用户权限。
3.1 root用户
3.2 demo用户
4.防火墙放行。
5. 关闭SELINUX。
6.挂载共享。
7.常见问题。
1.安装samba
#1. 查看并删除samba
rpm -qa|grep samba
rpm -qa|grep samba|xargs rpm -e --nodeps
rpm -qa|grep samba
#2. 安装 启动
sudo yum install samba samba-client
systemctl start smb nmb
#3. smb 添加用户
smbpasswd -a shared
#4. 添加用户 /sbin/nolgin 无权访问系统上的shell
useradd -s /sbin/nolgin shared
2.修改配置文件:/etc/samba/smb.conf
原始文件及其解释:
[global] #全局配置
workgroup = SAMBA #工作组名称
security = user #安全验证方式
server string = Samba Server Version %v #samba服务器的描述信息
passdb backend = tdbsam #表示存储共享帐户的文件类型,其值可为tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本samba 密码文件)
printing = cups #打印服务协议
printcap name = cups #打印服务名称
load printers = yes #是否加载打印机
cups options = raw #打印机的选项
[homes] #此处用来设置 linux 用户的默认共享,对应用户的家目录,当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的家目录中
comment = Home Directories #描述信息
valid users = %S, %D%w%S #可用账户
browseable = No #指定共享信息是否在“网上邻居”可见
read only = No #是否只读
inherit acls = Yes #是否继承访问控制列表
[printers] #打印机共享设置
comment = All Printers #描述信息
path = /var/tmp #共享路径
printable = Yes #是否可打印
create mask = 0600 #文件权限
browseable = No #指定共享信息是否在“网上邻居”可见
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root #可写入文件的用户列表
force group = @printadmin #用户组列表
create mask = 0664 #文件权限
directory mask = 0775 #目录权限
# 其它参数
writable = Yes #允许写入操作
guest ok = No #表示设置是否所有人均可访问共享目录
public = No #表示设置是否允许匿名用户访问
write list #表示设置允许写的用户和组,组要用 @ 表示,例如 write list = root,@root
valid users #设置可以访问的用户和组,例如 valid users = root,@root
hosts deny #设置拒绝哪台主机访问,例如 hosts deny = 192.168.10.100
hosts allow #设置允许哪台主机访问,例如 hosts allow = 192.168.10.200
配置文件中的 security 参数代表用户登录Samba服务时采用的验证方式,总共有4种可用参数:
- share:代表主机无须验证密码,这相当于vsftpd服务的匿名公开访问模式,比较方便,但安全性很差
- user:代表登录Samba服务时需要使用账号密码进行验证,这是默认的验证方式,最为常用
- domain:代表通过域控制器进行身份验证,用来限制用户的来源域
- server:代表使用独立主机验证来访用户提供的密码,这相当于集中管理账号,并不常用
精简以后的配置文件分两部分:
[global]
log file =/var/log/samba/log.%m
workgroup = SAMBA
security = user
passdb backend = tdbsam
[demo]
comment = demo dir
path = /home/samba/demo #共享目录的路径
public = no #关闭“所有人可见”
writable = yes #允许写入操作
[shared]
# 共享文件目录描述
comment = Shared Directories
# 共享文件目录
path = /home/shared/
# 是否允许guest访问
public = no
# 指定管理用户
admin users = shared
# 可访问的用户组、用户
valid users = @shared
# 是否浏览权限
browseable = yes
# 是否可写权限
writable = yes
# 文件权限设置
create mask = 0777
directory mask = 0777
force directory mode = 0777
force create mode = 0777
[share_dir]
# 共享文件目录描述
comment = this is share
path = /project
writable = yes
browseable = yes
read only = no
public = yes
admin users = @root
valid users = @root
create mask = 0777
directory mask = 0777
3. 创建共享目录,并且给用户samba用户添加可读写权限。
demo用户:
# 1.创建系统用户,该用户无需登录所以通过 -M 指定不创建家目录,并且指定shell为 /sbin/nologin
# /sbin/nologin 不可以用系统上的交互式shell
useradd -M -s /sbin/nologin demo
#2.smb添加用户
smbpasswd -a shared
sudo touch /etc/samba/smbpasswd
sudo smbpasswd -a root
#1.没有目录的话 创建目录
mkdir -p /home/samba/demo
chown -R demo:demo /home/samba/demo/
#2. 启动服务
testparm -s
systemctl restart smb
systemctl enable smb
4.防火墙 开启SAMBA默认端口
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
firewall-cmd --list-all
5. 关闭SELINUX
#1.临时关闭
setenforce 0
#2.永久关闭
/etc/selinux/config
SELINUX=enforcing
SELINUX=disabled(重启机器)
6.访问:
windows:CMD 输入: -\\192.168.10.128
win+r 输入 \\+centos samba ip地址,输入brook 账号密码。
linux:
smbclient -L //IP/共享名称 -U 用户名:列出指定IP提供的共享文件
7.常见问题:
不允许一个用户使用一个以上用户与服务器或者共享资源的多充连接。
8.用户建立
smbpasswd -a 用户名:添加samba用户pdbedit -L:查看samba用户列表pdbedit -x 用户名:删除samba用户

文章详细介绍了如何在Centos虚拟机中安装和配置Samba服务,包括删除和安装samba软件包,修改smb.conf配置文件,创建用户并设置权限,开启防火墙端口,关闭SELINUX,以及解决多连接问题。此外,还提到了Windows和Linux访问共享文件夹的方法。
311

被折叠的 条评论
为什么被折叠?



