SSHで作成したファイルはjm:jm
、たとえば所有者であるため、頻繁にファイルをchowningします。
次に、Apacheがアクセスできるようにするには、たとえばdoする必要がありますchown jm:www-data
。
ファイルを作成するときに、自分の名前でグループを使用する代わりに、別のファイルを指定するように指定できると確信しています。
または、ユーザー/グループを管理するより良い方法はありますか?
SSHで作成したファイルはjm:jm
、たとえば所有者であるため、頻繁にファイルをchowningします。
次に、Apacheがアクセスできるようにするには、たとえばdoする必要がありますchown jm:www-data
。
ファイルを作成するときに、自分の名前でグループを使用する代わりに、別のファイルを指定するように指定できると確信しています。
または、ユーザー/グループを管理するより良い方法はありますか?
回答:
特定のディレクトリ内のすべての新しいファイルを特定のグループが所有する場合は、そのsetgid
ビットを適用します。
chgrp www-data /some/dir
chmod g+s /some/dir
この動作を適用するディレクトリの既存のツリーがある場合は、次のようにして実行できますfind
。
find /some/dir -type d -exec chgrp www-data {} +
find /some/dir -type d -exec chmod g+s {} +
(ディレクトリが関連するグループによって既に所有されている場合、これらの例の両方で最初のコマンドを省略できます)。
find
コマンドの引数であり、manページで説明されています。最初の呼び出しでは、コマンドを実行しchgrp www-data
、多くの結果を引数として追加します(結果ごとにコマンドを1回呼び出すのではなく、{} \;
)。
chmod g+s /some/dir -R
ですか?テストしたところ、うまくいくようです。
... {} +
意味を明確にしてください。