web-dev-qa-db-ja.com

UbuntuLinuxシステムの書き込み可能な/ var / www /ディレクトリを正しく設定するにはどうすればよいですか?

私はソフトウェア開発者なので、オペレーティングシステムの構成の詳細にはあまり興味がなく、次の問題があります。

[〜#〜] lamp [〜#〜]開発専用のbuntu Linuxシステムの環境をインストールしました(これは私のPCにあり、本番サーバー)。

だから私は/ var/wwwをAptanaのワークスペースとして設定しようとしています(IDE私がPHP開発に使用する)しかし、このディレクトリに書き込む権限がないため、それを行うことはできません(この権限を持っていないのは、ログに記録されたユーザーだと思います)。

したがって、次の方法でこの権限を変更するだけで、おそらくこの問題を解決できることを私は知っています。

Sudo chmod -R 777 /var/www/

/ var/www /ディレクトリにあるものなら何でも、読み取り、書き込み、実行可能になると思いますよね?しかし、誰のために?システムに登録できるすべてのユーザーに対してですか、それともログに記録されたユーザーに対してのみですか?

オンラインで読んでいると、次のようなことをすることで同じ結果を得ることができるようです(/ var/www /ディレクトリに書き込む)。

Sudo chown -R myUserName:www-data /var/www/
Sudo chmod -R g+s /var/www/

これらの2つのコマンドは私の目的に当てはまりますか?正確には何ですか?私は公式ドキュメントを読み込もうとしていますが、次のように機能しているようです。

  1. まず、ユーザーを/ var/www /ディレクトリの所有者として設定し(つまり、-R parmを使用しているため、このディレクトリとすべてのサブディレクトリに書き込むことができますか?)、-を割り当てます。 www-dataグループ。しかし、これは何ですかwww-dataグループ?それは標準のLinuxグループですか、それとも単にメンバーをグループ化できる新しいグループですか?

  2. 私は本当に2番目のステートメントが正確に何をしているのか分かりません。それは何をしますか?

どのソリューションが優れていますか?

3
AndreaNobili

基本的に最初のコマンド:

Sudo chmod -R 777 /var/www/

誰でも(どのユーザーでも)読み取り、書き込み、実行可能にします。 chownwww-dataに設定できるので、後者のコマンドで正しい方向に進んでいます。 www-dataは、Apacheのデフォルトのユーザー/グループです。

または、新しいグループを作成し、そこに自分自身とwww-dataを追加してから、chownを使用してグループをフォルダーのアクセス許可に割り当てることができます。

また、数値のchmod値を使用する代わりに、chmod -R ugo+rwx folderを使用できます。これは、ユーザー、グループなどに=>このフォルダーに対する読み取り、書き込み、および実行の権限を与えることを意味します。同様の方法で、権利chmod -R ugo-rwx folderを削除することもできます。

ディレクトリをg+sで設定すると、そのディレクトリに作成されたすべての新しいファイルのグループがディレクトリのグループに設定されます。

5
Maksim Luzik