プロセス (user1) がディレクトリ (root) にログを書き込む方法

プロセス (user1) がディレクトリ (root) にログを書き込む方法

私は自分のサーバー(ubuntu 16.04 x86_64)で proftpd を使用しています。

proftpd が proftpd ユーザーの下で実行されていることがわかります。

$ ps aux | grep [p]roftpd
proftpd  26334  0.0  0.1 112656   716 ?        Ss   04:39   0:00 proftpd: (accepting connections)

proftpd はログを書き込みます/var/log/proftpd。ただし、このディレクトリに書き込めるのは root のみです。

$ ls -la /var/log | grep [p]roftpd
drwxr-xr-x  2 root                adm      4096 Jun  1 04:39 proftpd
ls -la /var/log/proftpd
total 76
drwxr-xr-x 2 root adm     4096 Jun  1 04:39 .
drwxrwxr-x 7 root syslog  4096 Jun  1 04:39 ..
-rw-r----- 1 root adm        0 May 15 15:53 controls.log
-rw-r----- 1 root adm     7611 Jun  1 09:54 proftpd.log
-rw-r----- 1 root adm    23207 May 29 04:39 proftpd.log.1
-rw-r----- 1 root adm     3649 May 21 04:39 proftpd.log.2.gz
-rw-r----- 1 root adm      521 Jun  1 09:42 xferlog
-rw-r--r-- 1 root adm    17656 May 31 22:55 xferlog.1
-rw-r--r-- 1 root root       0 Jun  1 04:39 xferreport
  1. proftpd はどのようにログを書き込むのですか?

  2. proftpd ディレクトリの所有者が root であるというのは正しい方法でしょうか。おそらく proftpd であるべきでしょうか?

  3. ファイル (ログ) に他のユーザーからの読み取り権限がないのはなぜですか。安全ではないのでしょうか?

答え1

  1. ProFTPd は、Unix 上の他の多くのサービスと同様に、syslogログ記録を行うために を使用します。 syslogは、スーパーユーザー権限で実行されるプロセスです。つまり、ProFTPd 自体は、ログ ディレクトリにファイルを作成する必要はありません。

  2. はい。その通りです。変更しないでください

  3. 一般的に、ログに記録されたユーザー アクティビティには、スーパーユーザーのみがアクセスできる必要があります。これは、ユーザーのプライバシーを保護するためです。これは私の個人的な意見です。

ProFTPdでのログ記録の詳細については、以下を参照してください。http://www.proftpd.org/docs/howto/Logging.html

一般的に、インストールしたサービスは、明らかに誤動作しない限り、意図したとおりに動作すると想定してください。パッケージ マネージャーからインストールしたプログラムであれば、実行している Unix のバージョンでテストされていることは明らかです。バグが見つかった場合は、パッケージのメンテナーに連絡してください。ただし、ほとんどの場合、「バグ」は、高度にカスタマイズされたシステムで実行したり、極端または異常な構成で実行したりして、間違った操作を行った結果です。デフォルトのインストールが間違っていることはほとんどなく、何をしているのかを本当に理解してから「調整」する必要があります。

これは特にファイルやディレクトリの権限や所有権を変更します。

関連情報