【ACLがらみだった?】macOSで同じグループで作成したファイルが編集できない(作成したファイルにグループ権限が付与されない)SMBファイル共有: YUU MEDIA TOWN@Blog

封神龍(酒)の日記です、気になるニュースなどもチェック!ゾイド(ZOIDS)とかMacとかUNIXとかwindowsとかアニメ・漫画とかゲームとか雑記とか備忘録とか北海道とかお酒とか。検索エンジン経由来訪でお探しのキーワード関連記事が見つからない方はこちら祝!HP爆誕25周年!!

2022年05月17日 (火曜日)

【ACLがらみだった?】macOSで同じグループで作成したファイルが編集できない(作成したファイルにグループ権限が付与されない)SMBファイル共有

太古の昔より時々発生していたこの事象について悩んでおりました。Macでファイル共有かけてユーザーは複数ですが、グループは同一にして作業していてもなぜかWindows側からファイル作成や編集した際にそのユーザー権限しか付与されず、グループ権限が付与されない時がありました。
Mac OS X v10.9 Mavericks(OS X Server 3.0)のファイルサーバーのファイルサーバーでグループ権限がうまく付与されない件(2014年01月12日 (日曜日))
それは
Apple StoreでMac mini(Mac mini (M1, 2020) Macmini9,1)を購入(カスタマイズして16GBのユニファイドメモリ、2TB SSDストレージ)【macOS Monterey 12.3.1】(2022年04月10日 (日曜日))
最近でも同じです。なんでこういう時があるんだろう?と。問題ない時はちゃんと複数のユーザーがファイルを作成したり編集しても適切にグループの権限が付与されるんですよね。

今回のMac miniもこれが解消されないと一々、Macでログインした際に「情報を見る」で該当するファイルのアクセス権限にグループ追加して読み書きにしてとか超面倒。

ちょくちょく調べていたのですが確信に近づいてきた気がする。
macOSでACL - 日々適当
ACLがらみの問題か?Access Control List(ACL)、いわゆるWindows系のでUNIX系のアクセス権限より細かい設定が出来る奴、と言えばいいのかしら?

その中で
macOS でホストされている SMB 上のファイルをユーザが編集または認証できない場合 - Apple サポート (日本)
その中にある「読み込み/書き込み ACL を確認する」
「ユーザがアクセス権を持っている共有に書き込めない場合は、共有へのゲストアクセスを一時的に無効にします。これで、ゲストとして接続していないか確認できます。ゲストアクセスは、ファイル共有の詳細オプションで設定されています。

ユーザが新しいファイルを追加できるのに、ほかのユーザが作成したファイルを編集できない場合は、グループレベルのアクセス制御リスト (ACL) を作成する必要があると考えられます。ACL を追加するには、以下のコマンドラインを使います。グループ名と共有ポイントへのパスは実際の値と置き換えてください。」
「sudo chmod -R +a "group:YourGroupName allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Volumes/volumename/path/to/share」
をターミナルで打て、と。

なので私の場合は
sudo chmod -R +a "group:グループ名 allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" '/Volumes/Macintosh HD/パス'
みたいな。例の分ではパスの部分は''('シングルクォーテーション)で囲まれていませんがMacintosh HDという部分があるとエラーになってしまうので包みました。*ちなみに"ダブルクォーテーションでも良いようですがシングルコーテーションは文字列をそのまま扱い、ダブルクォーテーション(")は変数を展開するという違いがあるそうです。今回は変数を展開する必要ないのでシングルで囲みました。

そうすると・・・・・おお!!同じグループが所属するユーザーでファイル作成したらちゃんとグループの権限(私の場合は読み書きで設定)が付与され、ちゃんと複数ユーザーで編集や削除、新規追加ができるようになった!

この手の問題はACLがらみだったのか!?

そしてそれらは今まで私の場合、OSX Serverでアクセス権限の設定していたからどうにかなっていて、最新のmacOS Serverにはファイル共有の機能が消滅したから
macOS Server 5.2のファイル共有設定画面
今回は入れていなかったのですが、今回のコマンドでそれが解決出来たからうまくいった感じ?
単にmacOSの共有管理機能ではここまでの設定はGUIでは出来ないという事なのか。

この手のをGUI(マウス操作で画面を見ながら)設定する為にはサードパーティの有料アプリを使う必要があるみたい。
・TinkerTool System
MacPilot (Lite)

こんな事をしなければならないなんて、細かくアクセス権限をコントロールしたいところで普通にMac、ファイル共有の親機にしようぜ、なんて一般の人には言えないですな・・・・一般の人が細かいアクセスコントロールしようぜ、というかどうかはともかく・・・・・

しかし上記コマンド打って何が変るんやろ?
と該当フォルダを
ls -le
で見てみるとコマンド打つ前はグループ関係の情報は
1: group:グループ名 allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity

打ったあとは
2: group:グループ名 allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
0: group:グループ名 allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
あれ?グループが二つ、同じ名前のがあるぞ?

Finderの情報を見る、からも同じグループが二つ、表示されている?ACLとUNIX的なグループと別れてんの?こうなるなら通常のMacのACL、オフになってた方が良くね・・・・・・

クライアントとして使うなら問題ないのでしょうけど、これは少し共有かけたい、とかいう場合、面倒過ぎるよ・・・・・

とりあえずこれでアクセス権限の問題と、サーバー側のユーザーではなくクライアント側のユーザーで作成したファイルがタイムマシンによるバックアップ対象外になってしまう問題は解決しました。

関連
【昔はNetBoot等で】どんどん機能がなくなっていったmacOS Server、「Mac OS X Server 1.0」から数えて23年の歴史に終止符【遊んでいました】(2022年04月27日 (水曜日))
OS X El Capitan v10.11搭載のMac mini (Late 2014)(1TB MGEN2J/A)購入、設定等のレポート(OS X Serverも導入します)(2016年04月23日 (土曜日))


Posted by 封神龍(酒) at 2022年05月17日 19:29 | 【所属カテゴリ: Mac3】【コメントについて】【トラッくバックについて】【RSS登録についてRSS登録

--



--


--