UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

inetdを英語モードで起動する方法 〜Fetchでアクセス不具合〜


inetdを英語モードで起動する方法

〜Fetchでアクセス不具合〜


0.改定履歴

  • 1997.06.24 初版

1.はじめに

 このドキュメントは,Solaris2.xをFTPサーバとするときに,一部のFTPクライアントではモジバケをおこしてしまうという現象に対する対処方法である.

2.FTPクライアントのFetchでアクセス

 MacitnoshのメジャーなFTPクライアントであるFetchを使って,インストールしたてのSolaris2.5.1にアクセスしてみる.
 すると以下のようになる.

 ここでは,ディレクトリのアクセス権の一覧は表示されているが,ファイル名,ディレクトリ名が表示されない.
 また,この状態でディレクトリ内を参照しようとしても,以下のようなエラーが出る.

 たとえば,これをtelnetで接続し,Solaris上のftpコマンドを用いて行なった場合や,Windows95やWindowsNTに標準搭載しているftp.exeコマンドで接続した場合にはファイルおよびディレクトリは正しく表示される.

duo% ftp nnn.nnn.66.147
Connected to 155.160.66.147.
220 duo230c FTP server (UNIX(r) System V Release 4.0) ready.
Name (155.160.66.147:root): root
Password:
230 User root logged in.

ftp> ls -l

200 PORT command successful.
150 ASCII data connection for /bin/ls (155.160.66.130,32794) (0 bytes).

合計 300

drwxr-xr-x 2 root root 512 6月 10日 11:02 TT_DB
drwxr-xr-x 2 root other 512 6月 10日 11:14 actuate
lrwxrwxrwx 1 root root 9 6月 10日 10:26 bin -> ./usr/bin

3.原因

 何故MacintoshのFetchでアクセスすると正しく表示されないのか? それはMacintoshだからか?なんて事は無く,実はFetchはサーバの言語環境を反映させているインテリなクライアントであるために上記のような不具合?が出る.
 つまり,ftpサーバ(ftpd)が,日本語表記として起動しており,その環境を引き継いで表示させるために文字化け,及び表示の不具合を発生させてしまうのであった.

4.対処

 原因が,ftpdが日本語環境で起動している事が原因ならば言語を英語に切り替えてしまえばよい.
 ftpdはinetdの子供として起動されるので,inetdの起動言語環境を英語にする.

 inetdの起動は,/etc/init.d/inetsvcに書かれている. このファイルに最後を見ると,次のようになっている.

#
# Run inetd in "standalone" mode (-s flag) so that it doesn't have
# to submit to the will of SAF. Why did we ever let them change inetd?
#
/usr/sbin/inetd -s

 この/inetdの起動時の言語環境を英語モードにするように書き換える.

#
# Run inetd in "standalone" mode (-s flag) so that it doesn't have
# to submit to the will of SAF. Why did we ever let them change inetd?
#
LANG=C /usr/sbin/inetd -s

 この変更を行なった後は,マシンをリブートすれば反映される. リブートする時は他の人使っていないかチェックしてから行なう.

 再度接続すると,次のようになる.



広告スペース
Google