Sambaを設定してらくらくファイル編集

カテゴリ: Web Linux - Linuxウェブ環境を簡単準備 / 公開日: 2011年1月23日(日曜)15:15 / 投稿者: Tom Goodsun

実際のレンタルサーバーとかではできない、自宅サーバーならでは使い方がSamba(サンバ)です。FTP接続は何かと面倒ですので、Sambaを設定して直接ファイルを編集できるようにします。
SambaとはWindowsからLinuxのファイルを共有する方法の一つで、これを設定しておくと、Linux上の共有ファイルをネットワークを通してWindowsから操作できます。Sambaを利用するにはSambaサーバーをセットアップする必要があります。

まず、Sambaをインストールします。

$ yum install -y samba

そしたらまずSambaの自動起動設定をしましょう。chkconfigでもいいですが、ntsysvを使うと視覚的に設定できます。

$ ntsysv
weblinux001a

図のようなGUIが立ち上がるので、矢印キーでスクロールしながらsmbを探します。smbにカーソルを合わせ、スペースキーを押すと、「*」がつきます。これが、自動起動する設定になります。タブキーでフォーカスをOKにあわせて、スペースキーを押します。

自動起動設定が終わったので、今度はSambaの共有設定を行います。いろいろな設定ができて、Linuxユーザーごとにパスワードをつけたりできるのですが、今回はウェブ環境を簡単に使うことが目的なので、常にwebmasterユーザーとしてファイルを操作して、参照時のパスワード要求もなしにします。共有するディレクトリはLinuxのwebmasterのディレクトリ(ホームディレクトリ)としましょう。この設定はとっても簡単です。

まずはSambaの設定ファイルを開きましょう。

$ vi /etc/samba/smb.conf

まず[global]セクション。ここではSamba全体で共通の項目を設定します。globalセクションでは以下の項目を設定、追加してください。

security = share
guest account = webmaster

このsecurityという項目は、共有レベルのことです。shareという設定にしておくと、パスワード要求がなくなります。デフォルトはuserとかになっていると思いますが、これだとユーザーの認証が必要になります。次のguest accountはとっても重要です。これはファイルを操作するユーザーを設定します。例えばこれが別のユーザーになっているとファイルの実行ができなかったり、開くことはできるけど、保存ができないといった現象になります。

次に[public]セクションを見てください。しばしばpublicは、誰でも参照できる共有のための設定といわれますが、この[ ]は単なる名前に過ぎません。好きな名前をつけてください。私はwebとかwebmasterとつけます。なので、ここは以下のように書き換えちゃいましょう。

[web]
comment = Public Stuff
path = /home/webmaster
public = yes
writable = yes
guest ok = yes
printable = no
write list = +staff

[ ]内は共有名、pathには共有するLinuxディレクトリのフルパスを記述。ここまで設定したら、保存して以下のコマンド実行して、Sambaを起動または再起動します。

$ /etc/init.d/smb start (再起動の場合はrestart)
weblinux002a

そしてWindows側からアクセスしてみます。エクスプローラを立ち上げて、アドレス欄に\\LinuxのIPアドレス\を入力すると、図のようにLinux上のディレクトリが見えるはずです。

このwebを開くと、そこがwebmasterのホームディレクトリです。テストしてみましょう。空のテキストファイルを作って、このディレクトリに保存してみます。共有設定がうまくいってないと、ディレクトリの中が見えなかったり、パスワードを聞かれたり、書き込みができなかったりします。問題なく保存できれば、書き込みは可能で、一応正しい設定のはずです。

念のため、以下のコマンドで、ディレクトリ内のファイルがwebmasterユーザーで保存されているかあるいは意図した属性で保存されているかどうか確認しましょう。

$ ll /home/webmaster
-rwxrwxr-x 13 webmaster webmaster  4096 Aug  1 11:30 test.txt
drwxrwxr-x 13 webmaster webmaster  4096 Aug  1 11:30 public_html
drwxrwxr-x  2 webmaster webmaster  4096 Oct  6 13:39 shells