/var/www/
承認されたユーザーのみを変更するには、このディレクトリ(およびその中のすべてのエントリ)が必要です。
私が試す方法は次のとおりです。
sudo groupadd webmasters
sudo usermod -G webmasters pi # My user is pi
sudo chown -R root:webmasters /var/www/
sudo chmod -R ug+rw /var/www/
...しかし、その中にあるものは変更できず、/var/www/
新しいファイルを作成することもできません。
私は何が間違っていましたか?必要な方法でどのように設定しますか?
私の考えは次のとおりです
- グループの全員が
webmasters
ファイルを作成、削除、編集できます。/var/www/
- 新しく作成されたすべてのファイル/フォルダは次のものです。
root:webmasters
- 新しく作成されたすべてのファイルには775権限があります。
-rwxrwxr-x
- イスラム国必要それ誰も許可なしに書き込みアクセスまたはすべてのタイプのStuid / Setgid機能を持つ能力。 (書き込み権限はrootでのみ付与できます。)
私はこれに間違ったアプローチを取っていますか?私の考えは正しかったが、ただ台無しにされたのか?何が間違っていますか?
答え1
/etc/group
コマンドを介してファイルのグループにユーザーを追加するだけでは不十分ですusermod -G
。これにより「データベース」が更新されますが、この更新前に作成されたすべてのシェル/プロセスは、それを所有しているユーザーがpi
この新しいグループに追加されたことを反映しません。
getent
id
通常、シェルを調べるときにコマンドを使用するのではなく、コマンド、より具体的にはを使用したいと思いますid -a
。
はい
saml
ここでは、グループに自分のユーザー名を追加しましたnewgrp
。このコマンドはgetent
次のことを確認します。
$ getent group newgrp
newgrp:x:10000:saml
ただし、このコマンドはid -a
すでに開いているシェルから他の内容を知らせます。
$ id -a
uid=500(saml) gid=501(saml) groups=501(saml),502(vboxusers),503(jupiter)
新しいシェルを起動すると、次のようになりますnewgrp
。
$ ssh localhost
Last login: Fri Jun 28 00:17:13 2013 from localhost.localdomain
$ id -a
uid=500(saml) gid=501(saml) groups=501(saml),502(vboxusers),503(jupiter),10000(newgrp)