操作は許可されていません。 rootユーザーの場合?

操作は許可されていません。 rootユーザーの場合?

昨日発生した問題の解決策を見つけるために(質問を参照)ここ)私は別の実験をしました。

フラッシュドライブ(vfat)を接続して唯一のパーティションをマウントした後、マウントポイントの権限を変更するとどうなりますか?いいですね。これにより、すべての問題が解決されるため、ルートに進みます。

最初は所有者を変更してみました。

root# chown root:root /media/MOUNT_POINT

注:/media/MOUNT_POINTはシステムによって自動的に生成されます。

コマンドに対する答えは次のとおりです。操作は許可されていません。何?ルートさえ許されないものはありますか?

まあ、それは私が試みることを妨げませんでした。

root# chown 000 /media/MOUNT_POINT

今回はニュースはありませんが、

ls -l /media

私は持っています

drwx------  4  miranda miranda 4096 Apr 10 05:41 24EE-9E3C

ご覧のとおり、フォルダにはまだすべての権限があります。 000から666までのすべての組み合わせを試しましたが(もちろんスクリプトを使用して)、結果は同じでした。

どうしたの?私は何を見逃していますか?はるかに重要です。これは可能ですか?

よろしくお願いします。

答え1

vfat ファイルシステムでは権限はサポートされていません。パーティションのマウント中にマウントポイントの所有権または権限を変更しようとすると、マウントしたいディレクトリではなく、マウントされたファイルシステムのルートに適用されます。

ファイルシステムを読み取り専用にすることが目的であれば-o ro

を削除せずにこれを行うことができますmount -o remount,ro /media/MOUNT_POINT

答え2

明らかに、El Capitanには、重要なディレクトリが変更されるのを防ぐSIP(System Integrity Protection)という機能が含まれています。上記の出力では、これは「制限付き」フラグで示されています。この記事を書いている時点で私が調査したところによると、この問題を解決する唯一の方法は、再起動、SIPを無効にする、変更し、再起動し、SIPを有効にすることです。 Stack Overflowでプロセスの概要を見つけることができますが、使いやすさのためにここにもう一度印刷します。

再起動。 Cmd + Rを押して回復モードに入ります。ユーティリティ - >ターミナルを開きます。無効にするには、csrutilコマンドを実行します。再起動。 OS Xに戻り、SIPが無効になっています。変更してください。再起動。 Cmd + Rを押して回復モードに入ります。ユーティリティ - >ターミナルを開きます。有効にするには、csrutilコマンドを実行してください。再起動。

関連情報