Sambaとは
プリンタやファイルの共有を行うために、Microsoft WindowsはSMB (Server Message Block) と呼ばれる機能を使用しています。 この同じ機能は、時々NetBIOSまたはLanManagerとして知られている。 Andrew Tridgellや他の人のおかげで、LinuxシステムはSambaとして知られるパッケージを介してSMBのサポートを提供する。 SMB のように、Samba は以下を可能にする:
- Microsoft Windows, OS/2, Netware, Unix システム間でプリンタとファイルを共有する
- ローカルエリアネットワーク上のシステムを識別するためのシンプルなネームサーバーを確立する
- Linux システムにPCファイルをバックアップしてそれを復元する
- ユーザーとパスワードの管理
Samba は多くの組織においてその信頼性と高い性能を証明してきた。
Sambaのインストール
Enterprise Linuxシステムでは、Sambaを始めるために、以下のパッケージをインストールしてください。
samba #### basic Samba packagessamba-client #### samba client
これらのパッケージをインストールするには:
# yum install samba# yum install samba-client
アクティブディレクトリを使用している場合、以下のパッケージもインストールしてください。
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
以下は、上記のパッケージをインストールした後にインストールされるパッケージのリストです。
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Samba共有を設定する
Sambaの設定は通常 /etc/samba/smb.conf にあり、Sambaに関するすべての設定パラメータが含まれます。 以下の手順に従って、Sambaの共有を設定します。 共有が特定のユーザーにアクセスできるようにするには、まず共有が存在するlinuxサーバー上でもユーザー(john)を作成する必要があります。
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Sambaユーザーをアクティブにしてパスワードを設定するには、-aオプションで「smbpasswd」コマンドを使用します。
# smbpasswd -a john
3. 共有するディレクトリを作成するか、既存のディレクトリを使用することができます。
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4.次に、共有にSElinuxのコンテキストを設定します。
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5.共有にファイルを作成できるかどうか確認します。
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
上記の設定を有効にするために、samba サービスを再起動します。
# service smb restart
トラブルシューティング
samba共有に関する問題を見つけるには、iptablesサービスを無効にしてSELinuxをオフにしてみるとよいでしょう。
# service iptables stop# setenforce 0
Verify samba parameter using testparm
smb.conf ファイル内のパラメータが正しいことを確認したり、設定問題をデバッグするには、 testparm コマンドを使用してください。
logs
一般的にSambaの問題をデバッグするために、/var/log/samba ディレクトリの下の log.smbd と log.nmbd は非常に貴重なものである。 smb.confファイルのグローバルセクションのパラメータlog levelは、 Sambaがログファイルに書き込む詳細な情報の量を決定し、レベル0は最も一般的で、 10は最も詳細である。 各ログレベルは、そのレベル以下のログメッセージに加えて、そのレベルからのメッセー ジを含む。 例えば、ロギングレベル 5 は、レベル 5 からのメッセージに加えて、レベル 0 から 4 までのメッセージを含む。
# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4