RHEL9 使用Samba

RHEL 9中安装使用Samba实现局域网内文件共享

本文记录我在RHEL9中安装和配置Samba实现局域网内电脑间文件共享功能。主要包括:

  • 安装Samba
  • 配置Samba
  • 客户端使用Samba

为什么使用Samba

我的需求:

  • 局域网内机器能使用同一密码访问RHEL 9上的某个共享文件夹以分享文件
  • 必须密码登录,不允许guest访问
  • 该用户名/密码只能用于此文件共享服务
  • 客户端电脑无需再额外安装各种客户端软件

综合比较了FTP Server,NFS, Samba等各方案,发现还是以前用的Samba最适合。FTP 和NFS都需要客户端电脑进行额外配置。

结合ChatGPT的答案,快速实现了配置并使用。

RHEL 9安装Samba

安装很简单,一行命令解决:

1
sudo dnf install samba samba-client

RHEL 9配置Samba

创建Samba服务专用用户账户

  • 为Samba创建1个Linux 用户share,但此用户没有自己的home目录和登录权限, 它不是一个常规的Linux用户

    1
    2
    3
    sudo useradd -M -s /sbin/nologin share
    # -M: no home directory
    # -s /sbin/nologin this /sbin/nologin shell has no login
  • 为此用户share设置一个密码:

    1
    sudo smbpasswd -a share
  • 激活此Smaba用户share:

    1
    sudo smbpasswd -e share

配置Samba服务分享目录

  • 创建1个用于文件共享的目录/srv/samba/shared并配置合理权限:

    1
    2
    3
    sudo mkdir -p /srv/samba/shared
    sudo chown -R share:share /srv/samba/shared
    sudo chmod -R 0775 /srv/samba/shared
  • 修改SELinux 安全上下文以允许Samba访问该共享文件夹。

    1
    2
    3
    #sudo setsebool -P samba_enable_home_dirs on
    #允许Samba访问用户的home目录,这里用不到,因为share用户无home目录
    sudo chcon -R -t samba_share_t /srv/samba/shared
  • 修改Smaba配置文件以添加新的共享:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    [FamilyShare]  # this will be used in client access URL
    path = /srv/samba/shared
    valid users = share
    read only = no
    browseable = yes
    writable = yes
    guest ok = no
    create mask = 0775
    directory mask = 0775
  • 配置防火墙使Samba服务仅对局域网内电脑10.0.0.x可用

    1
    2
    3
    sudo firewall-cmd --permanent --zone=home --add-service=samba
    sudo firewall-cmd --permanent --zone=home --add-source=10.0.0.0/24
    sudo firewall-cmd --reload
  • 启动Samba服务:

    1
    2
    3
    4
    5
    6
    sudo systemctl start smb
    sudo systemctl enable smb

    # 如果想使用服务器名字而不是IP形式访问,则还需要下面两条命令:
    sudo systemctl start nmb
    sudo systemctl enable nmb

客户端使用Samba

  • Windows 用户:

    打开文件浏览器,输入\\serverIP\FamilyShare

  • MacOS 用户:

    打开Finder, Go > Connect to Server,输入serverIP


RHEL9 使用Samba
https://pub.zangchuantao.com/20240818/RHEL9-Samba-FileShare.html
作者
Chuantao
发布于
2024年8月18日
许可协议