

| /usr/local/sbin/proftpd /usr/local/bin/ftpcount /usr/local/bin/ftpwho /usr/local/sbin/ftpshut |
| #適当にサーバ名を入れておきましょう。 ServerName "home ftp" #ここでinetdの場合はinetdにしておきましょう。その場合はinetd.confに記述する必要があります。 ServerType standalone DefaultServer on #DefaultServer directive は、incoming の接続がホストのプライマリ IP アドレスや、<VirtualHost> 設定 #の記述で指定されたアドレスの一つのどちらにも向いていない場合、サーバの設定がデフォルトで使わ #れるようにコントロールします。普通、そのような "unknown" の接続は "no server available to service #your request" というメッセージが出て、切断されます。DefaultServer がプライマリサーバの設定か #、virtual サーバに対して on になっていると、全ての unknown な行き先の接続はデフォルトサーバによっ #て受け取られます。単一サーバの設定はデフォルトに設定されます。 Port 21 #その名の通りポート番号です。 Umask 022 #ファイルやディレクトリを作ったときのumask値 MaxInstances 15 #standaloneモードで動かしているときの子プロセスの最大数 User ftp Group nobody #ftpサーバを実行するときのユーザとグループ、この辺はapacheと同じ考え方 <Directory /*> AllowOverwrite on </Directory> #/ディレクトリは書き込みOKにする、ただしchrootした場合はログインした場所ということ <Anonymous ~ftp> User ftp Group nobody UserAlias anonymous ftp MaxClients 20 <Limit WRITE> DenyAll </Limit> </Anonymous> #anonymousFTPの設定。とりあえず書き込みはできないのと接続数は20にしてある TransferLog /var/log/ftpxferlog ExtendedLog /var/log/ftp.log read,write #ログの設定 #transferlogはwu-ftpd形式 #ExtendedLogは拡張形式でいろいろカスタマイズできます。今回はreadとwriteだけとっています。 <Limit LOGIN> Order allow,deny Allow from 131.248.155. Allow from 131.248.81. Allow from 127.0.0.1 Deny from all </Limit> #131.248.155.と131.248.81.ローカルホストからだけのftpを許可しています。 DefaultRoot ~ !staff #staffグループ以外はユーザ自分のホームディレクトリをルートディレクトリとしています。 UseReverseDNS off #名前解決をしない WtmpLog off #solaris8で構築する場合はoffにしておかないとログにwtmpがいわれる。 ServerAdmin "nitta@jinjin.com" #サーバ管理者のアドレスを入れておきます RootLogin off #rootでログインできないように RequireValidShell off #これをoffにしておくと/etc/shellsにないシェルを使っているユーザはログインできない #offにした場合は/etc/shellsは関係なくなる MaxLoginAttempts 5 MaxClientsPerHost 1 "Too many connections from your host! You can connet 1/host!" #同じ端末から1つの接続だけ許可し2つ目からはメッセージを返す。 MaxClients 10 "Too many connections by anonymous!" #最大の接続数を10にし、それ以降はメッセージを返す。 DirFakeGroup on "nandeya" DirFakeUser on "nandeya" DirFakeMode 0000 #Fakeはls -lしたときに見た目だけのアクセス権を変更する AccessGrantMsg "%u is valid Moriguchi-SC Member." #ログインしたときに出すメッセージ AllowChmod false #chmodコマンドを許可しない AuthPAM off #PAMの機能を使わない。Solarisやlinuxではonにしておいてもよいでしょう PidFile /var/run/proftpd.pid #pidの場所を指定 ShowDotFiles off #default is off #ドットファイルを表示させない ServerIdent on "" #ログインする前にデフォルトでproftpdサーバのバージョンなどが表示されてしまうので #ログインする前のプロンプトには何も表示させないようにする。 |
| Checking syntax of configuration file Syntax check complete. |
| ・solarisなどinetdを使っている場合 /etc/inetd.confのftpの行をコメントアウトしてしまいます。 ・RedHat7.x以上などでxinetdを使っている場合 /etc/xinet.d/wuftpd でdisableにしてxinetdプロセスにUSR1シグナルを送ってください。 # kill -USR1 xinetdプロセス番号 |
| #!/bin/sh #Linuxの場合bashにしておいても問題ないと思う・・・試してないのではっきりいえない。 case "$1" in start) # Start daemons. if [ ! -f /var/run/proftpd.pid ]; then echo "Starting ProFTPD: \n" /usr/local/sbin/proftpd -c /usr/local/etc/proftpd.conf > /dev/null 2>&1 else echo "process proftpd allready running!\n" exit 1 fi ;; stop) # Stop daemons. if [ -f /var/run/proftpd.pid ]; then echo "Shutting down ProFTPD: \n" kill -15 `cat /var/run/proftpd.pid` else echo "process proftpd not running!\n" exit 1 fi ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 ;; esac exit 0 |
| #! /bin/sh cd /var/log LOG=ftpxferlog test -f $LOG.6 && mv $LOG.6 $LOG.7 test -f $LOG.5 && mv $LOG.5 $LOG.6 test -f $LOG.4 && mv $LOG.4 $LOG.5 test -f $LOG.3 && mv $LOG.3 $LOG.4 test -f $LOG.2 && mv $LOG.2 $LOG.3 test -f $LOG.1 && mv $LOG.1 $LOG.2 test -f $LOG.0 && mv $LOG.0 $LOG.1 mv $LOG $LOG.0 cp /dev/null $LOG chmod 644 $LOG LOG=ftplog test -f $LOG.6 && mv $LOG.6 $LOG.7 test -f $LOG.5 && mv $LOG.5 $LOG.6 test -f $LOG.4 && mv $LOG.4 $LOG.5 test -f $LOG.3 && mv $LOG.3 $LOG.4 test -f $LOG.2 && mv $LOG.2 $LOG.3 test -f $LOG.1 && mv $LOG.1 $LOG.2 test -f $LOG.0 && mv $LOG.0 $LOG.1 mv $LOG $LOG.0 cp /dev/null $LOG chmod 644 $LOG kill -HUP `cat /var/run/proftpd.pid` |
| proftpd1.2.4インストール(2001.11.1) |