したがって、便宜上、すべてのデータをWindowsパーティションに保存して、LinuxとWindowsでデータに簡単にアクセスできます。しかし、g ++を使用してC ++プログラムをコンパイルしようとしましたが、g ++を./program_filename
使用してプログラムを実行できないことがわかりました。
bash: program_filename: Permission denied
行為
cp program_filename ~/program_filename
しかし、私のホームディレクトリで実行すると正常に動作します。
chmod +rwx program_filename
だから試してみましたが、ls -l
表示権限はまだ-rw-------.
ディレクトリ内のすべてのファイルに設定されています。 rootでこれを行うと、何も変わりません。
簡単な解決策はありますか?
(助けになったらFedora 16 x64を実行しています。)
答え1
インストールオプションが実行権限ビットを受け入れていることを確認してください。
マウントされたファイルシステムのファイルに対する権限を制限するために使用できるマウントオプションがあります。一般はすべてのファイルの実行をブロックし、FAT関連のオプションはnoexec
拡張子、および..のファイルにのみshowexec
権限を付与します。また、暗示された内容も参考にしてください。.exe
.com
.bat
noexec
user
users
or を使用している場合は、user
or オプションの後に明示的に指定されたマウントオプションを使用してマウントすると、users
実行権限ビットを取得できます。exec
user
users
インストールビューマンページもっと学ぶ。
答え2
umask
FATまたはNTFSパーティションをマウントするときの権限は、インストールfmask
時およびオプションによって決まりますdmask
。最初のものは汎用で、残りの2つはファイルとディレクトリにのみ適用されます。
また、パーティション内のすべてのファイルとディレクトリの所有者とグループを設定することに興味を持って選択することもできますuid
。gid
一例:
mount -t ntfs-3g -o uid=500,gid=500,umask=0022 /dev/sda1 /mnt/win
答え3
Puppy Linuxでは、デフォルトでNTFSまたはFATパーティションでスクリプトを実行できます。http://murga-linux.com/puppy/viewtopic.php?t=95174