
私は2つのマウント/mount1
と/mount2
。私は次のコマンドを実行しました。
rsync -azrt /mount1/* /mount2/
/mount1
からまでのすべての項目を複製します/mount2
。
だから私は変わった。/etc/fstab
(下記参照)アンインストール/mount1
してインストールしましたが、/mount2
権限/mount1
のためにインストールの前後の権限を比較してみると、同じものであっても物事(私の電子メールサーバーのローカルユーザーフォルダを含む)は正常に機能しません。 !
/etc/fstab
働く前):
UUID="3999A4F22570EAC4" /mount2 ntfs-3g nobootwait,permissions,locale=en_US.utf8 0 2
mhddfs#/mount3,/mount4 /mount1 fuse defaults,allow_other,nobootwait,nonempty,uid=1000,gid=1000,umask=007 0 0
/etc/fstab
以降(動作しない):
UUID="3999A4F22570EAC4" /mount1 ntfs-3g nobootwait,permissions,locale=en_US.utf8 0 2
以前の内容はどこにUUID="3999A4F22570EAC4"
ありますか?/mount2
/mount1
答え1
汎用ヒューズオプション
allow_other
1)ファイルシステムマウントに設定がないことがわかりましたntfs-3g
。 FUSE はデフォルトで他のユーザーのアクセスを許可しません。 mhddfs
FUSEファイルシステムでもありますntfs-3g
(ただし、次のセクションを参照)。
2)を使用するときは、allow_other
権限の確認も考慮する必要があります。 FUSEはデフォルトで権限を確認しません。したがって、allow_other
すべてのユーザーがアクセスできるようにファイルシステムに追加するだけです。これは望ましくないかもしれません。 CUPSプリンタデーモンなどのサービスを含むネットワーク攻撃から保護するために、別々のユーザーIDが使用されることがよくあります。一般的なFUSEファイルシステムでユーザー/グループ/モード権限チェックを有効にするには、このオプションを指定しますdefault_permissions
。
NTFS-3G固有の動作
1 - >man
そのページに従ってデフォルトで有効になっていますntfs-3g
。allow_other
(FUSEのデフォルトでは、rootユーザーのみがこれを実行できますが、mount
rootとして実行されているため問題ありません。)
ntfs-3g
2 - >このオプションを使用permissions
すると、権限を確認できるようになります。それ以外の場合、権限エラーは表示されません。 (SELinuxは動作できますが、Ubuntuを使用しているためSELinuxを使用していません。Ubuntu AppArmorはパスベースで説明されているため、説明によると問題が発生する可能性はほとんどないと思います。)
紙
私はあなたのntfs-3gマウントが権限チェックを実行するように設定されており、FUSEだけでは他のユーザーのアクセスをブロックしないと思います。これはfstab
、同じシステムディレクトリを提供するのに役立ちます/var/mail
。
ただし、mhddfs
インストール自体では権限が設定されていないため、権限の確認は行われませんdefault_permissions
。このmhddfs
設定が機能する理由を説明します。(このオプションはuid,gid,umask
ユーザーID 1000にのみアクセスを許可しますが)。デフォルトのファイルシステムを表示しないので、権限を確認しているかどうかはわかりませんが、これがrootとしてmhddfs
実行され、そのように権限の確認を避けるようです。
これはインストール時に実行できるテストですmhddfs
。許可ビットが確認されていることを示す必要があります。
mkdir dir
chmod a-w dir # make directory read-only
touch dir/t # attempt writing to directory
権限エラーを解決するには、問題のファイルにアクセスできるユーザーを決定し、それに応じて正しい権限を設定する必要があります。 どのユーザー(またはどのソフトウェア)が権限の検証に失敗したかについて言及したことがないため、より具体的に説明することは困難です。