当前位置: 首页 > news >正文

samba 文件共享

samba 文件共享

在说 samba 之前,先放一条 cmd 命令在上面,相信会用得到

打开cmd窗口执行命令
断开所有连接
C:\Users>net use * /del /y

注意:
1. linux 中的用户与 samba 中的用户并没有什么关系,但 samba 中的用户必须是 linux 系统中已有的用户
2. windows 在连接 samba 时,同时只能连接一台 samba 服务器中的一条线路,但可以同时连接多台 samba 服务器,这个并不是 samba 的问题,而是 windows 本身的因素造成的
前情提要:
由于本部门为了保证自身数据不被泄露,决定不使用云平台的程序,要部署一台备份共享服务器,实现数据安全及数据共享
部门分为两块:运维和测试(测试隶属于运维管辖)
要求:
1.运维及测试成员只能对自己的目录有读写权限,最终权在老大
2.建立一个集体共享目录,所有人都有此目录的权限
3.限制 ip ,避免账号密码的泄露

环境:CentOS Linux release 7.5.1804 (Core)
一:安装 server 端

# yum search samba  #查找smb文件共享服务所需软件
# yum install samba-client.x86_64 samba-common.x86_64 samba.x86_64 -y   (samba-swat.x86_64 可配置网页版)
# systemctl start smb       #启动 smb
# systemctl enable smb      #开机自启
# systemctl stop firewalld      #关闭防火墙
# systemctl disable firewalld   #防火墙开机禁启
# netstat -antlupe | grep smb   #查看端口

不关闭防火墙时:

iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables  restart

二:创建每个部门的用户组

# groupadd ceshi
# groupadd yunwei

三:先创建系统用户,并加入自己的用户组

# useradd -g ceshi -s /sbin/nologin cs
# useradd -g ceshi -s /sbin/nologin cs2
# useradd -g yunwei -s /sbin/nologin yw
# useradd -g yunwei -s /sbin/nologin yw2
# useradd -g yunwei -s /sbin/nologin admin

四:添加用户:

# id ysg                #查看是否有 ysg 系统用户。
# smbpasswd -a ysg      #添加 ysg 系统用户到 smb 服务用户
# pdbedit -L            #查看 smb 服务允许用户
# pdbedit -x ysg        #删除 ysg 用户

系统中没有 ysg 用户时:

# id ysg                #无 ysg 用户
id: ysg: no such user
# smbpasswd -a ysg  
New SMB password:
Retype new SMB password:
Failed to add entry for user ysg.   #添加不成功
# useradd ysg           #创建westos用户
# smbpasswd -a ysg 
New SMB password:
Retype new SMB password:
Added user ysg.         #此时添加成功

六:创建目录

# mkdir -p /etc/samba/ ceshi yunwei
# mkdir -p /etc/samba/ ceshi ceshi
# mkdir -p /etc/samba/ ceshi share

七:更改配置文件,实现权限的分配,限制 ip 登录白名单

# hosts allow = the hosts allowed to connect. This option can also be used on a
# per-share basis.
#
# hosts deny = the hosts not allowed to connect. This option can also be used on
# a per-share basis.

[global]
        workgroup = SAMBA
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
        hosts allow = 192.168.80.110 192.168.80.111

#[homes]
#       comment = Home Directories
#       valid users = %S, %D%w%S
#       browseable = No
#       read only = No
#       inherit acls = Yes

[共享目录]
        comment = this is share
        path = /etc/samba/share
        writable = yes
        admin users = @yunwei,@ceshi
        valid users = @yunwei,@ceshi
        create mask = 777
        directory mask = 777
[运维]
        comment = this is yunwei
        path = /etc/samba/yunwei
        writable = yes
        admin users = admin,@yunwei
        valid users = admin,@yunwei
        create mask = 664
        directory mask = 775
[测试]
        comment = this is ceshi
        path = /etc/samba/ceshi
        writable = yes
        admin users = admin,@ceshi
        valid users = admin,@ceshi
        create mask = 664
        directory mask = 775

实现上面的 下面就不必配置了
配置 selinux:

# getsebool  -a | grep smb
    smbd_anon_write --> off
# getsebool  -a | grep samba
    samba_create_home_dirs --> off
    samba_domain_controller --> off
    samba_enable_home_dirs --> off
    samba_export_all_ro --> off
    samba_export_all_rw --> off
    samba_portmapper --> off
    samba_run_unconfined --> off
    samba_share_fusefs --> off
    samba_share_nfs --> off
    sanlock_use_samba --> off
    use_samba_home_dirs --> off
    virt_sandbox_use_samba --> off
    virt_use_samba --> off
# setsebool -P samba_enable_home_dirs on
# setsebool -Psamba_export_all_rw on

转载于:https://blog.51cto.com/12384628/2342216

相关文章:

  • Nginx的介绍
  • 14个值得推荐的个人提升方法
  • 上海科学家研制出新型“耐火宣纸”
  • Java Web:项目结构和web.xml
  • 调查:澳门96%打工者称奖金、薪酬决定工作去留
  • 前端技术周刊 2019-01-14:客户端存储
  • 前端工程化的理解
  • 公安部发2019年春运交通安全预警 道路客运量将达24.6亿人次
  • WebSocket 协议 5~10 节
  • javascript从右向左截取指定位数字符的3种方法
  • 利用openpyxl模块处理excel表格
  • mysql索引使用like的时候出现的问题
  • Abp中使用可视化的日志面板
  • Vue PC端图片预览插件
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 收藏网友的 源程序下载网
  • 【刷算法】求1+2+3+...+n
  • CSS3 变换
  • echarts花样作死的坑
  • FineReport中如何实现自动滚屏效果
  • Javascript编码规范
  • Java基本数据类型之Number
  • k个最大的数及变种小结
  • MQ框架的比较
  • React系列之 Redux 架构模式
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • tensorflow学习笔记3——MNIST应用篇
  • Travix是如何部署应用程序到Kubernetes上的
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 构建二叉树进行数值数组的去重及优化
  • 记录:CentOS7.2配置LNMP环境记录
  • 利用DataURL技术在网页上显示图片
  • 你不可错过的前端面试题(一)
  • 微信小程序--------语音识别(前端自己也能玩)
  • 温故知新之javascript面向对象
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # .NET Framework中使用命名管道进行进程间通信
  • #HarmonyOS:Web组件的使用
  • $GOPATH/go.mod exists but should not goland
  • (1)常见O(n^2)排序算法解析
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (十一)c52学习之旅-动态数码管
  • (实战篇)如何缓存数据
  • (一)插入排序
  • (已解决)什么是vue导航守卫
  • (转)3D模板阴影原理
  • (转)Linux下编译安装log4cxx
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)平衡树
  • .libPaths()设置包加载目录
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net MySql