Liunx 宏观 Samba服务器的配置与使用

Samba服务器的配置与使用

Samba是连接Linux/Unix与Windows系统的重要解决方案,大大提高了异构环境中的资源共享和互操作性。它融合了跨平台文件共享、打印共享、目录服务等多项关键功能。
宏观

直接访问
访问
服务器:安装samba服务--配置,设置防火墙及SELinux策略
Window用户
Liunx用户:安装Samba客户端
-Samba服务器Windows客户端Linux客户端
所需软件安装Samba服务器软件无需安装软件安装Samba客户端软件
配置配置共享目录和用户无需配置无需专门配置

Samba服务器需要安装Samba软件包并配置共享目录和用户。
Windows客户端不需要安装任何额外软件,直接使用Windows文件资源管理器访问。
Linux客户端需要安装Samba客户端软件,然后都可以通过输入相应的用户名密码进行访问认证。

Samba服务器 宏观

  1. Samba服务器的安装和配置
  • 安装Samba
    • Ubuntu/Debian: apt install samba
    • CentOS/RHEL: yum install samba
  • 创建Samba共享目录
    • 可以直接在smb.conf中添加共享目录定义,Samba会自动创建实际目录
  • 配置Samba访问控制
    • 在smb.conf中设置访问权限参数,如valid users、read only等
    • 设置文件和目录权限掩码控制创建的权限
      -== 配置Samba用户认证==
    • smbpasswd命令添加samba用户
    • 设置用户密码用于访问认证
  1. Windows访问Samba服务器
  • Windows客户端无需安装额外软件
  • 使用资源管理器或网用命令访问共享目录
  • 输入samba用户名和密码进行访问认证
  1. Linux访问Samba服务器
  • 安装Samba客户端
    • Ubuntu/Debian: apt install smbclient
    • CentOS/RHEL: yum install samba-client
  • 使用smbclient命令或cifs挂载访问共享目录
  • 输入samba用户名和密码进行访问认证

------------------------------------------------Samba服务器---------------------------------------------

1.Samba服务器的安装和配置

  1. 安装Samba
    首先需要安装Samba服务器软件,可以通过以下命令进行安装:
    • Debian/Ubuntu系统: sudo apt install samba
    • CentOS/RHEL系统: sudo yum install samba
sudo apt-get install samba -y  #安装samba服务器
  1. 创建Samba共享目录可以跳过在smb.conf中添加
    创建Samba共享目录可以通过以下两种方式进行:
  • 创建一个新目录并设置其共享权限
sudo mkdir /home/samba_share  #创建目录
sudo chown 用户名:组名 /home/samba_share   # 修改文件的所有者
sudo chmod 777 /home/samba_share              # 设置权限

然后在Samba配置文件中添加共享目录的信息:重点valid users :允许用户访问

[samba_share]  #共享目录的名称
    comment = Samba File Share  # 注释,方便识别
    path = /home/samba_share    # 共享目录的服务器端路径
    browsable = yes             # 允许用户浏览共享目录
    read only = no              # 允许用户读写访问
    guest ok = yes              # 开放匿名访问
    valid users = 用户名          # 允许用户访问,其他用户被拒绝
    create mask = 0755          # 新创建文件的权限掩码
    directory mask = 0755       # 新创建目录的权限掩码
  1. 添加Samba用户并设置密码:注意使用系统的用户,用户是文件的所有/拥有者
    bash
sudo smbpasswd -a 用户名 # 添加用户使用系统的用户
sudo smbpasswd 用户名 # 设置密码

然后重启Samba服务并检查配置是否生效:

sudo service smbd restart # 重启smbd服务
sudo service nmbd restart # 重启nmbd服务
testparm /etc/samba/smb.conf # 检查配置文件语法
  1. 使用john用户连接测试:
bash  
smbclient //127.0.0.1/samba_share -U john # 用john用户连接测试

--------------------------------------Windows访问Samba服务器--------------------------------------

