WindowsでCentOS6のSMB(Samba)にアクセスできない場合はCentOS7に変更!インストール手順公開

先日、CentOS6でSMB(Samba)を構築して、WindowsからCentOS6で作成したフォルダにアクセスしようとしたのですが、「つながらない」、「アクセスできない」ということがありました。

どうも、Googleで調べてみるとWindowsとSambaのバージョンによる互換性みたいでつながらないという記事をみました。
Sambaのバージョンが「4」となっている場合、つながらないという現象が起こるようです。

なんか、いろいろと対応策的なものがありましたが、うまくいかず、結局CentOS7のサーバを構築してSambaを設定した方が早いのではないかということで、構築した結果、すんなりフォルダにアクセスできましたw

もう、Linuxはバージョン7で実施しなさいというお達しでしょう。
今回は、CentOS7でのSambaの構築手順をメモしました。

【CentOS7】Sambaインストール

まずは、Sambaをyumインストールします。
ここはyumインストールなので、サーバがインターネットに抜けられる環境にしておきましょう。

yumが外部のミラーサイトへのアクセスができないと実行できないので注意しましょう。

#
# yum install -y samba samba-client samba-common
#

Sambaインストール後の初期設定

Sambaインストール後に、設定をしますが、まずはSambaでアクセス用のユーザーID/Passを作成します。

[root@SMB ~]#
[root@SMB ~]# useradd smb ①

[root@SMB ~]# passwd smb ②
Changing password for user centos.
New password: ③
Retype new password: ④
passwd: all authentication tokens updated successfully.
  1. 新規ユーザー登録(例:smbとする)
  2. パスワード設定
  3. パスワード入力
  4. パスワード入力(確認)

Sambaのホームディレクトリ作成

以下では、Sambaのホームディレクトリを作成します。

[root@SMB ~]# mkdir /etc/skel/samba 

新規でユーザーを作成した際にSamba用のディレクトリを作成します。

Sambaの共有ディレクトリ作成

また、以下では全ユーザーがアクセスできる共有ディレクトリの作成となります。

[root@SMB ~]# mkdir /home/samba ①
[root@SMB ~]# chown nobody:nobody /home/samba ②
  1. 全ユーザーでフルアクセスできる共有ディレクトリ作成
  2. 共有ディレクトリ所有者変更

Samba(smb.conf)ファイル編集

Sambaへのアクセスユーザーとディレクトリ(フォルダ)を作成後は、Sambaの設定ファイルの編集を実施します。

[root@SMB ~]# vi /etc/samba/smb.conf ①
[global]
   unix charset = UTF-8 ②
   dos charset = CP932 ③
   mangled names = no ④

# workgroup = NT-Domain-Name or Workgroup-Name

   workgroup = WORKGROUP ⑤

;   hosts allow = 192.168.1. 192.168.2. 127.
   hosts allow = 192.168.1. ⑥

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
   load printers = no ⑦


[homes]
   comment = Home Directories
   path = %H/samba ⑧
   browseable = no
   writable = yes


※以下を最終行へ追加
[public]
   comment = Public Stuff
   path = /home/samba
   public = yes
   writable = yes
   only guest = yes

  1. Samba設定ファイル編集
  2. Linux側日本語文字コード設定
  3. Windows側日本語文字コード設定
  4. 長いファイル名の文字化けの対処用
  5. Windowsのワークグループ名を指定
  6. 許可するIPを追加
  7. プリンタ共有無効化 ※Sambaでプリンタを共有しない場合
  8. /home/ユーザー名/sambaを追加し、ホームディレクトリにする

編集が完了したら、「:wp!」で保存します。

Samba起動

上記設定が完了したら最後はSambaを起動します。

[root@SMB ~]# systemctl enable smb.service
[root@SMB ~]# systemctl enable nmb.service
[root@SMB ~]# systemctl restart smb.service
[root@SMB ~]# systemctl restart nmb.service

Firewallの許可設定

FirewallでCentOS側でsambaの通信が行えるように許可の設定をします。

[root@SMB ~]# firewall-cmd --permanent --zone=public --add-service=samba
[root@SMB ~]# firewall-cmd --reload

SELinuxも以下のように設定変更し、sambaの利用を許可します。

[root@SMB ~]# chcon -t samba_share_t /samba/share

Samba確認

最後はSambaが正常に起動したかを確認します。

ファイル名を指定して実行→「\sambaのサーバアドレス、もしくはホスト名」
or
フォルダから「\sambaのサーバアドレス、もしくはホスト名」

ID:samba用に設定したID
Pass:samba用に設定したPass

アクセスが確認でき、フォルダ、ファイルの作成、保存、削除ができればOKです。

CentOS6の構築はこちらを参考にしてください。

まとめ

CentOS7でのSamba構築手順のメモでした。
構築時にざっととっているのでうまくいかない場合は伍してくださいね。

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!