我创建了一个 /media/daily 目录,其中挂载了一个 USB 密钥,用于用户的 crontab 每日进行小型备份。但现在它的所有者是 root,而不是用户:
$ ls -la /media | grep daily
drwxr-xr-x 2 root root 40960 Dec 31 1969 daily
$ mount | grep daily
/dev/sdc1 on /media/daily type vfat
(rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,
shortname=mixed,utf8,errors=remount-ro)
我无法写入密钥,因为 daily 归 root 所有。但我无法更改 daily 的所有权,因为“操作不允许”
$ sudo chown haines:haines /media/daily
chown: changing ownership of '/media/daily': Operation not permitted
我无法卸载该密钥,因为它很忙:
$ sudo umount /dev/sdc1
umount: /media/daily: target is busy.
我执行 lsof:
$ sudo lsof /media/daily
lsof: WARNING: can't stat() fuse.portal file system /run/user/1000/doc \
Output information may be incomplete. \
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME \
bash 8310 haines cwd DIR 8,33 40960 1 /media/daily \
bash 10265 root cwd DIR 8,33 40960 1 /media/daily \
lsof 10683 root cwd DIR 8,33 40960 1 /media/daily \
lsof 10684 root cwd DIR 8,33 40960 1 /media/daily
终止这两个 bash 进程没有效果。看来它们无法被终止。
如果我无法防止目录繁忙,我该如何更改 /media/daily 的所有权或删除它?
答案1
要立即断开繁忙的设备,您可以执行以下操作:
umount -l /PATH/OF/BUSY-DEVICE
笔记:
这些命令可能会中断正在运行的进程,导致数据丢失或损坏打开的文件。您不应该在安装路径(文件夹/驱动器/设备)内运行上述命令。您需要先使用cd
命令更改路径,然后运行上述命令。