次のコマンドを使用して、複数のFTPユーザーに同じ宛先ディレクトリへのアクセスを許可しようとした場合:
sudo mount --bind /home/max/home/ExLand /home/riven/Desktop/ExLand
sudo mount --bind /home/r1ven/home/ExLand /home/riven/Desktop/ExLand/etc/fstab
/etc/fstab
/home/r1ven/home/ExLand /home/riven/Desktop/ExLand none bind 0 0
/home/max/home/ExLand /home/riven/Desktop/ExLand none bind 0 0
/var/log/syslog でエラーが発生しました。
Dec 12 18:32:31 riven kernel: [ 2.131397] systemd-fstab-generator[292]: Failed to create unit file /run/systemd/generator/home-riven-Desktop-ExLand.mount, as it already exists. Duplicate entry in /etc/fstab?
Dec 12 18:32:31 riven kernel: [ 2.131711] systemd[284]: /usr/lib/systemd/system-generators/systemd-fstab-generator failed with exit status 1.
その結果、再起動後、1つのディレクトリのみがマウントされました。
/home/r1ven/home/ExLand /home/riven/Desktop/ExLand バインディングなし 0 0
2番目のディレクトリはマウントされておらず、アクセスできません。
何が間違っているのか教えてください? )
ディレクトリを手動でマウントすると、再起動する前にすべてがうまく機能し、両方のFTPユーザーが1つのディレクトリを使用できるようになります。しかし、再起動後は上記のディレクトリだけが利用可能で、2番目のディレクトリは完全にアクセスできませんが、手動で再マウントすると表示されます。
ベストアンサー1
同じターゲットマウントポイントに2つのバインドマウントを重ね合わせて実行しています。
ステップ1:
sudo mount --bind /home/max/home/ExLand /home/riven/Desktop/ExLand
/home/max/home/ExLand
これでアクセスできます/home/riven/Desktop/ExLand
。
ステップ2:(/etc/fstab
コマンドの終わりにある単語が誤字であると仮定)
sudo mount --bind /home/r1ven/home/ExLand /home/riven/Desktop/ExLand
これにより/home/r1ven/home/ExLand
サイトにアクセスできますが、/home/riven/Desktop/ExLand
以前のバンドルのインストールにはアクセスできなくなります。 (既存のセッションがある場合、そのcd
バージョンは引き続き/home/riven/Desktop/ExLand
表示される可能性がありますが、/home/max/home/ExLand
新しくアクセスするとその/home/r1ven/home/ExLand
バージョンのみが表示されます。)
ユーザーがmax
変更した場合は2つの別々の場所があるため、/home/max/home/ExLand
ユーザーはr1ven
その変更をどこでも表示できません。/home/r1ven/home/ExLand
ユニット名はターゲットマウントポイント名に基づいて生成されるため、2つの重複するマウントターゲットの両方が同じユニット名を持つことになります。これはバグですsystemd-fstab-generator
。.mount
このようにネストされたマウントポイントはあまり役に立ちませんが、通常バグなので、このバグはおそらく良いものです。
目標がユーザーmax
とr1ven
ユーザーの両方にアクセス権を付与することである場合は、/home/riven/Desktop/ExLand
バインドマウントを反対方向に実行する必要があります。
こう考えてみてください: for mount --bind
,源泉データが常駐する場所です本物これはターゲット見たいところです。
したがって、/etc/fstab
項目は次のようになります。
/home/riven/Desktop/ExLand /home/r1ven/home/ExLand none bind 0 0
/home/riven/Desktop/ExLand /home/max/home/ExLand none bind 0 0
後でmax
ファイルを追加すると、/home/max/home/ExLand
ユーザーはそのファイルもそこに表示できますr1ven
(正しいディレクトリ権限を想定している場合)。これは両方の場所が実際にアクセスできるためです。/home/r1ven/home/ExLand
/home/riven/Desktop/ExLand