Solarisのデフォルトのftpサーバは「in.ftpd(中身はwu-ftpd)」で非常に使いにくい上にchrootするとコマンドが発行できなかったりといろいろ不便なので、Linuxで使っていたProftpdに変更しますた。
といっても別段難しいことはなく、sunfreeware.comからパッケージを引っ張ってきてインストールするだけ。
ただ、Solarisはバージョン5.10以降のデーモン管理がinetからSMFに切り替わっているため、管理マネージャーのSMFにproftpを登録してやる必要があります。
ちなみに登録方法は、マニュフェストとしてXMLで記述してやる必要があるのでけっこうめんどくさかったりします。
ちなみに今回はこんなマニュフェスト
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='proftpd'>
<service
name='network/proftp'
type='service'
version='1'>
<create_default_instance enabled='false' />
<exec_method
type='method'
name='start'
exec='/opt/sfw/sbin/proftpd'
timeout_seconds='60'>
<method_context>
<method_credential user='root' group='root' />
</method_context>
</exec_method>
<exec_method
type='method'
name='stop'
exec=':kill'
timeout_seconds='60'>
</exec_method>
<stability value='Unstable' />
<template>
<common_name>
<loctext xml:lang='C'>
ProFTP server
</loctext>
</common_name>
<documentation>
<manpage title='proftpd' section='1M'
manpath='/usr/local/man' />
</documentation>
</template>
</service>
</service_bundle>
作ったマニュフェスとは「var/svc/manifest/network/pftpd.xml」として保存します。
root@zfsmeister:/# svccfg -v import /var/svc/manifest/network/pftpd.xml root@zfsmeister:/# svcadm enable proftp
こんな感じです。
SMFが管理してますので、プロセスが死んでもSMFが起動し直してくれます。
root@zfsmeister:/# ps -ef | grep ftp
root 2096 1360 0 01:04:06 pts/2 0:00 grep ftp
nobody 2080 1 0 01:03:38 ? 0:00 /opt/sfw/sbin/proftpd
root@zfsmeister:/# kill 2080
root@zfsmeister:/# ps -ef | grep ftp
root 2104 1360 0 01:04:13 pts/2 0:00 grep ftp
nobody 2102 1 0 01:04:10 ? 0:00 /opt/sfw/sbin/proftpd




ZFS 仮想化されたファイルシステムの徹底活用
ピアノスコア →Pia-no-jaC←

