現在、/ etc/fstabの次の行を使用して、起動時にNTFSパーティションをマウントしています。
/dev/sda3 /media/data ntfs nls=iso8859-1,umask=000
Ubuntu 11.10のインストールでは、すべてのファイルとフォルダーがroot
によって所有されているように見えます。NTFSはとにかく同じ権利管理システムを実際にサポートしていないため、マウント完了後に変更することはできません。私が何をしても、NTFSパーティション上のls -l
には、root:root
が所有するすべてのファイルとフォルダーがリストされます。
しかし、これは私にとっていくつかの問題を引き起こします。最も注目すべきは、私のアカウント(tomas
と呼ばれる)で実行されている一部のアプリケーションが、アクセス権について文句を言います。また、ext3パーティションの1つからNTFSパーティションにファイルをコピー(cp
)または移動(mv
)しようとすると、エラーメッセージが表示されます
mv: preserving times for `[path to new file]`: Operation not permitted
または、同様に
mv: preserving permissions for ...
ルートの代わりに私の名前でパーティションをマウントするのに役立ちますか?もしそうなら、どのように私はfstabでそれを達成できますか?
更新:
私は今、提案に従ってオプションを変更し、これに到達しました:
nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas
ls -l
に、ルートではなく自分が所有するすべてのファイルが表示されるようになりました。これまでの問題の一部は解決されたようです。ただし、すべてではありません。
Eclipseを起動すると、Android SDKに関連するファイルを実行できないというエラーが表示されます。許可が拒否されました。 ls -l
は、ファイルについて次のことを教えてくれます。
-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*
これは私が望むように見えます。しかし、それを実行しようとすると(ターミナルで./adb
)、許可拒否エラーも取得します。しかし、Sudo
で実行すると動作します(少なくとも、エラーメッセージは表示されませんが、出力はまったく表示されないはずです。 ..)
なぜ上記のファイルは、anyoneの実行権限を持ち、root
以外の誰によっても実行できないのですか?ファイルシステムをマウントする方法を変更するにはどうすればよいですか?
更新2:
OK、もう少し先に来ました。これらのオプションでマウントすることにより
nls=iso8859-1,permissions,users,auto
すべての権限を期待どおりに設定し、chown
とchmod
は実際にファイルの設定を変更します(少なくともls -l
に従って)= D
しかし、私のシステムはまだ奇妙な方法で動作します。 adb
スクリプトファイルのアクセス許可は上記のようになりますが、私もEclipseも "Permission denied"エラーなしで実行できません。しかし、私が見る限り、ファイルには必要なフラグがすべて設定されています(o=rwx
で十分でしょうか?)。なぜ機能しないのですか?
更新
OK、Ubuntu側ですべてが機能するようにしました。次のオプションがあります。
nls=iso8859-1,permissions,users,auto,exec
ただし、Windowsからパーティション上のファイルにアクセスしようとすると、セキュリティ設定がすべて台無しになります。 (私が調べた少数の)すべてのファイルで、Account Unknown(long GUID)
と呼ばれる新しいアカウントがユーザーのリストに追加され、完全な権限を持ちます。他のほとんどのユーザーの権利は減らされているので、私が期待することをする権利はありません。特に「Everyone」には「Traverse folder/execute」の権利がないようです。
このmightは、パーティションを選択するだけで解決でき、Everyoneがルートフォルダで何でもできるようにしてから、再帰的に実行するように指示しますが、むしろ、完了までに数日かかると思いますが...
オプション列にpermissions
とauto
を追加します(そしておそらくuser
またはusers
)
nls=iso8859-1,permissions,users,auto
permissions
:(NTFS-3Gオプション)作成されたファイルに標準のアクセス許可を設定し、標準のアクセス制御を使用します。auto
:ブート時およびmount -a
からマウントされますuser
:一般ユーザーにファイルシステムのマウントを許可しますusers
:everyユーザーにファイルシステムのマウントとマウント解除を許可します次に、ファイルシステムの所有権を変更します。
Sudo chown -R thomas:thomas /media/data
/etc/fstab
の私の行
/dev/sda5 /media/ntfs ntfs-3g users,permissions,auto 0 0
マウントおよびリスト許可
Sudo mount /media/ntfs
Using default user mapping
bodhi@ufbt:~$ ls -l /media
drwxr-xr-x 1 root root 4096 2012-01-04 17:08 ntfs
所有権を変更し、新しい権限をリストする
bodhi@ufbt:~$ Sudo chown bodhi:bodhi /media/ntfs
bodhi@ufbt:~$ ls -l /media
drwxr-xr-x 1 bodhi bodhi 4096 2012-01-04 17:10 ntfs
デフォルトでは、ntfs-3gはパーティションnoexec、nosuid、およびnodevをマウントします。
noexec
:マウントされたファイルシステム上のバイナリの直接実行を許可しません。nosuid
:set-user-identifierまたはset-group-identifierビットを有効にしないでください。nodev
:ファイルシステム上の文字を解釈したり、特殊なデバイスをブロックしたりしません。これをオーバーライドしてファイルの実行を許可するには、exec
を使用します
/dev/sda5 /media/ntfs ntfs-3g exec,permissions,auto 0 0
今、私たちは得る
bodhi@ufbt:~$ ls -l /media/ntfs
-rwx------ 1 bodhi bodhi 28 2012-01-04 17:16 file
bodhi@ufbt:~$ /media/ntfs/file
It works
Fstabの行を
UUID=761C84B31C846FC3 /media/d ntfs defaults,umask=022,uid=1000 0 0
mount.ntfs(8) のuid
およびgid
オプションを使用する(またはユーザーマッピング機能を使用する)
udisks
の使用はどうですか?ユーザーを所有者としてNTFSパーティションを簡単にマウントできます。
例(コマンドラインに入力):
/usr/bin/udisks --mount /dev/sda3
このコマンドをスタートアップアプリケーションに追加することもでき、ログインすると自動的にマウントされます。
リファレンス: AutomaticallyMountPartitions