SMB共有フォルダのマウント解除

SMB共有フォルダのマウント解除

/mnt/smb/の下にSMB共有フォルダをマウントし、ファイルにアクセスできます。次のコマンドを使用してこの共有フォルダをマウント解除するとき:

umount /mnt/smb/

もちろん、次のコマンドを使用して共有フォルダの内容を一覧表示することはできません。

ls /mnt/smb/

しかし、問題は、同じコンピュータ上のPHPファイルからlsコマンドを実行すると、共有SMBフォルダの内容を一覧表示できることです。 PHPファイルの内容は次のとおりです。

<?php
  $command = 'ls /mnt/smb/';
  $result = shell_exec($command);
  echo $result;
?>

私の間違いは何ですか? SMB共有を完全にアンマウントするには追加のコマンドが必要ですか?また、次のコマンドを使用しましたが、運がありません。

fusermount -u /mnt/smb/

ベストアンサー1

シェルの指示に従ってフォルダがu(n)マウントされるumountまで、必要に応じてこのコマンドを繰り返します。その後、次のコマンドも従う必要があります。/mnt/smblsmount

mount | grep /mnt/smb

これにより、共有がマウントされなくなります。一部のプロセスがまだリストされている場合離れてコンテンツをキャッシュする必要があります(phpこのシステムコールのケースではそうではありませんが)。

すべてのコマンドを引き続き表示できます。マウントポイントもちろんディレクトリだからです。どの地元のphpこのディレクトリには、シェルによってリストされるファイルが含まれています。

最後の問題を解決するには、まずローカルディレクトリでファイルを移動/削除することができます(一方、共有はいいえインストールされている場合)chmod 0 /mnt/smbルートはインストールされていないことを示し、インストールされていない場合はlsエラーを生成します。

おすすめ記事