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の構築はこちらを参考にしてください。

sambaインストール(CentOS6)Windowsでもできるファイル共有ツール

2015年4月20日

まとめ

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

それでは!

サーバーエンジニアへの構築手順書

2014年5月17日
イラスト図解式 この一冊で全部わかるサーバーの基本

イラスト図解式 この一冊で全部わかるサーバーの基本

きはし まさひろ
1,663円(09/18 18:12時点)
発売日: 2016/03/28
Amazonの情報を掲載しています


関連記事


コメントを残す

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

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

ABOUTこの記事をかいた人

blank

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