我使用这个来让 chrooted ftp 用户访问文件系统的另一个区域:
mount --bind /var/www/dev/ /home/ftp_user/www_dev
每这个网站在这里。
哎呀,我意识到我给了 ftp 用户太多文件的访问权限。
我该如何修复它?rmdir
不起作用:
rmdir: failed to remove `www_dev': Device or resource busy
如果确实如此,恐怕它会删除已安装的文件。
答案1
尝试umount -l /home/ftp_user/www_dev
。
这将立即分离文件系统,并在其不再繁忙时清理任何剩余的引用。
答案2
我看到这个问题有“卸载”标签,这是完全正确的:这看起来正是需要做的事情。
一般来说,卸载使用 mount 命令创建的东西的方法是使用 umount。(不是“unmount”,而是“umount”。)
卸载/home/ftp_user/www_dev
这将使 /home/ftp_user/www_dev 不再包含已挂载的数据。并且 /home/ftp_user/www_dev 将是一个空目录。此时,您可以根据需要 rmdir 空目录 /home/ftp_user/www_dev 目录,因为它与之前挂载的源(在您的示例中似乎是 /var/www/dev/ 目录)没有任何关系。
请注意,我所说的内容并不特定于 --bind 命令,而只是关于一般如何处理挂载。
附注:您真的确定您授予了“ftp 用户”“太多文件的访问权限”吗?也许 /var/www/dev/ 包含 ftp 用户不应访问的文件,但 ftp 用户可能没有权限访问这些文件。您可能已经做得很好了,并且可以通过验证当您以 ftp 用户身份实际登录时实际上可以执行哪些操作来确认这一点。当然,如果彻底了解 Unix 权限,您可以在不登录的情况下执行此操作,但登录可能是执行快速测试的最简单方法,而无需了解有关权限工作原理的一些更高级的细节。
附注 2:当然,在许多 Unix 系统上,您可以通过运行“man umount”来了解有关该命令的更多信息,您可以通过键入“apropos mount”来找到它,因为您有理由怀疑这些影响是由之前的“mount”命令引起的。如果您不熟悉 mount 和 umount,并且尝试 rmdir 目录之类的操作,则表明您还不熟悉所用操作系统的一些非常基本的东西。如果您正在运行一个为其他用户提供服务的系统,并且您能够处理权限,那么这些类型的基础知识(如 /etc/fstab 文件,另一个相当相关的例子)是值得了解的,以便可靠地监督多个人使用的系统。您可能希望寻找与运行 Unix(或 Linux 或技术上类似的系统)相关的教程或书籍或其他培训材料。例如,mount 和 umount 是 Linux Professional Institute 的 LPIC-1 认证的一部分(与 CompTIA 的 Linux+ 认证非常相关),因此这些认证的培训材料可能会提供此类详细信息以及许多其他您可能会觉得有用的内容。