web-dev-qa-db-ja.com

NTFSパーティション上のファイルにアクセス許可を設定できません

10.10 RCをインストールする前に、NTFSパーティションに配置されたLinux .exeを実行できたことを覚えています。しかし、今すぐ実行しようとすると、実行権限がないため実行できません。悪い点は、私も権限を変更できないことです。私はchmod- Ding +xですが、その権限にまったく変更はありません。

これはバグのようです?助けがありますか?

Ext4パーティションに配置するとき、許可を設定できます。しかし、以前のように、デフォルトのNTFSの場所からこれを行いたいと思います。

12
ashishsony

NTFSはWindows用に設計されているため、実行許可をサポートしていません。WindowsにはLinuxと同じ「実行可能」ファイルの概念がありません。 WineでWindows .exeファイルを実行しようとしている場合、次のように明示的にwineを実行しても動作するはずです。

wine /path/to/executable.exe

ファイルを直接実行する必要がある場合は、/etc/fstabfmaskオプションを使用して、allファイルに適用されるアクセス許可を設定できます。 NTFSのデフォルトではない場合は、execオプションを追加する必要があります(今すぐチェックするのに便利なドライブはありません)。 fmaskの値は、ドライバーにどのビットをオフにするかを指示します。たとえば、すべてのユーザーに読み取り、書き込み、実行を許可するには、次のようにします。

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=000  0  0

fmaskオプションが既にある場合、実行ビットをオンにする最も簡単な方法は、奇数の数字から1を引くことです。

アクセス許可のマスクの仕組みがわからない場合、基本的な考え方は、読み取り、書き込み、および実行のアクセス許可がそれぞれ値4、2、および1で表されることです。これらを一緒に追加して、許可を組み合わせることができます。たとえば、読み取りと書き込みは6になります。許可マスクは、所有者、グループ、および「その他」(他の全員)に適用される3桁の組み合わせです。

Fstabのfmask(また、umaskdmask)がoffにしたいパーミッションであることを思い出してください。

もう少しおもしろい例として、所有者の「rwx」、グループの「rx」、および他の全員の「r」へのアクセス権を設定します。

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0
12
Matthew Crumley

古いバージョンのバグのように見えます...

Wine 1.3にアップグレードしてみてください

これでうまくいきましたが、NTFSパーティションから直接何かをインストールできるようになりました。

0
Rafael Borges

/etc/fstabファイルで次のような行を使用します。

/dev/sda5    /media/disk    ntfs,   user,noauto,exec    0 2

これにより、起動時にパーティションがマウントされなくなりますが、次のコマンドでrootとしてマウントできます。

Sudo mount /dev/sda5

または

Sudo mount /media/disk 

コマンドラインから。

「Places」からマウントするとエラーが発生するため、この解決策は完全ではありませんが、喜んで対応します。これが他の人に役立つことを願っています。

0
codejockey