先日、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.
- 新規ユーザー登録(例:smbとする)
- パスワード設定
- パスワード入力
- パスワード入力(確認)
Sambaのホームディレクトリ作成
以下では、Sambaのホームディレクトリを作成します。
[root@SMB ~]# mkdir /etc/skel/samba
新規でユーザーを作成した際にSamba用のディレクトリを作成します。
Sambaの共有ディレクトリ作成
また、以下では全ユーザーがアクセスできる共有ディレクトリの作成となります。
[root@SMB ~]# mkdir /home/samba ① [root@SMB ~]# chown nobody:nobody /home/samba ②
- 全ユーザーでフルアクセスできる共有ディレクトリ作成
- 共有ディレクトリ所有者変更
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
- Samba設定ファイル編集
- Linux側日本語文字コード設定
- Windows側日本語文字コード設定
- 長いファイル名の文字化けの対処用
- Windowsのワークグループ名を指定
- 許可するIPを追加
- プリンタ共有無効化 ※Sambaでプリンタを共有しない場合
- /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構築手順のメモでした。
構築時にざっととっているのでうまくいかない場合は伍してくださいね。
それでは!
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す