パーミッション – linuxでフォルダの書き込みアクセスをすべてのユーザーに与えるにはどうすればいいですか?

apache-http-server linux permissions

先ほどUbuntuにapache2をインストールしたのですが、/var/wwwフォルダが保護されていることに気づきました。sudoだけならなんでもいいのですが、書き込みアクセス権を与えればいいのかな

どうすればいいのでしょうか?

sudo chmod 7777 /var/wwwを試してみましたが、うまくいきませんでした

  209  Carson Myers  2009-08-06


ベストアンサー

/var/wwwで書けるはずの複数のユーザと共有するためには、共通のグループを割り当てる必要があります。例えば、UbuntuやDebianのウェブコンテンツのデフォルトのグループはwww-dataです。/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

さらに、ディレクトリとその下のすべてのディレクトリを「set GID」にして、/var/wwwの下に作成されたすべての新しいファイルとディレクトリがwww-dataグループの所有物になるようにしなければなりません

sudo find /var/www -type d -exec chmod 2775 {} \;

/var/www内のすべてのファイルを検索し、所有者とグループの読み書き権限を追加します

sudo find /var/www -type f -exec chmod ug+rw {} \;

自分のアカウントの権限を編集している場合は、ログアウトしてログインし直さないと変更できないかもしれません

338  jtimberman  2009-08-07


Read+Write:

sudo chmod -R a+rw /var/www

Read+Write+Execute:

sudo chmod -R a+rwx /var/www

39  paivaric  2013-08-09


もっと簡単な方法がありますので、このコマンドを実行してみてください

sudo chmod -R 757 /var/www

本質的には、chmodコマンドはパーミッションを変更し、-Rスイッチはすべてのユーザに影響を与えます。そして、それは単に使用するための正しいパーミッションを与えているだけです

37  Krishna Modi  2011-09-22


また、アクセス制御リストを使用して jtimberman が提案したことを再現することもできます。setfacl コマンドは、既存の 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 を指定することができます

8  Nikhil Chelliah  2009-08-08


私はタイプコールを使用しています

chmod g+w /folder/ -R

ほとんど自業自得です

これは、gグループの/folder/の全員にwライトアクセス(+w)を追加するもので、-Rはサブフォルダの再帰のためのもので、gグループの全員にwライトアクセス(+w)を追加します

3  Arda  2017-03-19


簡単に答えを出すことができます

a.(-a) 自分のユーザー(user_name)をグループ(-G) www-dataに追加します

sudo usermod -a -G www-data user_name

b.グループ(g)に/var/wwwの所有するユーザ(u)と同じ(=)権限を与える 再帰的に(-R)

sudo chmod -R g=u /var/www

説明。Debian/Ubuntu上のApache 2は、ユーザ&グループwww-dataを/var/wwwのオーナーに設定します。ユーザのデフォルトのパーミッションは “View & Modify Content “ですが、グループは “View Content “しかできません。ですから、自分自身を www-data グループに追加して wwww-data ユーザーと同じパーミッションを与えることは、開発を始めるための迅速で簡単な方法です。私はすべてのローカルホスト(PC/ラップトップ)のウェブ開発環境でこれを行っています

3  user1138  2018-02-20


chmod 0777 /var/wwwを試してみてはいかがでしょうか?

警告: このフォルダへのアクセスを全員に許可した場合、ハッカーがシステムにアクセスした場合、このフォルダにアクセスできることを意味します。そのため、許可されたユーザーのグループを作成し、そのグループに書き込みアクセス権を与えた方が良いでしょう

-3  stalepretzel  2009-08-07


最初に特定のフォルダパスを入力し、このコマンドを使用して

chmod -R 777 foldername
chown username:username foldername

-3  marimuthu  2011-09-30


タイトルとURLをコピーしました