はじめに
前回はNTPの導入を行いました。今回はSambaを導入します。
インストール
sambaパッケージをインストールします。
# yum install samba
基本設定
/etc/samba/smb.confを編集します。
[global]セクション
globalセクションはSamba全体の設定です。ここではWindowsワークグループ名の設定と、アクセス制御の設定を行います。ここでNetBIOS名を設定しておくと、DNSサーバを立てたりhostsファイルを書いたりしなくても、Windowsから名前でサーバにアクセスできるようになって便利です。
外部からのアクセスを拒否するために、hosts allow設定で自分自身とLAN内コンピュータのみを許可するように設定しています。
[global] workgroup = YOURGROUP server string = 家庭内ファイルサーバ hosts allow = 127. 192.168.1. netbios name = SABA
初期状態ではログ設定がコメントアウトされて無効になっていますので、アンコメントして有効にしましょう。
log file = /var/log/samba/%m.log max log size = 50
その他、システムの言語設定がEUC-JPな頃は、キャラクタセット関係の設定項目であるdos charsetとunix charset、display charsetの追記は必須でしたが、UTF-8の場合は特に必要ないようです。Windowsからおもむろに「①㈱.txt」とか作っても問題ありません。
[homes]セクション
各ユーザのホームディレクトリの共有に関する設定です。browseableをnoにしておけば、ほかのユーザのフォルダが共有フォルダ一覧に表示されてしまうことを防げます。
[homes] comment = Home Directories browseable = no writable = yes valid users = %S ; valid users = MYDOMAIN\%S
共有フォルダの追加
共有フォルダごとにセクションを作成します。ここでは「shared」という名前の共有フォルダを追加します。pathには実際のディレクトリの位置を指定してください。
sharedフォルダは家族みんなが読み書きできる共有フォルダにしたいので、directory maskとcreate mask設定を追加しました。これによってSamba経由で作成されたファイルやフォルダには、グループによる書き込みが許可されたパーミッションが常に設定されます。ただし、一般ユーザのプライマリグループを統一するのを忘れないようにしましょう。私の場合はusersグループに統一しています。
[shared] comment = 家庭内共有 path = /storage/shared browseable = yes writable = yes directory mask = 0775 create mask = 0664
pathに指定したディレクトリがない場合は作成します。chownで所有グループをusersにし、chmodでグループの書き込み権限を有効にします。
# mkdir -p /storage/shared # chown root:users /storage/shared # chmod g+w /storage/shared/
共有フォルダを作成する方法はこのほかにもnet localshareコマンドを使うものがあります。Sambaサーバ構築、5つのべからず:2008年版によれば、今後はnetコマンドによる手法が使われていくようになるかもしれませんね。
今回はdirectory maskやcreate maskの設定が必要だったため、従来通りsmb.confファイルを編集する手法をとりました。
Sambaユーザの作成
Samba用のユーザを作成します。従来はsmbpasswdを使う手法が一般的だったように思いますが、最近はpdbeditを使うようです。
Windowsのユーザと同じ名前とパスワードにしておくと何かと便利です。
# pdbedit -a ymkn
ファイアウォールとサービス起動の設定
setupを使って、smbサービスを自動で起動するように設定し、ファイアウォールでsambaを通すように設定します。
# setup
サービスの開始
smbサービスとnmbサービスを起動します。起動スクリプトは/etc/init.d/smbにまとめられています。
# /etc/init.d/smb start
アクセス確認
Windowsから共有フォルダへのアクセスを確認します。エクスプローラを起動し、アドレスバーに「\\saba\」と入力します。ここでSambaユーザの名前とパスワードを要求されますが、Windowsのユーザと同じ名前とパスワードをSambaユーザに設定していれば、何も入力することなく認証が完了します。
Windowsのユーザ名がymknの場合、「ymkn」フォルダと「shared」フォルダが見えるはずです。両方のフォルダに対してファイルを作成したり編集したり削除したりして、設定がうまくいっていることを確認しましょう。
おわりに
これでSambaの設定は終わりです。家族で使えるファイルサーバができあがりました。ただし、現状ではディスク容量の許す限りファイルを置くことが出来るので、システムの領域を圧迫してしまう可能性があります。将来的にはクォータの仕組みを導入してこの問題に対処したいところです。
次回はプリントサーバ(CUPS)の導入を行います。