Linux

samba

参考サイト

  1. smb.conf
  2. SambaのSMBプロトコルのサポート状況

Install

Redhat系(CentOS, AlmaLinux?)

sudo yum -y install samba

Debian系(Debian, Ubuntu)

sudo apt-get install samba
  • あるいは
    sudo apt install samba

設定関連

Sambaユーザーの登録

sudo useradd hogehoge
sudo passwd hogehoge
sudo smbpasswd -a hogehoge

Samba設定ファイルの編集

  • sudo vi /etc/samba/smb.conf
    • 上の方
          unix charset = UTF-8
          dos charset = CP932
      
      # Change this to the workgroup/NT-domain name your Samba server will part of
          workgroup = WORKGROUP
      
      # server string is the equivalent of the NT Description field
          server string = %h server (Samba, Ubuntu)
      
          dns proxy = no
      
          min protocol =NT1
          #max protocol =SMB3
          client max protocol = default
      
          socket options = TCP_NODELAY
      
          interfaces = 192.168.0.0/16 eth0
    • 下の方
      [home]
      comment=
      path=/home/hogehoge/
      writable=Yes
      valid users=hogehoge
      create mask = 0777 
      directory mask = 0777 
  • 「アクセス許可がありません」でつながらない場合は SELinuxを無効 にしましょう

CIFS(SMB) Version 3 の繋ぎ方

チューニング

SambaのバージョンとSMBのバージョンの対比表

ファイアウォール関連

SELinuxのオープン

setsebool -P allow_smbd_anon_write=on
setsebool -P samba_enable_home_dirs=on
setsebool -P samba_share_nfs=on
setsebool -P samba_export_all_rw=on
chcon -R -t public_content_rw_t /home/username/

ファイアウォール

firewall-cmd --add-port=445/tcp

トラブルシューティング

Windows で ERROR: 0x80070021 エラー

  • Samba server で以下を追加
    • sudo vi /etc/samba/smb.conf
      [global]
           strict locking = no

Windows の「ネットワーク」に表示されない

Ubuntu

  • sudo apt install wsdd
    • winbind を起動する。
      sudo service winbind start

RHEL 8(Alma, Rockey)

    • wsddをインストールする。
    • wsd(Web Services on Devices)
      Windowsからネットワーク上の周辺機器にアクセスするための仕様の一つ
    1. Install
      sudo dnf install wsdd
    2. 設定ファイルの編集
      sudo vi /etc/sysconfig/wsdd
      • 以下を記載
        -D -w ワークグループ名 --interface インターフェイス名 --ipv4only
      • -D -w work --interface enp3s0 --ipv4only
    • daemonのスタート
      sudo systemctl restart nmb
    • 自動起動On
      sudo systemctl status nmb

Windows からの接続が不安定

  1. 以下を記載
    max protocol =SMB2
  2. smb の再起動だけなく OS の再起動が必要な場合があるので注意

現在のSamba設定を確認する簡単な方法

testparm -v

Windows10から接続する際、0x80004005 のエラーが出る。

  • いやはや、解決するのに思ったより時間かかりました(T_T)
  • 原因はWindows10で無効化されているSMB1のアクセスであることは
    何となく予想が付いてたのですが、対策に時間がかかりました。。。

原因

  • smb.conf 内の以下の設定は有効でなかった。。。
    (これを書いてても minimal protocol は SMB2 に設定されなかった。。。)
    client min protocol = SMB3
  • 正しくはこちら
    min protocol =SMB3
  • ちなみにMaxはこちら
    max protocol =SMB3
  • ちなみに testparm の結果ではちゃんと設定できてるように見えるのがやっかい。。。
    testparm

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-06-09 (金) 18:44:38 (316d)