[ Solaris ] FFFTP でファイル一覧が見えない ( 死活監視サンプル付 )

Pocket

ここでは、FFFTP FTPクライアントソフトから Solaris 10 へ接続したときにファイルの一覧が見えない場合の対処法を掲載しています。また、root ユーザで FTP サーバに接続できるようにする設定方法および FTP サーバ死活監視サンプルスクリプトもあわせて掲載しています。

スポンサーリンク

FFFTP でFTP サーバのファイルの一覧が見えない

FFFTP で FTP サーバ(Solaris10)のファイルが見えない場合は、日本語環境のサーバーであると思います。ファイル一覧のタイムスタンプ部分に日本語が入っていることにより、FFFTP がうまくファイルリストの処理を行えていない可能性が高いです。

この問題を解消する手段として、FTP サービスの環境変数(LANG)を変更し、タイムスタンプに日本語が入らないようにする方法があります。

# FTP サービス状態の確認
svcs -l ftp
fmri         svc:/network/ftp:default
name         FTP server
有効         true
状態         online
next_state   none
state_time   2011年01月10日 21時51分41秒
リスタータ   svc:/network/inetd:default
contract_id  127

# 環境変数の設定
svccfg -s ftp setenv LANG C

# FTP サービスの再起動
svcadm restart ftp

また、環境変数を元に戻す場合には以下のようにします。

# 環境変数 LANG を元に戻す場合
svccfg -s ftp unsetenv LANG

FTP サーバへ root ユーザーからの接続を許可する

root ユーザーからの接続を許可するには、/etc/ftpd/ftpusers で接続を拒絶するユーザーリストから root を除外します。なお、サービスの再起動は不要です。

反対に、ユーザーをリストに追加することで、 そのユーザーからの接続を拒絶することができます。

vi /etc/ftpd/ftpusers

#
# List of users denied access to the FTP server, see ftpusers(4).
#
#root   # ← 左記のようにコメントアウトすると、接続拒否リストから除外される
daemon
bin
sys
adm
lp
uucp
nuucp
smmsp
listen
gdm
webservd
nobody
noaccess
nobody4

FTP サーバの死活監視サンプルスクリプト

おまけとして、FTP サーバの死活監視サンプルシェルスクリプトを示します。

なお、下記サンプルは ftp クライアントによっては、異なる出力がされるかもしれませんので、環境に応じて確認および修正する必要があると思われます。サンプルの出力結果は Solaris 10 上での ftp クライアントを使用した結果です。

#!/bin/sh

# 接続タイムアウト5秒として FTPサーバへ接続する
result=`ftp -in -T 5 << EOS
open localhost
user username password
quit
EOS`

echo $result

出力結果

[正常に接続・切断が行われた場合]
# 何も出力されない

[接続(open)タイムアウト時の出力結果]
Connection timeout

[ユーザーまたはパスワード誤りの場合]
Login incorrect. Login failed.
スポンサーリンク

Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>