グループディスク内で他のメンバーが読み書きできるようにするには

注意: 本記事はグループディスク(/gs/hsX/)に関してのものです、ホームディレクトリで以下のサンプルを実行しないでください。

利用者が自分のファイルのオーナーを変更することはできません。そのためグループパーミッションを変更して読み書きできるように設定してください。ポイントとしては、

  • 一番上位のディレクトリだけではなく、ディレクトリ以下のすべてのファイル、ディレクトリも権限を変更すること。
  • ファイルには読み込み(r)だけでなく書き込み(w)権限を追加すること。書き込み(w)がないと後で消去できません。
  • ディレクトリには読み込み(r)だけでなく書き込み(w)と実行(x)も追加すること。実行(x)がないとディレクトリにアクセスできません。

 

 以下にコマンド例を示します。ファイルの元々のパーミッションによってはエラーが出ることがあるため、その場合は出力が変わらなくなるまで再実行してみてください。

/gs/hsX/tgX-XXXXXX/以下の自分のディレクトリを探してグループのメンバーが読み書き参照ができるようにする。

find /gs/hsX/tgX-XXXXXX/ -type d -user $USER ! -perm -2770 -print0 | xargs -r0 chmod -v ug+rwx,g+s

/gs/hsX/tgX-XXXXXX/以下の自分のファイルを探してグループのメンバーが読み書きできるようにする。

find /gs/hsX/tgX-XXXXXX/ -type f -user $USER ! -perm -660 -print0 | xargs -r0 chmod -v ug+rw

/gs/hsX/tgX-XXXXXX/以下の自分のファイルを探して所有グループをTSUBAMEグループに合わせる。

find /gs/hsX/tgX-XXXXXX/ -user $USER ! -group (TSUBAMEグループ名) -print0 | xargs -r0 chgrp -v (TSUBAMEグループ名)

 

上記のコマンドを自動で実行するスクリプトを用意しました。なお、本スクリプトの動作は保証しませんので、自己責任でご利用ください。

module load takeovertool
cd /gs/hsX/tgX-XXXXXX
fixperm