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 -Vsmb はファイル共有、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 = @sambausersLDAP 連携やドメイン連携をしている場合は、passdb backend や認証方式が変わります。既存環境では、何を認証基盤にしているかを先に確認します。
共有ディレクトリとユーザー
groupadd sambausers
mkdir -p /srv/samba/share
chgrp sambausers /srv/samba/share
chmod 2770 /srv/samba/share
smbpasswd -a user01
testparmSamba ユーザーは 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 ファイル権限を分けて確認します。古いファイルサーバーを移行する時は、共有名だけでなく、誰がどの権限で使っていたかを棚卸しすることが重要です。
関連する記事
- CentOS 6 サーバー管理ガイド
CentOS 6 系の記事を役割別に確認できるハブページです。 - CentOS 6 Linux 認証に LDAP を使う
認証基盤として LDAP を使う場合の確認です。 - CentOS 6 OpenLDAP サーバー構築
LDAP サーバー側の構成です。
参考書籍
参考書籍
参考書籍
ストーリーで覚える Linux CLI 入門
CentOS 6 のような古い Linux サーバー記事を読み直す時にも、コマンドライン操作の考え方を確認しやすい参考書籍です。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
CentOS 6 Samba ファイルサーバー構築 – Windows 共有と認証設定

