Samba 文件服务器
- samba是一种在linux环境中运行的免费软件
- 创建基于Windows共享
- 通过插件也可以让linux用户共享
- server Message Block
- 可以为局域网中的不同计算机提供文件及打印服务等资源的共享
SMB
- 信息服务快
- 在局域网中共享文件 和打印机的一种通信协议
- C/S
- NetBios over Tcp/IP
Samba简介
- GPL
- SMB/CIFS
- samba samba-client samba-common
- 守护进程
- smbd
- 提供文件共享或打印机共享
- 提供用户权限的认证功能以及锁功能
- vim file vim file
- TCP 139 445
- netstat -nutlp
- nmbd
- 提供NetBios名称解析服务
- common Internet File System(CIFS)
- udp 137
- 防火墙/selinux默认策略会影响samba访问,可以暂时关闭
快速配置samba共享
- 服务端
- 1.临时关闭selinux
- setenforce 0
- 2。安装samba软件
- yum install -y samba samba-client samba-*
- 3.创建共享目录
- mkdir /common
- echo "hello world" > /commmon/smb.txt
- 4.修改配置文件
- vim /etc/samba/smb.conf
[common] #共享名称
comment = Commonshare #共享描述
path = /common #共享路径
browseable = yes #所有人是否可见
guest ok = no #拒绝匿名用户访问
writable = yes #数据可写入
- 5. 修改selinux上下文权限
- chcon -t samba_share_t /common
- 6.创建samba共享访问账户
- useradd -s /sbin/nologin harry
- smbpasswd -a harry
- samba-client
- -a 添加smb账户并设置密码
- -x 删除smb用户
- -d 禁用smb用户
- -e 启用smb用户
- 7.重启服务,防火墙允许服务通过
- systemctl restart smb nmb
- systemctl enable smb nmb
- firewall-cmd --permanent --add-service=samba
- firewall-cmd --reload
- 客户端操作
- windows
- win + r ————> \\192.168.0.10\
- linux
- yum install samba-client -y
- smbclient -U harry //192.168.0.10/common
- mkdir /common
- mount -t cifs //192.168.0.10/common /common/ -o username=harry,password=redhat
- df -hT
- vim /etc/fstab
- //192.168.0.10/common /common cifs defaults,useranme=harry,password=redhat 0 0
- mount -a
- df -hT
配置文件讲解
- /etc/samba/smb.conf
- 配置文件中以#开头或;符号开头的为注释行
- 分为global全局配置与其他段配置
- 全局配置与共享段配置冲突,共享段配置有效
samba应用案例
- 商务部,设计部,开发部,运维部
- 商务部:负责与客户沟通,为客户提供一定建设性方案
- 设计部:学习计划,制定一定的相关文档
- 开发部:根据商务部与设计部的工作进行干活
- 运维部
- 需求:文件共享
- 各个部门之间进行文件共享
- 每个部门拥有独自的共享
- 创建共享目录
- /new/sales
- /new/design
- /new/develop
- /new/ops
- /new/share 为整个公司的文件共享
- mkdir -p /new/{sales,design,develop,ops,share/{sales,design,develop,ops}}
- tree /new
- 增加共享用户
[root@server ~]# cat adduser.sh
#!/bin/bash
#Add user for share
USERS=(sales desgin develop ops)
for user in ${USERS[@]}
do
groupadd $user
for num in $(seq 1 2)
do
useradd -M -s /sbin/nologin -g ${user} ${user}${num}
done
done
[root@server ~]#
添加完成用户后请将用户增加到smb共享中
- 修改配置文件
workgroup = STAFF
[sales]
comment = sales share
path = /new/sales
browseable = yes
guest ok = no
writable = no
write list = @sales
[develop]
comment = develop share
path = /new/develop
browseable = yes
guest ok = no
writable = no
write list = @develop
[design]
comment = design share
path = /new/design
browseable = yes
guest ok = no
writable = no
write list = @desgin
[ops]
comment = ops share
path = /new/ops
browseable = yes
guest ok = no
writable = no
write list = @ops
[share]
comment = common share
path = /new/share
browseable = yes
guest ok = no
writable = yes
- 修改权限
chcon -t samba_share_t /new/{design,sales,share,develop,ops}
chmod 1770 /new/{design,sales,develop,ops}
chmod 1777 /new/share/
chown :sales /new/sales/
chown :develop /new/develop/
chown :ops /new/ops/
chown :desgin /new/design/
systemctl restart smb nmb
systemctl enable smb nmb
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload