起動時に非ルートユーザーを所有者としてNTFSパーティションをマウントする


28

現在、/ etc / fstabの次の行を使用して、起動時にNTFSパーティションをマウントしています。

/dev/sda3        /media/data           ntfs      nls=iso8859-1,umask=000

私のUbuntu 11.10のインストールでは、すべてのファイルとフォルダが所有者のように見えますroot-NTFSはとにかく同じ権利管理システムを実際にサポートしていないため、マウント完了後に変更することはできません。私が何をしようls -lとも、NTFSパーティションのどこにでも、すべてのファイルとフォルダが所有者としてリストされます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に関連するファイルを実行できないというエラーが表示されます:Permission denied。ls -lファイルについて次のことを教えてくれます。

-rwxrwxrwx 1 tomas tomas 159620 2011-11-29 14:50 adb*

これは私が望むように見えます。しかし、(./adbターミナルで)実行しようとすると、アクセス許可拒否エラーも表示されます。しかし、私がそれを実行するとsudo動作します(私は信じています-少なくともそれは私にエラーメッセージを与えませんが、それは私にそれをすべきではないと思う出力をまったく与えません...)

なぜ上記のファイルは、に対して実行権限を持っているのに、それ以外の誰によっても実行できないのrootですか ファイルシステムをマウントする方法を変更するにはどうすればよいですか?


アップデート2:

OK、もう少し先に来ました。これらのオプションでマウントすることにより

nls=iso8859-1,permissions,users,auto

私はすべての権限が、私は彼らがに期待するように設定だと、chownchmod(少なくともによると、実際のファイルの設定を変更ls -l)= D

しかし、私のシステムはまだ奇妙な方法で動作します。adbスクリプトファイルのアクセス許可は上記のようになりますが、私もEclipseも「Permission denied」エラーなしで実行できません。しかし、私が見る限り、ファイルには必要なフラグがすべて設定されています(o=rwx十分なはずですよね?)。なぜ機能しないのですか?


アップデート3

OK、Ubuntu側ですべてが機能するようにしました。次のオプションがあります。

nls=iso8859-1,permissions,users,auto,exec

ただし、Windowsからパーティション上のファイルにアクセスしようとすると、セキュリティ設定がすべて台無しになります。(私が調べた少数の)すべてのファイルで、という新しいアカウントAccount Unknown(long GUID)がユーザーのリストに追加され、完全な権限を持っています。他のほとんどのユーザーの権利は減らされているので、私が期待することをする権利はありません。特に「Everyone」には「Traverse folder / execute」の権利がないようです。

これ、パーティションを選択し、Everyoneがルートフォルダーで何でもできるようにし、それを再帰的に実行するように指示することで解決できるかもしれませんが、完了までに数日かかるのではなく、


2
マウント(8) :users Allow every user to mount and unmount the filesystem. This option implies the options noexec, ... unless overridden by subsequent options, as in the option line users,exec,dev,suid)。 したがってexec、オプションを追加すると、実行の許可が拒否された問題は解決されるはずです。
-benwh

Update 3の後、これを解決したことはありますか?...ある時点で、私が持っていた余分なntfsドライブにLinuxシステムのrsyncバックアップを試みましたが、多くの検索の後、Linuxファイルシステム情報の完全な配列を置くことができないという結論に達しました。 NTFS fsに。(おそらくあなたが上でやったように近づいたかもしれませんが、最終的にはlinuxはntfsにうまくマッピングできません。)
楕円形のビュー

@Elipticalview:これはずっと前のことで、もう同じコンピューターを持っていません。受け入れられた答えを試しましたか?
トマスAschan

回答:


25

オプションの列にpermissionsandとauto(そしておそらくuseror users)を追加します

nls=iso8859-1,permissions,users,auto
  • permissions:(NTFS-3Gオプション)作成されたファイルに標準のアクセス許可を設定し、標準のアクセス制御を使用します。
  • auto:起動時とからマウントされます mount -a
  • user:一般ユーザーにファイルシステムのマウントを許可します
  • usersすべてのユーザーがファイルシステムをマウントおよびアンマウントできるようにします

次に、ファイルシステムの所有権を変更します。

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

Hm ... fstabに追加して(hteオプションの列を次のようにしますnls=iso8859-1,permissions,users,umask=000)、再起動すると、エラーメッセージなしでファイルを移動およびコピーできるようになりました。root:rootただし、すべてのファイルは、の後でも所有者として表示されますsudo chown -R tomas:tomas /media/data。今のところ問題になっているようには見えませんが、好奇心から:なぜですか?
トマスAschan

あなたのせいだと思うumask=000
パンサー

いいえ、umask=000同等ですchmod 777-umaskは、ファイルに設定したくないすべてのフラグを定義します。私はそれが直感に反することに同意しますが、それはすべてここにあります:ubuntuforums.org/showpost.php?p
Tomas Aschan

試したことと結果に関する詳細情報で質問を更新しました。
トマスAschan

1
フム...私は当分の間、非マークにこれを持っています:それは... Windowsのからファイルを読み込むときに、この権限を台無しに、判明
トマスAschan

2

mount.ntfs(8)uidand gidオプション(またはユーザーマッピング機能を使用)を使用します。


1
つまり、fstab行にuid =
whoever

uidそしてgid仕事が、権限は今ntfs-3gをでサポートし、それらのオプションを乗り越えているpermissionsオプションを選択します。参照:b.andre.pagesperso-orange.fr/permissions.html
パンサー

試したことと得られた結果の詳細情報で質問を更新しました。見てください=)
トマスAschan

fstabエントリを更新し、uid、gid、およびumaskを削除してnls=iso8859-1,permissions,users、パーティションをアンマウントして再マウントしてください。
パンサー

@ bodhi.zazen:それから、1つに戻ります。ファイルは所有者として表示されroot:root、Eclipseは権限について不満を言います。
トマスAschan

2

fstabの行を

UUID=761C84B31C846FC3 /media/d        ntfs    defaults,umask=022,uid=1000 0       0

1

使用はudisksどうですか?ユーザーを所有者としてNTFSパーティションを簡単にマウントできます。

例(コマンドラインに入力):

/usr/bin/udisks --mount /dev/sda3

また、このコマンドをスタートアップアプリケーションに追加すると、ログイン時に自動マウントされます。

参照:自動マウントパーティション

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.