1日に数回Apacheログを確認する必要があります。
sudo tail -n 40 /var/log/apache2/error.log
その後、パスワードを入力する必要があります。
これは曖昧なワークフローなので、PATH=$HOME/shortcuts:$PATH
私のワークフローに追加して~/.profile
作成しました~/shortcuts/1
。
ただし、毎回パスワードを入力する必要がないように、何とかする必要があります。 (ほぼ毎回10分程度が記憶に残るようです。)
できませんchmod u+r /var/log/apache2/error.log
。中間フォルダの一部には制限的な権限が設定されている必要があると思います。
この問題を解決する正しい方法は何ですか?
答え1
この特定の問題に対する多くの解決策を考えることができます。
(A)tailコマンド(または必要に応じてすべてのコマンド)を実行するときにユーザー名にパスワードが必要ないようにsudoアクセスを設定します。
これについては、sudoとsudoersのマニュアルを参照してください。
(B)負のタイムアウトでsudoアクセスを設定します。デフォルトのタイムアウトは5分です。その後、パスワードを再入力する必要があります。
タイムアウトを負の値に設定した場合、パスワードを一度だけ入力すると、sudoが再び面倒にならないことがあります。
(C)tmux(またはscreen)を使用し、ウィンドウ(またはウィンドウ)でtailコマンドを実行します。
ログを表示したいときはいつでもこのウィンドウ(またはウィンドウ)を表示できます。
(D)アクセスしたいログの正確なコピーである/ tmp / ApacheErrorのファイルに "tail -f"出力を送信するバックグラウンドプロセスを実行します。システム設定によっては「ティー」が必要になる場合があります。
次に、すべてのユーザーに対する読み取りアクセス権を持つ/tmp/ApacheErrorのログにアクセスします。
(E)/tmp/ApacheErrorに重複出力を送信するために使用できるapacheログフィルタの使用を検討し、Apacheのマニュアルを参照してください。
次に、すべてのユーザーに対する読み取りアクセス権を持つ/tmp/ApacheErrorのログにアクセスします。
(A)と(B)はセキュリティリスクです。 (C)tmux(またはscreen)が必要ですが、使用できない場合があります。 (D)安全です。 (E)より多くの研究が必要な場合があります。
答え2
chmod u+r
あなたが明らかに考えていることはありません。実際に行うことは、ファイルを読みやすくすることです。所有者。もうそうだと思います。
chmod o+r
(所有者/グループではなく「他の人」がファイルを読み取ることができるようにすること)はうまくいくかもしれませんが、セキュリティはそれに反対します。
1つを選択してください:
ls -l /var/log/apache2/error.log
...私の(Debian)システムでは、そのグループはadm
ですg+r
。このadm
グループは、デフォルトでログファイルを読み取ることができるようにするために存在します。したがって、そのグループに私を追加すると、そのグループ(およびその他のログ)を読むことができます。 Debianでは、それはすべてですsudo adduser anthony adm
(anthony
もちろん私のユーザー名です)。注:新しいグループを適用するには、ログアウトして再度ログインする必要があります。端末ではnewgrp adm
動作します。POSIX ACL を使用して、特定のファイルに対する読み取り権限を付与します。
sudo setfacl -m u:anthony:r /var/log/apache2/error.log
(代わりにユーザー名を使用してくださいanthony
)。システムでログの回転がどのように機能するかに応じて、回転後に再実行する必要があります。ただし、たとえば、これを行うようにconsoleteを構成できます。Premの答えからsudoを再構成するさまざまな方法。
答え3
実行しsudo visudo
、次の行を追加します。
Defaults timestamp_timeout=-1
-1=パスワードは期限切れではありません
また見てください男 5 sudoers
上記の回避策がセキュリティに影響を与えても、次の手順に従ってください。協会sudo
パスワードを要求せずに特定のコマンドを実行するように設定します。