我有一个共享分区设置,用于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(具体取决于设置)。
答案1
电子X必须设置目录上的 ecute 位,以允许用户查看其内容。如果没有该位,您将获得您所描述的输出。文件根本没有损坏,您只是撤销了检查它们的权限。
只需恢复目录上的执行位即可解决您的情况,在您的情况下使用
sudo chmod a+x /mnt/e/var/lib/vnstat
下面是一个说明该行为的终端日志示例:
$ ll folder/
total 0
drwxrwxr-x 3 bytecommander bytecommander 100 Mai 21 00:19 ./
drwxrwxrwt 19 root root 460 Mai 21 00:21 ../
-rw-rw-r-- 1 bytecommander bytecommander 0 Mai 21 00:19 bar
-rw-rw-r-- 1 bytecommander bytecommander 0 Mai 21 00:19 foo
drwxrwxr-x 2 bytecommander bytecommander 40 Mai 21 00:19 meh/
$ chmod a-x folder/
$ ll folder/
ls: cannot access 'folder/.': Permission denied
ls: cannot access 'folder/..': Permission denied
ls: cannot access 'folder/meh': Permission denied
ls: cannot access 'folder/bar': Permission denied
ls: cannot access 'folder/foo': Permission denied
total 0
d????????? ? ? ? ? ? ./
d????????? ? ? ? ? ? ../
-????????? ? ? ? ? ? bar
-????????? ? ? ? ? ? foo
d????????? ? ? ? ? ? meh/
$ chmod a+x folder/
$ ll folder/
total 0
drwxrwxr-x 3 bytecommander bytecommander 100 Mai 21 00:19 ./
drwxrwxrwt 19 root root 460 Mai 21 00:21 ../
-rw-rw-r-- 1 bytecommander bytecommander 0 Mai 21 00:19 bar
-rw-rw-r-- 1 bytecommander bytecommander 0 Mai 21 00:19 foo
drwxrwxr-x 2 bytecommander bytecommander 40 Mai 21 00:19 meh/