第9章 リモート開発機能
9.2 リモート開発のための環境設定
9.2.2 サーバへの ftpd/rexec サービスの導入と起動
ここでは、サーバにftpdサービスおよびrexecサービスを導入し、サービスを起動する方法について説明します。
注意
サーバのOSがSolarisまたはLinux(Itanium)で、かつ、サーバのNetCOBOLの製品バージョンがV10以前の場合はftpd/rexecサービス
を使用します。これ以外の場合はNetCOBOLリモート開発サービスを使用してください。
9.2.2.1 Solaris サーバの場合
Solarisサーバの場合、ftpdサービスは、デフォルトではオペレーティングシステムの導入時にインストールされ、常に起動するようになっ
ています。
注意
Solarisの場合は、rexecサービスはオペレーティングシステムの導入時に起動するようになっていません。次の操作が必要になります。
・ ステータスの確認
次のコマンドを実行してステータスを確認してください。
# svcs -a | grep rexec
disabled 18:28:10 svc:/network/rexec:default
実行結果の出力の先頭が“disabled”である場合は、rexecサービスを起動してください。
・ rexecサービスの起動
次のコマンドを実行してrexecサービスを起動してください。
# svcadm enable svc:/network/rexec:default
Solarisサーバの場合、システム設定の変更は設定ファイルの内容を確認し、必要であれば修正することが一般的ですので、その方法 だけを説明します。
1. サービスの状態の確認
Solarisサーバにおいて、ftpdおよびrexecは、inetd(インターネットデーモン)から呼び出されるサービスです。したがって、次のファ
イルの内容を確認します。
- /etc/services
- /etc/inetd.conf
“/etc/services”および“/etc/inetd.conf”にftpdおよびrexecに関する記述が存在し、それが有効であれば、以降の作業は必要あり
ません。ftpdおよびrexecに関する記述があるファイルの例を示します。
- /etc/servicesの例(青色(下線付き)がftpdに関する記述です。)
#
# Network services, Internet style
#
… ftp 21/tcp
…
## UNIX specific services
## these are NOT officially assigned
#
- /etc/inetd.confの例(青色(下線付き)がftpdとrexecに関する記述です。)
…
# FTPD - FTP server daemon
ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd -a
…
# REXECD - rexec daemon (BSD protocols)
exec stream tcp nowait root /usr/sbin/in.rexecd in.rexecd exec stream tcp6 nowait root /usr/sbin/in.rexecd in.rexecd
…
ftpdまたはrexecの設定行がコメント化(行頭に“#”)されている場合は、以降の作業を行ってください。
2. サービスの設定の変更
“/etc/services”および“/etc/inetd.conf”を修正し、ftpdまたはrexecの設定を追加します。
3. サービスの起動
ftpdおよびrexecは、inetd配下で起動されるサービスであるため、inetdを再起動します。
次のコマンドを実行してください。
# kill -HUP `cat /var/run/inetd.pid`
または、
# ps -ea | grep inetd
inetdのプロセスIDが表示される。
# kill -HUP inetdのプロセスID
9.2.2.2 Linux サーバの場合
Linuxサーバの場合、ftpdおよびrexecサービスは、オペレーティングシステムの導入時にインストールされていない場合もあるため、こ
れらのパッケージが導入済みかどうかから説明します。
なお、Linuxでは、この種のシステム設定のためにGUIを持つツールが用意されている場合がありますが、GUIツールはバージョンおよ び個々のシステムの設定による違いが大きいため、コマンドによる操作方法のみを説明します。
1. パッケージの確認
パッケージがインストール済みか確認するには次の形式でrpmコマンドを実行します。
# rpm -query パッケージ名
ftpdおよびrexecに必要なパッケージ名は次のとおりです。
- ftpd : vsftpd
- rexec : rshおよびrsh-server
パッケージの情報が表示された場合、パッケージはインストール済みです。“3.サービスの状態の確認”に進んでください。
# rpm -query vsftpd vsftpd-2.0.1-5
# rpm -query rsh rsh-0.17-17
# rpm -query rsh-server rsh-server0.17-17
パッケージの情報が表示されない場合、パッケージのインストールを行う必要があります。
注意
Linuxシステムで使用されるftpdのパッケージには、バージョンやディストリビューションの違いにより幾つか種類があります。次の ようなものが使われている場合もあります。
- wu-ftpd
- proftpd 2. パッケージの導入
次の形式でrpmコマンドを実行してパッケージを導入します。
rpm -Uvh パッケージ名
3. サービスの状態の確認
次の形式で/sbin/chkconfigコマンドを実行して、システム起動時のサービス開始の設定を確認します。
/sbin/chkconfig --list サービス名
例えば、次のような結果が得られる場合、ftpd(vsftpd)とrexecはシステム起動時に開始されない設定になっています。この場合、
“4.サービスの設定の変更”が必要です。
# /sbin/chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# /sbin/chkconfig --list rexec rexec off
4. サービスの設定の変更
次の形式で/sbin/chkconfigコマンドを実行して、システム起動時にサービスが開始されるように設定します。
/sbin/chkconfig [--level レベル] サービス名 on
以下、システム開始時にサービスが開始されるように設定を変更し、確認する例について示します。
# /sbin/chkconfig --level 5 vsftpd on
# /sbin/chkconfig --list vsftpd
vsftpd 0:off 1:off 2:off 3:off 4:off 5:on 6:off
# /sbin/chkconfig rexec on
# /sbin/chkconfig --list rexec rexec on
5. サービスの起動
次の形式で/sbin/serviceコマンドを実行して、サービスを開始します。
なお、rexecの場合は、xinetd配下で起動するサービスであるため、xinetdを再起動する必要があります。
# /sbin/service vsftpd start vsftpd 用の vsftpd を起動中: [ OK ]
# /sbin/service xinetd stop xinetd を停止中: [ OK ]
# /sbin/service xinetd start xinetd を起動中: [ OK ]