Pocket

Samba を ローカル認証で利用する環境を構築する方法

  • add this entry to hatena bookmark

今回、CentOS6.4 にSamba 3.6.9 をインストール設定しました。クライアントは、Windows 8 と Windows 7 の端末です。そのファイルサーバとして利用する用途になります。

1.Sambaについて

Sambaは、Windows SMB(Server Message Block)プロトコルを使って、ファイル共有サービスを提供するサーバです。

Sambaを利用する際には、以下の2つのプロセスが稼働します。

  1. smbd
    • SMBサービス
    • tcp/139、tcp/445
  2. nmbd
    • NetBIOSのネームサービス
    • udp/137、udp138

2.Sambaのインストール

yum を使ってインストールします。

# yum install samba

いくつかのパッケージがインストールされます。rpmコマンドで「samba」でgrepした結果は以下です。

# rpm -qa | grep samba
samba-common-3.6.9-151.el6_4.1.x86_64
samba-winbind-clients-3.6.9-151.el6_4.1.x86_64
samba-winbind-3.6.9-151.el6_4.1.x86_64
samba-3.6.9-151.el6_4.1.x86_64
#

3.Samba ディレクトリの作成

Sambaで共有するディレクトリを作成します。

※Samba専用サーバの場合、運用を考えるとデータ専用のパーティションを作ったほうが良さそうです。そうすると、バックアップ等の運用がしやすくなると思います。

# mkdir /home/samba
# chmod 777 /home/samba

次に samba のアカウントを作成します。

4.Samba アカウント作成

Samba用のユーザーアカウント「user1」を作成します。

# pdbedit -a user1

なお、パスワードの設定は「smbpasswd」コマンドです。

次に sambaの設定ファイルを修正します。

5.Samba 設定

sambaの設定ファイルは、デフォルトでは「/etc/samba/」の中にあります。

# ls -1 /etc/samba/
lmhosts
smb.conf
smbusers
#

この中で、smb.conf を修正します。

smb.conf の内容ですが、以下の3つセクション名は固定です。

  • [global]
    • サーバー全体のパラメータを設定するセクション
  • [home]
    • ユーザーのホームディレクトリを設定する際の共有パラメータを設定するセクション
  • [printers]
    • プリンタの共有を設定する際のセクション

今回は、[home]と[printers]は使いません。

それ以外のセクション名は自由に付ける事が出来ます。付けたセクション名が共有名になります。

smb.conf の内容は以下です。

[global]
max protocol = SMB2
unix charset=UTF-8
dos  charset=CP932
workgroup = WORKGROUP
server string = Samba Server Version %v
hosts allow = 127. 192.168.0.
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam

[Share]
comment = Home Only
path = /home/samba
valid users = user1
writable = yes
write list = user1
guest ok = no
create mode = 0777
directory mode = 0777

なお、コマンド「testparm」を使うと、smb.conf に設定した書式をチェックしてくれます。以下に testparm の出力結果を記載します。

$ testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        dos charset = CP932
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        max protocol = SMB2
        idmap config * : backend = tdb
        hosts allow = 127., 192.168.0.

[Share]
        comment = Home Only
        path = /home/samba
        valid users = user1
        write list = user1
        read only = No
        create mask = 0777
        directory mask = 0777
$

以上で、一旦Sambaの設定は一区切りです。

6.Samba起動

Sambaを起動します。

# /etc/init.d/smb status
smbd は停止しています
# /etc/init.d/smb start
SMB サービスを起動中:                                      [  OK  ]
# ps -awef|grep smb | grep -v grep
root      1915     1  0 01:06 ?        00:00:00 smbd -D
root      1918  1915  0 01:06 ?        00:00:00 smbd -D
# /etc/init.d/nmb status
nmbd は停止しています
# /etc/init.d/nmb start
NMB サービスを起動中:                                      [  OK  ]
# ps -awef|grep nmb | grep -v grep
root      1932     1  0 01:07 ?        00:00:00 nmbd -D
#

起動できました。ポートを確認してみます。

$ netstat -an|grep 139
tcp        0      0 0.0.0.0:139                 0.0.0.0:*                   LISTEN
tcp        0      0 :::139                      :::*                        LISTEN
$ netstat -an|grep 445
tcp        0      0 0.0.0.0:445                 0.0.0.0:*                   LISTEN
tcp        0      0 :::445                      :::*                        LISTEN
$ netstat -an|grep 137
udp        0      0 192.168.1.255:137           0.0.0.0:*
udp        0      0 192.168.1.120:137           0.0.0.0:*
udp        0      0 0.0.0.0:137                 0.0.0.0:*
$ netstat -an|grep 138
udp        0      0 192.168.1.255:138           0.0.0.0:*
udp        0      0 192.168.1.120:138           0.0.0.0:*
udp        0      0 0.0.0.0:138                 0.0.0.0:*
$

想定通りです。ここまでは。

7.Windowsから接続

次に早速、Windows 8 端末から接続をかけてみましたが、接続できません・・・。

そこで、以下の手順を順次行います。

  1. Windows 8 で、「Windowsキー」と「Rキー」を押下して、「ファイル名を指定して実行」画面を表示する。
  2. 名前で「secpol.msc」で「OK」を押下する。
  3. 「ローカル セキュリティ ポリシー」画面で、「ローカルポリシー」-「セキュリティ オプション」を選択
  4. 右画面で「ネットワーク セキュリティ:LAN Manager認証レベル」を選択してプロパティ表示
  5. 「未定義」から「NTLM 応答のみ送信する」に変更する

 

次は、CentOSのほうで、iptables が起動している場合は停止します。

また、selinux が有効になっている場合は無効にして、OSを再起動しておきます。

その後、Windows 8 から接続をかけると、ユーザー名とパスワードが聞かれ、接続が出来るようになりました!

また、この後、Windows 7 から接続してみると、こちらも無事接続が出来ました!

今後、Samba設定の微修正は行うと思いますが、一旦これで、Windows 8 、Windows 7 からSambaに接続できるようになりました。

 

Pocket

コメントを残す

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


*

チェックサイト RSS Feed読者登録はいかがでしょうか?RSS配信中です。