web-dev-qa-db-ja.com

/ var / wwwを管理するにはどうすればよいですか?

私はLinuxを初めて使用し、UbuntuServerを実行しているVM)内に小さなテストサーバーをセットアップしようとしています。/var/wwwフォルダーを見つけました。 Apacheドキュメントが保存されている場所です。実際、VMのIPにアクセスすると、そこに保存されているindex.htmlページが表示されます。

私の問題は、そのフォルダに書き込めないことです。

ls -l 戻り値:

d-w-r-xr-x 2  root root 4096 2011-12-28 16:08 ./ 
drwxr-xr-x 13 root root 4096 2011-12-28 17:02 ../ 
-rw-r--r-- 1  root root 177  2011-12-28 16:08 index.html

私のユーザーはgabと呼ばれています。

このフォルダを処理して、ここでファイルを編集および作成できるようにする場合は、どうすればよいですか?新しいグループを作成する必要がありますか、それとも自分をフォルダの所有者として設定する必要がありますか?

7

それは保護されたフォルダです。このディレクトリを変更するには、rootである必要があります。

また、gabをこのディレクトリの所有者にすることもできます。

Sudo chown -R gab /var/www

Sudoはルート(管理者)としてchown -R gab /var/wwwコマンドを実行し、システムのセットアップ時に使用したパスワード(おそらくgabと同じパスワード)の入力を求めます。

これを行うと、次のこともできます

Sudo chown -R 755 /var/www

書き込み権限を付与します。

#   Permission
7   full
6   read and write
5   read and execute
4   read only
3   write and execute
2   write only
1   execute only
0   none


Reference   Class   Description
u   user    the owner of the file
g   group   users who are members of the file's group
o   others  users who are not the owner of the file or members of the group

755は、ユーザーがフルアクセス権を持ち、グループが読み取りおよび実行アクセス権を持ち、他のユーザーが読み取りおよび実行アクセス権を持つことを意味します。

4
kobaltz

www-data(または同等の)グループのメンバーになることをお勧めしますが、ディレクトリとindex.htmlファイルはどちらもrootが所有しているため、実際に期待されるかもしれません。 (kobaltzが提案したように)そうすること—仮想ホストを避けたい場合。
仮想ホストの道を行く場合、/var/wwwディレクトリは、Apacheが実行されていることを確認できる単なるプレースホルダーです。

少し読んだことは知っていますが、 このドキュメントページ または このwikiページ をご覧になりましたか?

3
oKtosiTe

実際には、ファイルはwww-dataによって所有されている必要があります(またはwww-dataには書き込み権限が必要です)。 「怠惰な」方法は、Sudoを使用して自分自身をルートに切り替え、ファイルを自分自身にchownし、必要なことを実行してから、www-dataに戻すことです-これらのファイルはSudoを使用して追加されたと思いますが、誰でもwww-dataに所有権を譲渡しませんでした

right方法は、フォルダをグループ書き込み可能に設定し、そのグループに自分を追加することです。もちろん、これは(www-dataディレクトリに対して)1回だけ実行する必要があり、その後は通常のユーザーと作業できるため、より理にかなっています。コバルツは正しい基本的な考えを持っていますが、実行のいくつかの側面は私には間違っているようです。

1
Journeyman Geek