Top過去ログ目次掲示板

作成日:2006年01月08日 作成:おやじ
掲示板で過去に質問された内容です。

No.5499 ProFTPDログの記録時間がずれる


No.5499 投稿時間:2006年01月08日(Sun) 17:28 投稿者名:tan URL:
タイトル:ProFTPDログの記録時間がずれる

こんにちは。
おやじ様のサイトを参考にFC4でProFTPDを構築させていただきました。
ですが一つ問題が起きてしまいました。

[詳細ログの取得設定]を参考に(http://www.aconus.com/~oyaji/ftp/proftpd_rpm.htm)
ログを取れるようにしたのですが、
auth では
[08/Jan/2006:16:56:03 +0900] : test (192.168.11.2 [xxxxxx])

と+0900となっていて実際の時刻と同じ時刻が記録されているのですが、
なぜか read や write では +0000 となってしまい、
実際の時刻よりも9時間マイナスされてログに記録されてしまいます。↓
[08/Jan/2006:07:57:05 +0000] : test : /readme.txt (192.168.11.2)

DefaultRootは /ftp で、ログイン許可グループは ftp に設定しています。

どうしてもわからないので、よろしければどなたか教えて下さい。


No.5500 投稿時間:2006年01月08日(Sun) 20:44 投稿者名:おやじ URL:
タイトル:DefaultRoot配下に/etc/localtimeをコピーすれば直ります。

> [詳細ログの取得設定]を参考に(http://www.aconus.com/~oyaji/ftp/proftpd_rpm.htm)
> ログを取れるようにしたのですが、
> auth では
> [08/Jan/2006:16:56:03 +0900] : test (192.168.11.2 [xxxxxx])
>
> と+0900となっていて実際の時刻と同じ時刻が記録されているのですが、
> なぜか read や write では +0000 となってしまい、
> 実際の時刻よりも9時間マイナスされてログに記録されてしまいます。↓
> [08/Jan/2006:07:57:05 +0000] : test : /readme.txt (192.168.11.2)
>
> DefaultRootは /ftp で、ログイン許可グループは ftp に設定しています。

http://www.aconus.com/~oyaji/suse9.2/proftpd_suse9.3.htm

ここの設定の13項を見てください。
DefaultRootを指定しなければ大丈夫なのですが、そうもいかないでしょうから、DefaultRoot配下に/etc/localtimeをコピーして、etcディレクトリの隠蔽化とアクセス制限をすれば大丈夫です。


No.5501 投稿時間:2006年01月09日(Mon) 03:06 投稿者名:tan URL:
タイトル:ありがとうございます!そしてさらに不具合が…

> http://www.aconus.com/~oyaji/suse9.2/proftpd_suse9.3.htm
>
> ここの設定の13項を見てください。
> DefaultRootを指定しなければ大丈夫なのですが、そうもいかないでしょうから、DefaultRoot配下に/etc/localtimeをコピーして、etcディレクトリの隠蔽化とアクセス制限をすれば大丈夫です。

おやじ様、ありがとうございます。
RedHatではなくSuSEのほうに記載されていたのですね。
DefaultRoot配下に/etc/localtimeをコピーしたら、きちんと時差なしに記録されるようになりました!

しかしetcディレクトリの隠蔽化をしようと思い、私の環境に合わせてproftpd.confに

<Directry /ftp/etc>
HideGroup ftp
DenyAll
</Directry>

を追記すると、FTPに接続できなくなってしまいます(涙)
HideGroup のグループ名を ftp ではなく、他の wheel などに変えてもダメでした…

お手数をお掛けしますが、お教えくださいmm


No.5502 投稿時間:2006年01月09日(Mon) 09:54 投稿者名:おやじ URL:
タイトル:/ftpディレクトリのオーナがあっていないのでは?

> しかしetcディレクトリの隠蔽化をしようと思い、私の環境に合わせてproftpd.confに
>
> <Directry /ftp/etc>
> HideGroup ftp
> DenyAll
> </Directry>
>
> を追記すると、FTPに接続できなくなってしまいます(涙)
> HideGroup のグループ名を ftp ではなく、他の wheel などに変えてもダメでした…
>
> お手数をお掛けしますが、お教えくださいmm

HPの説明はわかりにくいかもしれないので、tanさんの条件がはっきりしないので書きづらいのですが再掲します。
恐らく、/ftpディレクトリのオーナがあっていないのでは?

1. まず対象が一般ユーザなら、/ftp以下(/etcを含む)をアクセスしているユーザのオーナにする。

  # chown -R oyaji:users /ftp

 anonymusの場合は、ユーザ:グループがftp:ftpとして、/ftp以下を同様にftp:ftpとするが、/ftp/etcは、HideGroupで指定するグループは、そのサーバのプライマリグループでは有効にならず見えてしまうので、etcディレクトリはftp以外のグループ(users等)として、そのグループを指定する。

  # chown -R ftp:ftp /ftp
  # chown -R ftp:users /ftp/etc

2. その後、対象ディレクトリで/ftp/etcディレクトリのグループをHideGroupで指定する。書く場所は、当然ながら一般ユーザはグローバル、anonymusはanonymusディレクティブ内。

<Directry /ftp/etc>
HideGroup users
DenyAll
</Directry>
  


No.5503 投稿時間:2006年01月09日(Mon) 14:32 投稿者名:tan URL:
タイトル:やはり繋がりません・・・

> HPの説明はわかりにくいかもしれないので、tanさんの条件がはっきりしないので書きづらいのですが再掲します。
> 恐らく、/ftpディレクトリのオーナがあっていないのでは?
>
> 1. まず対象が一般ユーザなら、/ftp以下(/etcを含む)をアクセスしているユーザのオーナにする。
>
>   # chown -R oyaji:users /ftp
>
>  anonymusの場合は、ユーザ:グループがftp:ftpとして、/ftp以下を同様にftp:ftpとするが、/ftp/etcは、HideGroupで指定するグループは、そのサーバのプライマリグループでは有効にならず見えてしまうので、etcディレクトリはftp以外のグループ(users等)として、そのグループを指定する。
>
>   # chown -R ftp:ftp /ftp
>   # chown -R ftp:users /ftp/etc
>
> 2. その後、対象ディレクトリで/ftp/etcディレクトリのグループをHideGroupで指定する。書く場所は、当然ながら一般ユーザはグローバル、anonymusはanonymusディレクティブ内。
>
> <Directry /ftp/etc>
> HideGroup users
> DenyAll
> </Directry>

/ftp以下(/etcを含む)の所有者が root:root になっていたので、
取り合えず所有者を oyaji:users に変更してみても、繋がらないという同じ結果になってしまいました。
proftpd.confを貼り付けますので、どうかよろしくお願いします。↓

# This is the ProFTPD configuration file
# $Id: proftpd.conf,v 1.1 2004/02/26 17:54:30 thias Exp $

ServerName "ProFTPD"
ServerIdent on "FTP Server ready."
ServerAdmin root@localhost
#ServerType standalone
ServerType inetd
DefaultServer on
AccessGrantMsg "User %u logged in."
#DisplayConnect /etc/ftpissue
#DisplayLogin /etc/ftpmotd
#DisplayGoAway /etc/ftpgoaway
DeferWelcome on

# Use this to excude users from the chroot
DefaultRoot /var/www/html apache /* ホームページをFTPでいじれるようにしたものです */
DefaultRoot /ftp ftp

# Use pam to authenticate (default) and be authoritative
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

# Do not perform ident nor DNS lookups (hangs when the port is filtered)
IdentLookups off
UseReverseDNS on

# Port 21 is the standard FTP port.
Port 21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 000

# Default to show dot files in directory listings
ListOptions "-a"

# See Configuration.html for these (here are the default values)
#MultilineRFC2228 off
#RootLogin off
#LoginPasswordPrompt on
#MaxLoginAttempts 3
#MaxClientsPerHost none
#AllowForeignAddress off # For FXP

# Allow to resume not only the downloads but the uploads too
AllowRetrieveRestart off
AllowStoreRestart off

# Enable automatic deletion of partially uploaded files (default off)
DeleteAbortedStores on

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 20

# Set the user and group that the server normally runs at.
User nobody
Group nobody

# This is where we want to put the pid file
ScoreboardFile /var/run/proftpd.score

# Normally, we want users to do a few things.
<Global>
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
AllowAll
</Limit>
</Global>

<Directry /ftp/etc> /* ←を記入してしまうと、 */
HideGroup users /* 他のユーザーやグループ、他のDefaultRoot */
DenyAll /* 関係なしに、FTPに全く接続でき */
</Directry> /* なくなってしまいます */

# Define the log formats
LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)"
LogFormat write "%t : %u : %F (%a)"
LogFormat read "%t : %u : %F (%a)"
LogFormat auth "%t : %u (%a [%h])"

ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read
ExtendedLog /var/log/proftpd/auth.log AUTH auth

# TLS
# Explained at http://www.castaglia.org/proftpd/modules/mod_tls.html
#TLSEngine on
#TLSRequired on
#TLSRSACertificateFile /usr/share/ssl/certs/proftpd.pem
#TLSRSACertificateKeyFile /usr/share/ssl/certs/proftpd.pem
#TLSCipherSuite ALL:!ADH:!DES
#TLSOptions NoCertRequest
#TLSVerifyClient off
##TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
#TLSLog /var/log/proftpd/tls.log

TLSEngine on
TLSRequired off
TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem
TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem
TLSCipherSuite ALL:!ADH:!DES
TLSOptions NoCertRequest
TLSVerifyClient off
#TLSRenegotiate ctrl 3600 data 512000 required off timeout 300
TLSLog /var/log/proftpd/tls.log

# A basic anonymous configuration, with an upload directory.
#<Anonymous ~ftp>
# User ftp
# Group ftp
# AccessGrantMsg "Anonymous login ok, restrictions apply."
#
# # We want clients to be able to login with "anonymous" as well as "ftp"
# UserAlias anonymous ftp
#
# # Limit the maximum number of anonymous logins
# MaxClients 10 "Sorry, max %m users -- try again later"
#
# # Put the user into /pub right after login
# #DefaultChdir /pub
#
# # We want 'welcome.msg' displayed at login, '.message' displayed in
# # each newly chdired directory and tell users to read README* files.
# DisplayLogin /welcome.msg
# DisplayFirstChdir .message
# DisplayReadme README*
#
# # Some more cosmetic and not vital stuff
# DirFakeUser on ftp
# DirFakeGroup on ftp
#
# # Limit WRITE everywhere in the anonymous chroot
# <Limit WRITE SITE_CHMOD>
# DenyAll
# </Limit>
#
# # An upload directory that allows storing files but not retrieving
# # or creating directories.
# <Directory uploads/*>
# AllowOverwrite no
# <Limit READ>
# DenyAll
# </Limit>
#
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
#
# # Don't write anonymous accesses to the system wtmp file (good idea!)
# WtmpLog off
#
# # Logging for the anonymous transfers
# ExtendedLog /var/log/proftpd/access.log WRITE,READ default
# ExtendedLog /var/log/proftpd/auth.log AUTH auth
#
#</Anonymous>

# DelayEngine directive enables
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

TimesGMT off
MasqueradeAddress xxx.xxx.xxx /* アドレスは伏せさせていただきました*/
PassivePorts 6000 6030

# The maximum number of clients allowed to connect per host.(default none: no limit)
#MaxClientsPerHost 3

# The the maximum number of times different hosts.\u3000(default none: no limit)
#MaxHostsPerUser 5

# Sets the idle connection timeout (default: 600)
TimeoutIdle 600

# Sets the login timeout (default: 300)
TimeoutLogin 300

# Sets the connection without transfer timeout (default: 600)
TimeoutNoTransfer 600

# Sets a timeout for an entire session (default: none)
TimeoutSession none

#\u3000Sets the timeout on stalled downloads (default: 0 {no limit})
TimeoutStalled 600


No.5504 投稿時間:2006年01月09日(Mon) 16:10 投稿者名:おやじ URL:
タイトル:/etcの不可視対以前に何をしたいのかがわかりません。

> /ftp以下(/etcを含む)の所有者が root:root になっていたので、
> 取り合えず所有者を oyaji:users に変更してみても、繋がらないという同じ結果になってしまいました。
> proftpd.confを貼り付けますので、どうかよろしくお願いします。↓

申し訳ないのですが、/etcの不可視対以前に何をしたいのかがわかりません。ホームページのアップロードなのですか?
それなら、何故下記のように2つのDefaultRootが出てくるのか? /var/www/html はわかるが、何故/ftpが出てくるのか?
ユーザは複数なのですか? また、オーナとパーミションの考え方が全くわかりません。

DefaultRoot /var/www/html apache /* ホームページをFTPでいじれるようにしたものです */
DefaultRoot /ftp ftp

とありますが、そもそもここで指定しているapacheもftpも一般ユーザのグループ(users)ではないのでftpでログインできるわけがないので意味があるのですか?
/etc対策しないときに/ftpにアクセスしているユーザは誰なのですか? /ftpはそのユーザに併せて、hogehoge:users にしなければその人のディレクトリにならないですよね。oyaji:usersなんてありえないです。


No.5505 投稿時間:2006年01月10日(Tue) 00:06 投稿者名:tan URL:
タイトル:Re: /etcの不可視対以前に何をしたいのかがわかりません。

> 申し訳ないのですが、/etcの不可視対以前に何をしたいのかがわかりません。ホームページのアップロードなのですか?
> それなら、何故下記のように2つのDefaultRootが出てくるのか? /var/www/html はわかるが、何故/ftpが出てくるのか?
> ユーザは複数なのですか?また、オーナとパーミションの考え方が全くわかりません。

すみません、勉強不足のようですね。
何がしたいのかと申しますと、
/var/www/html ではホームページのアップロードです。
/ftp では仲間とのファイルのやり取りに使っています。

/var/www/html apche は、apacheグループの人がFTPにログインしたいときに /var/www/html がTOPになるように、
/ftp ftp は、ftpグループの人がFTPにログインしたときに /ftp がTOPになるように二つのDefaultRootを設定しました。

/var/www/html apche のユーザーは一人です。
/ftp ftp のユーザーは複数います。

> DefaultRoot /var/www/html apache /* ホームページをFTPでいじれるようにしたものです */
> DefaultRoot /ftp ftp
>
> とありますが、そもそもここで指定しているapacheもftpも一般ユーザのグループ(users)ではないのでftpでログインできるわけがないので意味があるのですか?
> /etc対策しないときに/ftpにアクセスしているユーザは誰なのですか? /ftpはそのユーザに併せて、hogehoge:users にしなければその人のディレクトリにならないですよね。oyaji:usersなんてありえないです。

勉強してまた出直します。
お手数をおかけしてすみませんでした。



掲示板▲頁先頭