実行中に誤ってWebサーバーに不明なダメージを与えました。
sudo chown -R myuser:mygroup * .*
では、親ディレクトリ(例/var/www
:約1秒後に私は何が起こっているのか気づきましたが、それは遅すぎました。ディレクトリの半分が「再所有」されました。.*
..
/var
sudo chown -R root:root /var
しかし、手動で変更する必要があるルートではなく、特定のユーザー(またはグループ)が所有する必要があるファイルは何ですか?
Gentooのディレクトリリストは次のとおりです。
$ ls -l /var
drwxr-xr-x 9 root root 4096 May 12 2009 cache
drwxr-xr-x 4 root root 4096 Aug 20 22:49 db
drwxr-xr-x 3 root root 4096 Aug 20 22:42 dist
drwxr-xr-x 4 root root 4096 Nov 1 2009 edata
drwxr-xr-x 2 root root 4096 Jun 17 2008 empty
drwxr-xr-x 5 git git 4096 Feb 13 2010 git
drwxr-xr-x 23 root root 4096 Jul 19 03:22 lib
drwxrwxr-x 3 root uucp 4096 Aug 12 00:14 lock
drwxr-xr-x 10 root root 4096 Aug 20 03:10 log
lrwxrwxrwx 1 root root 15 Nov 7 2008 mail -> /var/spool/mail
drwxr-xr-x 10 root root 4096 Aug 21 00:22 run
drwxr-xr-x 8 root root 4096 Feb 13 2010 spool
drwxr-xr-x 2 root root 4096 Jun 17 2008 state
drwxr-xr-x 13 root root 4096 Dec 23 2009 svn
drwxrwxrwt 5 root root 4096 Aug 14 01:53 tmp
drwxr-xr-x 13 root root 4096 Aug 11 20:21 www
drwxr-xr-x 2 root root 4096 Dec 14 2008 www-cache
サブディレクトリのリストを提供できますが、時間がかかりすぎて速度が速くなります。 (dist
、edata
、git
、svn
はwww
私が直接管理するものなので、所有権は問題になりません。)
答え1
私は助けたいのですが、私はもうGentooを実行しないので、仮想マシンをインストールするよりも速い方法があります。最新のtarballをそのディレクトリにダウンロードして解凍します。あなたがしたようにprocとdevをインストールします。 chrootを実行してインストールしたサーバーデーモンをインストールするには、そのデーモンも起動する必要があります。今走ってみてください。
find /var ! -user root -ls
rootユーザーが所有していないすべてのファイルを一覧表示する必要があります。
Gentooシステムを使用している人がいる場合は、このコマンドを実行して助けることができます。
私のシステムにある簡単なリストは次のとおりです(例:アーキテクチャLinuxしたがって、距離が異なる場合があります。)これは役に立ちます。
find /var -maxdepth 2 ! -user root -ls | sed -e 's/^/ &/' slave-iv
262147 4 drwx------ 2 named named 4096 Jul 22 15:49 /var/named
262151 4 -rw------- 1 named named 234 Jul 22 15:49 /var/named/127.0.0.zone
262148 4 -rw------- 1 named named 2938 Jul 22 15:49 /var/named/root.hint
262385 4 -rw------- 1 named named 190 Jul 22 15:49 /var/named/localhost.zone
526002 4 drwx------ 6 griff users 4096 Aug 1 18:16 /var/tmp/kdecache-griff
529617 4 drwx------ 3 kdm kdm 4096 Aug 11 18:30 /var/tmp/kdecache-kdm
526893 4 drwx------ 8 xenoterracide users 4096 Aug 20 10:37 /var/tmp/kdecache-xenoterracide
524523 4 drwxrwx--T 2 daemon daemon 4096 Feb 4 2010 /var/spool/atd
529085 0 -rw-r--r-- 1 named named 0 Aug 15 03:21 /var/log/named.log
529330 16 -rw-r--r-- 1 postgres root 14907 Aug 20 08:51 /var/log/postgresql.log
525625 0 -rw-r--r-- 1 named named 0 Aug 8 03:19 /var/log/named.log.1
524820 0 -rw-r--r-- 1 named named 0 Jul 18 03:19 /var/log/named.log.4
529165 0 -rw-r--r-- 1 named named 0 Jul 25 03:19 /var/log/named.log.3
525956 0 -rw-r--r-- 1 named named 0 Aug 1 03:19 /var/log/named.log.2
524864 4 drwx------ 4 mysql mysql 4096 Jun 1 01:10 /var/lib/mysql
524319 4 drwxr-xr-x 2 named named 4096 Aug 19 01:04 /var/run/named
524309 4 drwxr-xr-x 2 dbus dbus 4096 Aug 19 01:04 /var/run/dbus
524436 4 drwxr-xr-x 4 hal hal 4096 Jun 10 17:47 /var/run/hald
答え2
「/var」は通常プログラム生成データに使用されるため、システムを複製しないと、誰が何をすべきかを正確に伝えることは不可能です。 2つの解決策を考えることができます。
- スタンバイマシンまたは仮想マシンに異なるバージョンのWebサーバーを設定して確認してください
/var
。 - ルート/ルートに変更し、どのエラーが発生するかを確認してください(ほとんどのディレクトリにはこれらの所有権構造があります)。
1の欠点は時間がかかることであり、利点は正しいことです。 2番は速いですが、ほとんど正確であってもそれほど正確ではありません。ここで最大の問題は、深刻な生産ボックスでは2が実行可能でない可能性があることです。