複数のユーザーが共有するプロジェクトがある特定のディレクトリがあります。これらのユーザーはSSHを使用してこのディレクトリにアクセスし、ファイルを変更/作成します。
このプロジェクトは、特定のユーザーグループのみが書き込み可能である必要があります。「mygroup」と呼びましょう。SSHセッション中、現在のユーザーによって作成されたすべてのファイル/ディレクトリは、デフォルトでグループ「mygroup」によって所有され、グループ書き込み可能な権限を持っている必要があります。
私は許可の問題を解決できますumask
:
$ cd project
$ umask 002
$ touch test.txt
ファイル「test.txt」はグループ書き込み可能になりましたが、「mygroup」ではなく、デフォルトグループ(「mislav」、ユーザー名と同じ)に属します。chgrp
再帰的に目的のグループを設定できますが、セッション中にumaskがデフォルトのアクセス権を変更するように、グループを暗黙的に設定する方法があることを知りたいと思いました。
この特定のディレクトリには、作業コピーと共有gitのレポであり、私はしたいgit checkout
とgit reset
操作が作業コピーで作成された新しいファイルの正しいマスクとグループを設定します。OSはUbuntu Linuxです。
更新:同僚は、POSIX ACLの getfacl / setfaclを調べる必要があると提案していますumask 002
が、現在のセッションで組み合わせた以下のソリューションは私にとって十分であり、はるかに簡単です。