Samba文件服务器

一、概念

1.1 基本概念

  • 定义:是在Linux系统上实现SMB(Session MessageBlock)协议的一个免费软件
  • 功能:以实现Windows与Linux服务器间的文件共享和打印机服务共享

1.2 服务器组件

  • 进程
    • smbd:提供了文件和打印服务
    • nmbd:提供了NetBIOS名称服务和浏览支持,帮助SMB客户定位服务器,处理所有基于UDP的协议

二、安装使用

2.1 安装

  • centOS:yum install -y samba

2.2 配置

  • 配置文件:/etc/samba/samba.conf
  • 文件内容(填写完后命令:testparm格式检查)
    #全局参数设定
    [global]
    		# 工作组名称
            workgroup = SAMBA
            # security这里指定samba的安全等级。关于安全等级常用2种:
    		# share:用户不需要账户及密码即可登录samba服务器
    		# user:由提供服务的samba服务器负责检查账户及密码(默认)
            security = user
    		# 后端密码数据库
            passdb backend = tdbsam
    		# 打印设定:不加载打印机
            load printers = no
    
    # 配置每个用户的家目录,homes为固定写法
    # 默认用户登录smb服务器即进入各自的家目录
    [homes]	
    		# 注释
            comment = Home Directories
            # 非所有者是否可访问
            browseable = no
            # 是否可写入
            writable = yes
            # 目录所有者
            valid users = %S
    # 目录在访问者那显示的名字,此为自定义
    [共享盘]       	
    		# 配置可访问目录 
            path = /home/share
            # 是否可写入
            writable = yes
            # 是否可浏览
            browseable = yes
            # 未登录用户是否可访问
            guest ok = no
            # 重要:目录下新建文件非组内容易只读,所有组可读写,不可执行
            create mode = 0664
            # 重要:文件夹权限,非组内人员可读、进入、执行
            # 不可在文件夹一级目录写,所有组无限制
            directory mode = 0775
    [部门盘]      
            path = /home/office
            writable = yes
            browseable = yes
            guest ok = no
            # 重要:目录下新建文件的权限设定
            create mode = 0660
            # 重要:文件夹权限,不符合则进不去
            directory mode = 0770
    
  • 运行相关
    • 查看是否启动:systemctl status smb,有绿色的active显示,若没有看下面的日志
    • 开启服务:systemctl start smb,如果状态是灰色的就要启动
    • 关闭服务:systemctl stop smb
    • 开机启动:systemctl enable smb,Loaded行是否有enable
    • 关闭开机启动:systemctl disable smb,Loaded行是否有disable

问题:若是后面连不上服务器,有可能是服务器防火墙阻挡了,systemctl stop firewalld,关闭防火墙

2.3 添加用户

smb账号必须是centos的已有账号

  • CentOS账号注册

    • 完整注册:useradd -s /usr/sbin/nologin -d /home/userhome/somebody -g off somebody

      -s:为用户登录shell,未指定则为/bin/bash,nologin为不能登录终端的账号
      -d : 为用户的home目录,未指定则为/home/somebody
      -g : 为用户的默认组,未指定则为somebody组,跟配置文件匹配才可进入文件

    • 简略注册:useradd somebody

  • smb账号操作

    命令名功能
    pdbedit –a 用户名新建Samba账户(在centos系统中要注册过
    pdbedit –x 用户名删除Samba账户,不删除用户home目录文件
    pdbedit –L列出Samba用户列表,读取数据库文件
    pdbedit –c "[D]"–u 用户名冻结该Samba用户账号(主要看Account Flags项加D)
    pdbedit –c "[]"–u 用户名恢复该Samba用户账号(主要看Account Flags项去D)
    pdbedit -v 用户名列出Samba用户详细信息(主要看Account Flags项)

2.4 增加文件夹

新建文件夹并配置权限

  • 命令行
    cd /home					# 切换到home目录下
    
    mkdir share					# 新建共享文件夹
    chmod 775 share				# 修改权限匹配配置文件,非组内人员可读,可进入,不可在文件夹一级目录写
    
    mkdir office				# 新建部门文件夹
    chown :off office			# 修改所属组为off,off为centos中提前创建
    chmod 770 office			# 修改权限匹配配置文件,仅组内成员可访问
    

三、Windows访问

  1. 测试是否可以连接smb服务器:ping 192.168.123.123,假设这是服务器IP
  2. 调出运行窗口:任务管理器==》文件==》运行新任务,或者win+R快捷键
    在这里插入图片描述
  3. 输入账号密码
    在这里插入图片描述
  4. 映射访问模式
    在这里插入图片描述

四、其他需求

4.1 更换账号

在这里插入图片描述

4.2 客户端断开连接

  • powershell --》 net use * /delete /y

4.3 服务端操作

  • 查看smb服务器使用情况命令:smbstatus,包括连接的账户,PID,查看的文件,连接的时间
  • 服务器强制踢人:kill PID,直接结束客户的进程,记得冻结账户
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值