ユーザーアカウントからNTFSパーティションをマウントできません

ユーザーアカウントからNTFSパーティションをマウントできません

Windowsをインストールしようとしています。NTFSopenSuse 11.4のパーティション。ルートアカウントを使用してインストールする場合(直接または経由)Sudo) 問題なくインストールされました。ただし、root権限なしでインストールしようとすると、次のエラーが発生します。

Error opening '/dev/sda2': Permission denied
Failed to mount '/dev/sda2': Permission denied
Please check '/dev/sda2' and the ntfs-3g binary permissions,
and the mounting user ID. More explanation is provided at
http://ntfs-3g.org/support.html#unprivileged

関連デバイスの私のfstabエントリは次のとおりです。

/dev/sda2   /media/Windows      ntfs       defaults,noauto,user  1 2

Googleで可能な解決策を検索しましたが、何も見つからないようです。

編集1:

提案したように、ntfs-3gバイナリでUID / GIDビットを設定してみました。すべてのファイル(/sbin/mount.ntfs、/sbin/mount.ntfs-3g)は/usr/bin/ntfs-3gを指しているため、その権限を変更しました。現在の権限は次のとおりです。

-rwsr-sr-x 1 root root 51512 Feb 18 22:18 ntfs-3g

しかし、結果はまだ同じで、私が得ることも同じです。許可が拒否されました間違い。

編集2:

すべてのファイルに対して正しい権限を設定した後:

-rwsr-xr-x 1 root root 51512 Feb 18 22:18 ntfs-3g
brw-rw-rw- 1 root disk 8, 2 Aug  6 21:53 sda2
drwxrwxrwx 1 asad users 8192 Jul 30 13:09 Windows

特権ユーザーアカウントなしでインストールできます。ただし、同じアカウントを使用して削除しようとすると、次の結果が表示されます。

asad@jb-laptop:~> umount /dev/sda2
umount: only root can unmount /dev/sda2 from /media/Windows

編集3:

ついに問題が見つかりました。追加する必要がありますユーザー変えるユーザー何らかの理由でfstabで理由を理解していませんが。今新しい質問がありました:)

デバイスを取り外すたびに/dev/sda2、何らかの方法でファイル権限がデフォルト(0660)に戻りました。 udevでルールを作成してみましたが、うまくいかないようです。

答え1

ntfs-3gユーザーマウントが正しく機能するには、バイナリをuid rootに設定する必要があります。そして、ブロックデバイスとマウントポイントに対する権限が必要です。

sudo chmod 1755 /sbin/mount.ntfs-3g /usr/bin/ntfs-3g
sudo chmod 666 /dev/sda2
sudo chmod 777 /media/Windows

(注:これはDebianの場所であり、Suseの場合は異なる可能性があるため、実際にその場所にいることを確認する必要があります。)

ntfs-3gまた、バージョン1.2506以降が必要です。

詳しくはこちらをご覧ください。

答え2

将来の同様の問題を解決するには、特にリムーバブルメディア(USBディスクなど)の場合は、次のものを使用することをお勧めします。通常のユーザーとしてファイルシステムをマウントするために使用されます。時には、危険なシステム全体の変更を防ぐためのポリシーアプローチを使用しますchmod 1755 /sbin/mount.ntfs-3g /usr/bin/ntfs-3g

具体的には地元のパーティションをユーザーマウント可能にしてpmountホワイトリストに追加できます。あなたの場合、これは次のことを意味します。

echo "/dev/sda2" >> /etc/pmount.allow

ルートとして実行する必要があります。 (またはファイルを編集してsudo nano /etc/pmount.allow:)

答え3

解決しました!すべての助けをいただいた@baharmatに感謝します。あなたが私に正しい方向を教えていなかったら、私はまだ同じ問題に直面していたでしょう。問題を解決した方法は次のとおりです。

私の..として長い問題、残りの唯一の問題は何らかの理由でファイル権限/dev/sda2アンインストール時にデフォルト値0660に変更されました。この問題を解決するために、次のudevルールを使用しました。

KERNEL=="sda2", ACTION=="change", MODE="0666"
KERNEL=="sda2", ACTION=="add",    MODE="0666"

ノート:ファイル /etc/udev/rules.d/81-mount.rules には ACTION=="add|change" があります。これはうまくいかないようです。このルールを調べるのに1時間以上かかりました。私のディストリビューションに付属のルールファイルにうまくいかないようなものが含まれている理由についてご協力いただきありがとうございます。

関連情報