web-dev-qa-db-ja.com

www-data related:これらのCHOWNの使用法の違いは何ですか?

私のユーザー名はjknoppfです。私はApacheを使用し、/ var/www/htmlへのフルアクセスを自分に与えたいと思います

$ Sudo adduser jknoppf www-data

で、〜がある

$ Sudo chown -R www-data:www-data /var/www/html

できます!

しかし、いくつかのフォーラムで私も読んだことがあります

$ Sudo chown -R jknoppf:www-data /var/www/html

そしてそれも機能します! chownを使用するこれら2つのバリアントの違いは何ですか?

4
Jurgen Knopf

Sudo adduser jknoppf www-dataおよびSudo chown -R www-data:www-data /var/www/html

最初のものはユーザーjknoppfをグループwww-dataに追加し、2番目のものは/var/www/htmlを含むすべてのディレクトリとファイルの所有者をユーザーwww-dataに変更し、グループ所有者をグループwww-dataに変更します。 /var/www/htmlのアクセス許可はデフォルトで775であり、ユーザーjknoppfはグループwww-dataに属しているため、このユーザーは内部のすべてのコンテンツに完全にアクセスできます。


Sudo chown -R jknoppf:www-data /var/www/html

このコマンドは、/var/www/htmlを含むすべてのディレクトリとファイルの所有者をユーザーjknoppfに変更し、グループの所有者をグループwww-dataに変更します。 /var/www/htmlのアクセス許可はデフォルトで775であり、ユーザーjknoppfはディレクトリの所有者であるため、このユーザーは内部のすべてのコンテンツにフルアクセスできます。


備考:許可775は次を意味します:

最初の7:ファイルの所有者はファイルにフルアクセスできます。つまり、4の読み取り+ 2の書き込み+ 1の実行。

2番目の7:グループの所有者であるグループ内のすべてのユーザーは、ファイルにフルアクセスできます。つまり、4の読み取り+ 2の書き込み+ 1の実行。

3番目の5:所有者でもグループのメンバーでもない他のすべてのユーザーは、4の読み取りアクセス権と1の実行権しか持っていません。

5
Cynplytholowazy

それはあなたが達成しようとしていることに関するすべてです。

/var/www/html内のファイルを操作したい場合は、2番目のステートメントを使用できます。ユーザーが/var/www/htmlの所有者になると、そのディレクトリ内のファイルを保存、編集、...できます。同時にwww-dataがディレクトリのグループになるため、Webサーバーファイルを扱うこともできます。

PCにさまざまなプロジェクトで作業している人が多い場合は、最初のステートメントを使用すると、www-dataのすべてのメンバーが/var/www/html内のファイルを操作できます。

最初の方がより良い選択ですが、システムの異なるプロジェクトでさまざまな人が作業している場合、プロジェクトグループとして異なるグループを、プロジェクトオーナーとしてwww-dataをお勧めします。

ここでは、bob、john、pyterという3人のユーザーがいます。

  • bobとjohnは、「foo」という名前のプロジェクトに取り組んでいます。
  • ボブ・パイターはプロジェクト名「バー」に取り組んでいます。

提案は何ですか:

Sudo mkdir /var/www/html/foo
Sudo mkdir /var/www/html/bar

Sudo addgroup foo
Sudo addgroup bar

Sudo gpasswd -a bob foo
Sudo gpasswd -a john foo

Sudo gpasswd -a bob bar
Sudo gpasswd -a pyter bar

chown foo:www-data /var/www/html/foo
chown bar:www-data /var/www/html/bar

また、以下を読むことを強くお勧めします。

Webサイトのファイル/フォルダーにはLinux Webサーバーでどのようなアクセス許可が必要ですか?

3
Ravexina