linuxでフォルダの書き込みアクセスを全てのユーザーに与えるにはどうしたらいいのでしょうか?
今Ubuntuにapache2をインストールしたばかりなのですが、/var/wwwフォルダが保護されていることに気がつきました。全てをsudo
すればいいのですが、書き込みアクセスを与えたいのですが
どうすればいいのでしょうか?
試してみたのですが、うまくいきませんでした。
今Ubuntuにapache2をインストールしたばかりなのですが、/var/wwwフォルダが保護されていることに気がつきました。全てをsudo
すればいいのですが、書き込みアクセスを与えたいのですが
どうすればいいのでしょうか?
試してみたのですが、うまくいきませんでした。
007で書き込みができるはずの複数のユーザと共有するためには、共通のグループを割り当てる必要があります。例えば、UbuntuやDebianのWebコンテンツのデフォルトグループは/var/www
です。
sudo usermod -a -G www-data <some_user>
そして、/var/www に正しいパーミッションを設定してください。
sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www
www-data
のすべてのファイルを見つけ、所有者とグループのための読み書き許可を追加します:
sudo find /var/www -type d -exec chmod 2775 {} \;
あなた自身のアカウントのための許可を編集している場合は、変更を行うことができるようにログアウトし、戻ってログインする必要があるかもしれません。
もっと簡単な方法がありますので、このコマンドを実行してみてください。
sudo chmod -R 757 /var/www
本質的には、chmod
コマンドはパーミッションを変更し、-R
スイッチはすべてのユーザーに影響を与えます。そして、それは単に使用するための正しいパーミッションを与えているだけです。
また、jtimberman氏が提案したアクセス制御リストを使用して複製することもできます。setfacl ](http://linux.about.com/library/cmd/blcmdl1_setfacl.htm)コマンドは、既存のACLを置き換えるには-s、変更するには-m、ディレクトリACLを再帰的にするには-R、指定された設定をデフォルトにするには-dを受け入れます。
これらは、ユーザー、グループ、その他、および chmod を使用したマスクのためのパーミッションを設定します:
setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY
そして、これはあなたが指定されたユーザーまたはそのグループのためにそれを行う方法です:
setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY
そしてもちろん、強さは、あなたがグループ設定を変更することなく、任意の特定のユーザー、複数のユーザーなどを指定できることです。グループ設定を変更することなく、すべてを指定することができます。また、chmod とは異なり、あるグループにはあるディレクトリにアクセスさせ、他のグループには別のディレクトリにのみアクセスさせたい場合、setfacl を使うことで可能です。最後に、ディレクトリの ACL を表示するには、 getfacl を実行します:
getfacl DIRECTORY
そして、サブディレクトリの ACL を表示するには -R を、デフォルトを表示するには -d を指定することができます。
簡単な答え -
a. グループ(-G) www-dataにユーザ(-a)を追加してください。Debian/UbuntuのApache 2は、/var/wwwの所有者として、www-dataというユーザ&グループを設定します。ユーザーのデフォルトのパーミッションは「コンテンツの閲覧&変更」ですが、グループは「コンテンツの閲覧」しかできません。ですから、自分自身を www-data グループに追加して wwww-data User と同じパーミッションを与えることは、開発を始めるための迅速で簡単な方法です。私はすべてのローカルホスト(PC/ラップトップ)のウェブ開発環境でこれを行っています。
このフォルダへのアクセスを全員に許可した場合、ハッカーはシステムにアクセスした場合にこのフォルダにアクセスできることを意味します。そのため、許可されたユーザーのグループを作成し、そのグループに書き込みアクセス権を与えるのが良いでしょう。