USBのバイナリファイルへの実行権限の付与

USBのバイナリファイルへの実行権限の付与

実行権限で実行できるバイナリを見つけるために解凍できるtarball(.tar.gz)をユーザーに提供してプログラム全体を起動するデスクトップアプリケーションがあります。これはユーザーのホームディスクで機能しますが、USBや外部HDなどのリムーバブルメディアには機能しません(Windowsでは機能します)。 「r」と「w」で始まり、権限を変更しようとするたびに、次を使用します。chmod ルートに対しても権限が実行権限除外に戻ります。

マウントポイントの現在のマウント情報/dev/sda1 on /media/me/78E1-495A type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)

この問題に関する他の投稿があります。Ubuntuに関する質問次のようないくつかの興味深いソリューションがあります。権限変更によるインストールしかし、別の場所に再インストールする必要はありませんか(不完全な回答)?この質問に対する答えは解決策を提供しますmount -o -execで応答、新しいマウントポイントを使用します。実装するオプションですが、デフォルトの非実行オプションは変更されません。

ユーザーシステムの構成ファイルを変更しないソリューションはありますか?

ベストアンサー1

ファイルシステムタイプvfat(通常のUSBスティック)は、chmodが変更したい権限の保存をサポートしていません。 vfatWindows派生ファイルシステムなので、UNIXファイルの意味を完全にサポートしていないことは驚くべきことではありません。

また、このshowexecオプションは実行ビットをブロックします。マウントマニュアルページによると、

設定されている場合、ファイルの実行許可ビットは、名前拡張子が.EXE、.COM、または.BATの場合にのみ許可されます。デフォルトでは設定されません。

showexec インストールオプションがないと、すべてのファイルが実行可能ファイルとして表示され、chmod -xコマンドはまだ何も実行しない可能性があります。

おすすめ記事