web-dev-qa-db-ja.com

マウントできなかったntfsパーティションでchown、chmodできません

NTFSパーティションをマウントし、UNIXファイルシステムのアクセス許可で使用できるようにする必要があります。問題は、次のfstabエントリを使用してパーティションをマウントすると、chownとchmodを正常に実行できないことです。エラーなしで実行されますが、ファイルのアクセス権は変更されません。

PARTUUID=c3e3b171-d451-44e6-9f17-ffbe9e220dc7   /mnt/mounted_drive  ntfs-3g  defaults,umask=0022,uid=1000,gid=1000,errors=remount-ro,permissions 0 2

Umask、uid、およびgidを設定せずにパーティションをマウントすると、前述のコマンドを正常に使用できます。

PARTUUID=c3e3b171-d451-44e6-9f17-ffbe9e220dc7   /mnt/mounted_drive  ntfs-3g  defaults,errors=remount-ro,permissions 0 2

パーティションを正しくマウントするにはどうすればよいですか?

4
icepopo

NTFS-3Gでは、所有するユーザーとグループの設定は、対象のユーザー/グループのマッピングを含むUserMappingファイルが存在する場合にのみ可能と思われます。これはドキュメントからは明確ではありませんが、私は今それをテストしています、そしてそれが起こっていることです。

既存のWindowsインストールとの互換性が必要ない場合は、マウントされたパーティションに空のファイル.NTFS-3G/UserMappingを作成し、次のように入力します。

getRUI4() { od -An -N4 -tu4 /dev/random | tr -d ' '; }
USERMAPPING=/media/NTFS_PARTITION/.NTFS-3G/UserMapping
echo ":users:S-1-5-21-$(getRUI4)-$(getRUI4)-$(getRUI4)-513" | Sudo tee -a $USERMAPPING >/dev/null
echo "$(id -un):$(id -gn):S-1-5-21-$(getRUI4)-$(getRUI4)-$(getRUI4)-1001" | Sudo tee -a $USERMAPPING >/dev/null

既存のWindows SIDを使用したい場合は、代わりにプログラムntfsusermapをマウントされていない(!)パーティションで使用できます。これにより、対話的にユーザー名とグループ名を指定するように求められます(数値である必要はありません、メッセージに関係なく)、指定されたパスについて、まだマップされていないIDを最初に見つけます。これは簡単です。

ユーザーとグループrootは、otherと同様にデフォルトでマッピングされます。上記の行は、usersグループと現在のユーザーのマッピングを作成します。必要に応じて繰り返します。

また、私の場合、オプションでドライブをマウントします

no_def_opts,allow_other,acl,nodev,nosuid,big_writes,hide_dot_files

ただし、これらのオプションはデフォルトでは改善されていますが、それ以外の場合、たとえば[chown/chmod]はエラーの場合に警告なしに失敗するため、これらのオプションは必要ありません。

3
gimpf