web-dev-qa-db-ja.com

/ var内のどのファイルに特定の所有者が必要ですか?

を実行して、誤って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

サブディレクトリのリストを提供することはできますが、それはかなり速くなります。 (distedatagitsvn、およびwwwは私が自分で管理するものなので、それらの所有権は問題)

6
David Z

「/ var」は通常、プログラムによって生成されたデータ用であるため、システムを複製せずに、誰が何を所有すべきかを正確に伝えることができない場合があります。私はあなたがそれを修正するかもしれない2つの方法を考えることができます:

  1. スペアマシンまたは仮想マシンに別のバージョンのWebサーバーをセットアップしてから、/varを確認します。
  2. Root/rootに変更して、どのエラーが発生するかを確認してください(ほとんどのディレクトリはこの所有権構造になります)。

1の欠点は、かかる時間です。プラス面はそれが正確になるということです。項目2ははるかに高速ですが、ほとんどの場合は正確ではありません。ここでの大きな問題は、重要なプロダクションボックス2では実行できない可能性があることです。

2
gvkv

手伝ってあげたいのですが、gentooを実行しなくなったので、VMをインストールするよりも早く見つける方法があります。最新のtarballをディレクトリにダウンロードして解凍します。インストールの場合と同じようにprocとdevをマウントします。インストールしたサーバーデーモンをchrootしてインストールします。おそらく、それらも起動する必要があります。今実行します。

find /var ! -user root -ls

これにより、rootユーザーが所有していないすべてのファイルが一覧表示されます。

他の誰かがgentooシステムを持っている場合、このコマンドを実行するだけで彼を助けることができます

これが私のシステムからの短いリストです(これはArch 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
3
xenoterracide