印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux Samba 3 が文字化けする

Vine Linux 3.1 に Samba 3 をインストールした。Windows から FTP でアップロードしたファイルの名前が文字化けする。設定の変更で解決できる。

■ ■ ■
Synaptic で Samba をインストール
Synaptic で Samba をインストール


Vine Linux 3.1 用には Samba 3.0 のパッケージが配布されている。Synaptic で samba 3.0.10-0vl1 をインストールすると,同時に gettext と samba-common パッケージがインストールされる。もちろん,Synaptic ではなく,apt-get でインストールしてもよい。Linux を samba クライアントにしないのであれば,samba-client はインストールしなくてもよい。

インストールが完了したら,起動スクリプトで起動する。

# /etc/init.d/smb start
SMBサービスを起動中:                                       [  OK  ]
NMBサービスを起動中:                                       [  OK  ]

smb と nmb という2つのサービスが起動する。次に Samba で利用するユーザを作成する。「apache」というユーザを作成してみる。

# smbpasswd -a apache
New SMB password: (パスワードを入力)
Retype new SMB password: (パスワードを再入力)

ここでのパスワードは,ログインのパスワードとは別のものとして /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 の文字セットの設定はグローバルセクションにある。デフォルトでは次のようになっている。
[global]
        unix charset = eucJP-ms
        dos charset = cp932
        display charset = eucJP-ms

Windows の FTP で置いたファイルを文字化けしないようにするには,「unix charset」を cp932 にする。cp932 は Shift JIS の意味である。

[global]
        unix charset = cp932
        dos charset = cp932
        display charset = eucJP-ms

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)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?