Cifs

解除安裝 SMB 共享文件夾

  • February 17, 2018

我在 /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/

請根據需要重複該umount命令,直到根據shell 中的/mnt/smbu(n)mount 文件夾。ls那麼也應該是按照mount命令:

mount | grep /mnt/smb

這樣共享就真的不再掛載了。如果某些程序仍然列出遠端內容,則必須對其進行記憶體(但在這種php系統呼叫情況下不太可能)。

當然,任何命令仍然可以看到掛載點,因為它是一個目錄。目錄包含的任何本地文件都將通過phpshell 或從 shell 列出。

為了解決最後一個問題,您可以首先從本地目錄移動/刪除文件(當安裝共享時),然後chmod 0 /mnt/smb以 root 身份指示未安裝並在未安裝時創建 ls-errors。

引用自:https://unix.stackexchange.com/questions/424750