Vine Linux 3.1 に Samba 3 をインストールした。Windows から FTP でアップロードしたファイルの名前が文字化けする。設定の変更で解決できる。
Vine Linux 3.1 用には Samba 3.0 のパッケージが配布されている。Synaptic で samba 3.0.10-0vl1 をインストールすると,同時に gettext と samba-common パッケージがインストールされる。もちろん,Synaptic ではなく,apt-get でインストールしてもよい。Linux を samba クライアントにしないのであれば,samba-client はインストールしなくてもよい。
インストールが完了したら,起動スクリプトで起動する。
smb と nmb という2つのサービスが起動する。次に Samba で利用するユーザを作成する。「apache」というユーザを作成してみる。
ここでのパスワードは,ログインのパスワードとは別のものとして /etc/samba/smbpasswd ファイルに保存される。ログインパスワードと同じものでもいいし,違うものでもよい。どちらかのパスワード変更しても同期して変わることはない。
Windows XP から samba サーバに上で作ったパスワードで認証すれば,ファイルサーバとして使うことができる。日本語のファイル名での保存も問題ない。
ただし,FTP と Samba を併用する場合は問題が発生する。Windows から FTP でアップロードしたファイルを Samba 経由で見ると,ファイル名が文字化けしてしまうのである。これは設定を変更することで回避することができる。Vine Linux での Samba のコンフィグレーションファイルは /etc/samba/smb.conf なので,これを編集する。パッケージを使わずに独自でコンパイルした場合,デフォルトでは /usr/local/samba/lib/smb.conf になるので注意(もちろん /etc/samba/smb.conf にすることもできる)。
/etc/samba/smb.conf の文字セットの設定はグローバルセクションにある。デフォルトでは次のようになっている。Windows の FTP で置いたファイルを文字化けしないようにするには,「unix charset」を cp932 にする。cp932 は Shift JIS の意味である。
unix charset は Vine Linux にログインしたときの日本語文字コードを指しているのではない。Linux の文字コードが何であるかは関係がない。「何という文字コードで Linux サーバに置くか」を指定しているだけである。Windows の FTP (Internet Explorer や FFFTP など) は何も考えずに Shift JIS のファイル名でサーバに置きに行き,ProFTP はそのままのコードで保存するため,Linux の文字コードが何であろうが FTP サーバ上では Shift JIS のファイル名になる。したがって,これを Samba 経由で読むには,Linux サーバの文字コードも Shift JIS として指定してやる必要があるのである。ただし,この設定をした場合,Linux サーバ上で ls コマンドなどでファイル一覧を表示すると文字化けをすることになる。FTP と Samba で共有するディレクトリは,一定の場所に決めておいた方がよい。
Posted by n at 2005-07-06 01:12 | Edit | Comments (0) | Trackback(0)
Master Archive Index
Total Entry Count: 1957