我有一个共享分区设置,ntfs
用于在发行版和 WSL 之间存储 Linux 文件。我/etc/fstab
的共享分区如下所示:
UUID=F2C2ACE4C2ACADF3 /mnt/e ntfs-3g permissions,locale=en_US.utf8,x-gvfs-show 0 0
尝试打开可执行位时出现此错误:
$ ll /mnt/e/var/lib/vnstat
total 20
drwxrwxrwx 1 root root 4096 May 20 11:56 ./
drwxr-xr-x 1 root root 0 May 20 09:39 ../
-rwxrwxrwx 1 root root 2792 May 20 15:58 enp59s0*
-rwxrwxrwx 1 root root 2792 May 20 15:58 .enp59s0*
-rwxrwxrwx 1 root root 2792 May 20 15:58 wlp60s0*
-rwxrwxrwx 1 root root 2792 May 20 15:58 .wlp60s0*
$ sudo chmod a-x /mnt/e/var/lib/vnstat
$ ll /mnt/e/var/lib/vnstat
ls: cannot access '/mnt/e/var/lib/vnstat/.': Permission denied
ls: cannot access '/mnt/e/var/lib/vnstat/..': Permission denied
ls: cannot access '/mnt/e/var/lib/vnstat/.enp59s0': Permission denied
ls: cannot access '/mnt/e/var/lib/vnstat/.wlp60s0': Permission denied
ls: cannot access '/mnt/e/var/lib/vnstat/enp59s0': Permission denied
ls: cannot access '/mnt/e/var/lib/vnstat/wlp60s0': Permission denied
total 0
d????????? ? ? ? ? ? ./
d????????? ? ? ? ? ? ../
-????????? ? ? ? ? ? enp59s0
-????????? ? ? ? ? ? .enp59s0
-????????? ? ? ? ? ? wlp60s0
-????????? ? ? ? ? ? .wlp60s0
我可以使用以下方法重建共享文件:
$ sudo rm -rf /mnt/e/var/lib/vnstat
$ sudo cp -rp /var/lib/vnstat /mnt/e/var/lib
$ sudo chmod a+r /mnt/e/var/lib/vnstat/*
$ ll /mnt/e/var/lib/vnstat
total 16
drwxr-xr-x 1 vnstat vnstat 0 Oct 31 2017 ./
drwxr-xr-x 1 root root 0 May 20 16:09 ../
-rw-r--r-- 1 vnstat vnstat 2792 May 20 16:14 enp59s0
-rw-r--r-- 1 vnstat vnstat 2792 May 20 16:14 .enp59s0
-rw-r--r-- 1 vnstat vnstat 2792 May 20 16:14 wlp60s0
-rw-r--r-- 1 vnstat vnstat 2792 May 20 16:14 .wlp60s0
我仍然很想知道文件是如何损坏的,如第一部分所示?
在解析时,我似乎也遇到了所有权问题,/etc/fstab
并且所有权默认为root
我的用户 ID 或我的用户 ID,具体取决于设置。
目录上的ex ecute位必须设置为允许用户统计其内容。没有那一点,你会得到你描述的输出。文件根本没有损坏,您只是撤销了检查它们的权限。
只需恢复目录上的执行位即可解决您的情况,在您的情况下使用
这是说明行为的示例终端日志: