手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 6 Samba ファイルサーバー構築 – Windows 共有と認証設定

CentOS 6 で Samba ファイルサーバーを構築する時の基本を確認します。Samba は Windows クライアント向けのファイル共有を提供しますが、共有定義、認証、ファイルシステム権限が絡むため、単に smb.conf を見るだけでは不十分です。

Samba で見るポイント

  • smb / nmb サービスの状態
  • smb.conf の global 設定
  • 共有定義とパス
  • Samba ユーザーと Linux ユーザーの対応
  • ファイルシステム権限
  • SELinux とファイアウォール

Samba は認証できても、共有ディレクトリの権限がなければ書き込めません。逆にファイルシステム権限が広すぎると、Samba 以外の経路からも影響します。

パッケージとサービス確認

yum install samba samba-client samba-common
chkconfig smb on
chkconfig nmb on
service smb start
service nmb start
smbd -V

smb はファイル共有、nmb は NetBIOS 名解決やブラウズに関係します。名前で見えない問題と、直接接続できない問題は分けて確認します。

smb.conf の基本例

[global]
    workgroup = EXAMPLE
    server string = Samba Server
    security = user
    passdb backend = tdbsam
    log file = /var/log/samba/%m.log
    max log size = 50

[share]
    path = /srv/samba/share
    browseable = yes
    writable = yes
    valid users = @sambausers

LDAP 連携やドメイン連携をしている場合は、passdb backend や認証方式が変わります。既存環境では、何を認証基盤にしているかを先に確認します。

共有ディレクトリとユーザー

groupadd sambausers
mkdir -p /srv/samba/share
chgrp sambausers /srv/samba/share
chmod 2770 /srv/samba/share
smbpasswd -a user01
testparm

Samba ユーザーは Linux ユーザーと対応します。smbpasswd で Samba 用パスワードを設定しても、Linux 側のユーザーやファイル権限がなければ期待通りに動きません。

接続確認

smbclient -L localhost -U user01
smbclient //localhost/share -U user01
tail -f /var/log/samba/log.smbd
tail -f /var/log/secure

接続できない場合は、Samba 認証、共有定義、ファイル権限、SELinux、iptables を順番に確認します。

まとめ

CentOS 6 の Samba では、共有定義、認証方式、Samba ユーザー、Linux ファイル権限を分けて確認します。古いファイルサーバーを移行する時は、共有名だけでなく、誰がどの権限で使っていたかを棚卸しすることが重要です。

関連する記事

参考書籍

参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門

CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。

Amazon で見る
このリンクは Amazon アソシエイトリンクです。
CentOS 6 Samba ファイルサーバー構築 – Windows 共有と認証設定

コメントを残す

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

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

トップへ戻る