Cifs
解除安裝 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/
請根據需要重複該
umount
命令,直到根據shell 中的/mnt/smb
u(n)mount 文件夾。ls
那麼也應該是按照mount
命令:mount | grep /mnt/smb
這樣共享就真的不再掛載了。如果某些程序仍然列出遠端內容,則必須對其進行記憶體(但在這種
php
系統呼叫情況下不太可能)。當然,任何命令仍然可以看到掛載點,因為它是一個目錄。目錄包含的任何本地文件都將通過
php
shell 或從 shell 列出。為了解決最後一個問題,您可以首先從本地目錄移動/刪除文件(當未安裝共享時),然後
chmod 0 /mnt/smb
以 root 身份指示未安裝並在未安裝時創建 ls-errors。