sudoを使用せずにフォルダを/var/ wwwにコピーするにはどうすればよいですか?
私のフォルダcodes
は/var/wwwで次の権限を持っています
4 drwxr-xr-x 8 root root 4096 2009-08-09 03:01 codes
sudo cp -r ~/Dropbox/codes/ /var/www
ファイルをコピーすることしかできません。sudoなしではコピーできません。
/var/www
自分自身を所有すると、システム上の他のオプションと競合する可能性があります。私のDebianシステムではこれを行います
sudo addgroup www
sudo adduser nr www # add myself to the www group
sudo chgrp -R www /var/www # make files in the group
find /var/www -type f -exec chmod g+w '{}' ';' # make each file group writable
find /var/www -type d -exec chmod g+ws '{}' ';' # make each directory group writable and sticky
ディレクトリがグループ書き込み可能でスティッキーである場合、で作成されたすべてのファイルは、誰が、または何が作成したかに関係なく/var/www
、グループ内の誰でも書き込み可能になります。www
(警告:「通常の」手段で作成する必要がありcp -a
ます。グループのスティッキービットを回避できます。)
Unixはグループメンバーシップについてめちゃくちゃ愚かなので、メンバーシップを尊重するには、たとえば、再度ssh localhost
ログインするか、ログアウトしてから再度ログインする必要があります。迷惑です。
rootユーザーにcronジョブを追加するのはどうですか。それは素晴らしい考えではありませんが、それは問題を回避しますか?
また、wwwディレクトリにroot権限のみがあり、rootが所有していることも興味深いと思います。通常、それらはapacheユーザーによって所有されているか、apacheがそれらにアクセスできるような他の権限を持っています。
編集あなたはおそらくcrontabファイルを直接編集したくないでしょう。ただし、次のコマンドのようなものが機能するはずです。
sudo crontab -e -u root
必要ないかもしれませんが、-u root
sudoがcrontabを混乱させないようにするのは良いことです。
編集2chmod
およびchown
コマンドを使用して権限を変更できます。
sudo chmod 755 /path
sudo chown user:user /path
これを使用するときは非常に注意してください。間違ったファイルやフォルダのアクセス許可を変更することで、OSを完全に台無しにすることができます。おそらく、パーミッションまたは所有者を再帰的に適用する-Rオプションを追加することをお勧めしますが、繰り返しになりますが、非常に注意してください。
sudo chown yourusername /var/www
そして、あなたはの新しい所有者になります/var/www
。