2. Windows访问Samba服务器

  • 在Windows中访问Samba共享目录
    • 在Windows资源管理器地址栏输入:\samba服务器IP\samba共享名
    • 输入配置的samba用户名和密码,即可访问samba共享目录
  • 在Windows中访问Samba用户认证
    • 打开命令提示符,输入:net use x: \samba服务器IP\samba共享名 /user:samba用户名
    • 输入配置的samba用户的密码
    • 此时可以在Windows中通过映射的X盘符访问samba共享目录

-------------------------------------------Linux访问Samba服务器----------------------------------

3. Linux访问Samba服务器

  • 在Linux中安装Samba客户端
    • Debian/Ubuntu: sudo apt install smbclient
    • CentOS/RHEL: sudo yum install samba-client
  • 在Linux中访问Samba共享目录
    • 使用smbclient命令连接:smbclient //samba服务器IP/共享名 -U samba用户名
    • 输入samba用户的密码,即可访问共享目录
  • 在Linux中访问Samba用户认证
    • 安装cifs-utils工具包
    • 挂载共享目录:sudo mount -t cifs //samba服务器IP/共享名 挂载点 -o user=samba用户名
    • 输入samba用户的密码,即可通过挂载点访问共享目录

防火墙的问题

要让Samba服务器通过防火墙,您需要打开以下端口:

1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
2)Port 138 (UDP) - NetBIOS 数据报服务
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)
5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba

终端方式

具体的步骤如下:

  1. 查看防火墙状态

使用命令sudo systemctl status firewalld查看防火墙状态。

  1. 添加Samba服务
    使用以下命令将Samba添加到防火墙服务列表中:
sudo firewall-cmd --add-service=samba --permanent
  1. 打开Samba所需端口

使用以下命令打开Samba所需端口:

sudo firewall-cmd --add-port=<写你想使用的端口>/tcp --permanent

  1. 重新加载防火墙设置

使用以下命令重新加载防火墙设置:

sudo firewall-cmd --reload

现在,Samba服务器应该能够通过防火墙了。

可视化方式

。以下是通过可视化操作配置Red系统中Samba服务器通过防火墙的步骤:

  1. 打开Red系统的防火墙配置工具Firewall配置器。

  2. 点击“服务”选项卡,找到并勾选“Samba”服务。

  3. 点击“添加端口”按钮,在弹出的窗口中填写以下信息:

  • 端口:<你需要的端口>
  • 协议:TCP
  • 描述:Samba NetBIOS
  1. 点击“应用”按钮保存设置并启用防火墙规则。

现在您的Red系统Samba服务器已经可以通过防火墙了。如果您想更精细地控制访问Samba服务器的IP地址或端口,请使用“源”或“目标”选项卡中的“地址”和“端口”设置。

SELinux对Samba的影响及配置方法

SELinux策略影响

  • 在启用SELinux的系统上,默认策略会限制Samba服务器访问 # SELinux策略影响Samba
  • 需要调整策略允许Samba相关服务访问 # 需要调整SELinux策略

调整SELinux策略方法

  1. 设置SELinux为permissive模式,添加samba模块到允许列表 # 设置允许模式
bash
    setsebool -P samba_enable_home_dirs on  # 允许家目录访问
    setsebool -P samba_export_all_ro on # 允许只读共享
    setsebool -P samba_export_all_rw on # 允许读写共享
  1. 直接禁用SELinux # 完全禁用SELinux
bash
    setenforce 0  
  1. 使用audit2allow生成允许samba访问的模块 # 生成自定义模块
bash
    yum install policycoreutils-python
    audit2allow -a -M samba  
    semodule -i samba.pp
  1. 调整samba共享目录和文件安全上下文 # 调整安全上下文
bash
    semanage fcontext -a -t samba_share_t "/samba/share(/.*)?"
    restorecon -R -v /samba/share 

注意事项

  • 需要ROOT权限执行SELinux调整命令 # 使用root用户
  • 调整后需要重新启动smb服务 # 重启smb服务
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值