情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【Chromebook/Linux】共有フォルダ「/mnt/chromeos」やchmodが「Operation not permitted」エラーになる現象についてのメモ

ASUS Chromebook C223NA (18) Chromebook (68) Linux (29)

Chromebookで利用できるLinux(ベータ)機能で、Chrome OS のファイルをLinux側に共有する「共有フォルダ」機能によって作成された「/mnt/chromeos」内のファイルに対する「chmod」が「Operation not permitted」エラーになってしまい、利用できないことに気が付きました。

この挙動に関して調べたことをメモしておきます。

共有フォルダ内でのchmodがエラーになる

共有フォルダ機能でLinux側と共有したフォルダは、Linux内では「/mnt/chromeos」以下のディレクトリにマウントされます。

これにより、手軽にChromeOS側のファイルをLinux側に渡すことができるのですが、これを利用して共有したファイルに対して実行権限を付与しようとchmodコマンドを利用したところ、次のエラーとなってしまいました。sudo chmodとしてみたり、他の権限変更を試してみても、chmodが通りません。

chmod: changing permissions of '...': Operation not permitted

mountの設定を見る

その際は別のディレクトリにファイルを移動して目的を達成してそれで終わり、としてしまったのですが、その後改めてどうしてエラーだったのか、について調べてみることにしました。

Linux側からマウントされているディレクトリであるため、まず関連する設定情報を確認してみることにしました。実行したコマンドは「$ cat /etc/mtab」です。すると出力された行の中に、「/mnt/chromeos」のマウント設定に関する情報を見つけることができました(※なお「/etc/fstab」は「# UNCONFIGURED FSTAB FOR BASE SYSTEM」のみ、でした)

9p /mnt/chromeos 9p rw,sync,dirsync,nosuid,nodev,noexec.relatime,access=any,trans=fd,rfd=26,wfd=26 0 0

noexec設定

ここで一つ気が付いたのは、mount設定の中で「noexec」が指定されており、このディレクトリ内のファイルを実行することができない状態である、という点でした。

当初この影響でそもそもchown +xも実行できないのではないか、と思っていました。

ただし、実行権限とは無関係なchmodによる変更も失敗するため、もっと別の原因もあるような?と追加で調べてみることにしました。

ファイルシステム「9p」とchmod

いろいろ追加で調べている中で、/mnt/chromeosをマウントする際に指定されていたファイルシステム「9P(Plan 9 Filesystem Protocol)」(/etc/mtab に記載されていたファイルシステム)について調べつつ、Chromium OSのissue trackerを確認したところ、どうやらこの9p(p9)を利用することと、chownが利用できないことに関連があるようでした(「by design」とあるので、不具合というよりそもそもの仕様として、というようなイメージ)。

this is a known issue that 9p doesn't allow chmod by design.

引用元

I understand this is expected behavior since p9 server does not allow setattr/chmod:

引用元

↑のリンク先のChromium OSのソースコードへのリンクは切れてしまっているようでしたが、次のように、setattr_mode(rwxの権限の設定)が利用できない操作として扱われているようでした。

/mnt/chromeos には特別な制約がありそう

このような言及から、共有フォルダがマウントされている「/mnt/chromeos」に関しては、その他のディレクトリとは異なる制限がありそうだ、ということが分かりました。

そのため、今回は主にchmodの話でしたが、その他の制限を含め、何かエラーが発生してしまった場合は/mnt/chromeosディレクトリの外で試してみるなども検討してみると良さそうです。

参考

コメント(0)

新しいコメントを投稿




  • カテゴリ ナビ
  • 著者紹介

    ブログが趣味で、スマホアプリの利用中に発生するトラブルや不具合の対策手順や障害情報、 設定の変更方法などについて、解説記事をよく書いています。

    自分が困ったことをブログに書けば、次に困る人の参考になって、みんながみんな同じ苦労をせずに済む、というのが原点です。

    最近の関心は、スマホやパソコンが苦手な人の行動や思考、そしてそんな人を手助けする方法です。

    Amazonのアソシエイトとして、did2は適格販売により収入を得ています。

    RSS | Facebook | Twitter | About