无法更改文件系统根目录的权限

无法更改文件系统根目录的权限

当我写 ls -la 时,输出是:

tusharmakkar08-卫星-C660 tusharmakkar08 # ls -la
总计 88
drwxr-x---+ 10 根 4096 4 月 18 日 19:43 。
drwxr-xr-x 4根根4096 3月18日17:35 ..
drwxr-xr-x 4 根 根 32768 1970 年 1 月 1 日 CFB1-5DDA
drwxrwxrwx 2根根4096 2月23日00:09 FA38015738011473
drwxrwxrwx 2 root root 4096 4 月 17 日 14:00 本地
drwxrwxrwx 2 root root 4096 三月 19 日 05:04 本地\040Disk1
drwxrwxrwx 2 root root 4096 4 月 18 日 19:43 本地\134x20Disk1
drwxrwxrwx 2 root root 4096 二月 23 00:09 本地磁盘
drwxrwxrwx 1 root root 24576 4 月 19 日 15:15 本地\x20Disk1
drwxrwxrwx 2 根 根 4096 二月 23 00:08 PENDRIVE

现在我想更改 CFB1-5DDA 的权限..但我无法这样做。当我写作时

chmod 777 CFB1-5DDA

权限仍然保持不变。的输出

sudo blkid -c /dev/null

tusharmakkar08-卫星-C660 tusharmakkar08 # sudo blkid -c /dev/null
/dev/sda2:UUID =“FA38015738011473”类型=“ntfs”
/dev/sda3: LABEL="本地磁盘" UUID="01CD72098BB21B70" TYPE="ntfs"
/dev/sda4:UUID =“2ca94bc3-eb3e-41cf-ad06-293cf89791f2”类型=“ext4”
/dev/sda5:UUID =“CFB1-5DDA”类型=“vfat”

的输出

猫 /etc/fstab 

tusharmakkar08-卫星-C660 tusharmakkar08 # cat /etc/fstab
# /etc/fstab:静态文件系统信息。
#
#                

/dev/sda4 的#条目:
UUID=2ca94bc3-eb3e-41cf-ad06-293cf89791f2 / ext4 默认 01
/dev/sda2 的#条目:
UUID=FA38015738011473 /media/sda2 ntfs-3g 默认值,区域设置=en_IN 0 0
/dev/sda5 的#条目:
UUID=CFB1-5DDA /media/tusharmakkar08/CFB1-5DDA vfat 默认 0 0
/dev/sda3 /media/tusharmakkar08/Local\134x20Disk1 fusionblk 默认值、nosuid、nodev、allow_other、blksize=4096 0 0
/dev/sda3 /media/tusharmakkar08/Local\x20Disk1 ntfs-3g 默认值、nosuid、nodev、locale=en_IN 0 0

#/dev/sda3 /media/tusharmakkar08/Local\134x20Disk1 ntfs 默认值,nls=utf8,umask=0222,nosuid,nodev 0 0

和输出

tusharmakkar08-卫星-C660 tusharmakkar08 # 安装
/dev/sda4 上 / 输入 ext4 (rw)
/proc 上的 proc 类型 proc (rw,noexec,nosuid,nodev)
/sys 上的 sysfs 类型 sysfs(rw、noexec、nosuid、nodev)
/sys/fs/fuse/connections 上没有 类型 fusectl (rw)
/sys/kernel/debug 类型 debugfs (rw) 上无
/sys/kernel/security 类型 securityfs (rw) 上无
/dev 上的 udev 类型 devtmpfs (rw,mode=0755)
/dev/pts 上的 devpts 类型 devpts (rw,noexec,nosuid,gid=5,mode=0620)
/run 上的 tmpfs 类型 tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
/run/lock 类型 tmpfs 上没有(rw、noexec、nosuid、nodev、size=5242880)
/run/shm 类型 tmpfs 上没有(rw、nosuid、nodev)
/run/user 类型 tmpfs 上没有(rw、noexec、nosuid、nodev、size=104857600、mode=0755)
/sys/fs/cgroup 上的 cgroup 类型 tmpfs (rw,relatime,mode=755)
/sys/fs/cgroup/cpuset 上的 cgroup 类型 cgroup(rw、relatime、cpuset)
/sys/fs/cgroup/cpu 上的 cgroup 类型 cgroup(rw、relatime、cpu)
/sys/fs/cgroup/cpuacct 上的 cgroup 类型 cgroup (rw、relatime、cpuacct)
/sys/fs/cgroup/memory 上的 cgroup 类型 cgroup(rw、relatime、内存)
/sys/fs/cgroup/devices 上的 cgroup 类型 cgroup(rw、relatime、devices)
/sys/fs/cgroup/freezer 上的 cgroup 类型 cgroup(rw、relatime、freezer)
/sys/fs/cgroup/blkio 上的 cgroup 类型 cgroup(rw、relatime、blkio)
/sys/fs/cgroup/perf_event 上的 cgroup 类型 cgroup (rw,relatime,perf_event)
/dev/sda2 在 /media/sda2 上类型 fusionblk (rw,nosuid,nodev,allow_other,blksize=4096)
/dev/sda5 位于 /media/tusharmakkar08/CFB1-5DDA 类型 vfat (rw)
/media/tusharmakkar08/Local\x20Disk1 上的 /dev/sda3 类型 fusionblk (rw,nosuid,nodev,allow_other,blksize=4096)
/proc/sys/fs/binfmt_misc 上的 binfmt_misc 类型 binfmt_misc (rw、noexec、nosuid、nodev)
/run/user/tusharmakkar08/gvfs 上的 gvfsd-fuse 类型 fusion.gvfsd-fuse (rw,nosuid,nodev,user=tusharmakkar08)

答案1

chmod 777 CFB1-5DDA失败,因为CFB1-5DDA是挂载点并且挂载的文件系统是 vfat。因此,您正在尝试将元数据写入文件系统不支持(即无法存储)的文件系统。就那么简单。

strace chmod 777 CFB1-5DDA显示内核错误。

为了更改访问权限,您必须更改安装(-o remountumount; mount)。

答案2

我无法弄清楚哪个分区/挂载实际上支持给您带来权限问题的目录/文件。

如果它是 NTFS 或可能是融合文件系统之一,那么客户端上显示的权限可能会产生误导。它们不一定是实际的权限。这些的真正权限由执行 NTFS/FUSE 共享安装的实际帐户控制。

对于真正的权限,您可能必须查看权限的发起者(即共享文件的计算机),而不是客户端。

例如

在这里,我使用 mount.cifs 挂载 Samba 共享。在安装共享之前,我将其安装到的目录(也称为安装点)已获得许可,如下所示:

$ ls -dl /mnt
drwxr-xr-x. 5 root root 4096 Apr 20  2011 /mnt/

该目录的内容如下:

$ ls -la /mnt
total 20
drwxr-xr-x.  5 root root 4096 Apr 20  2011 .
drwxr-xr-x. 26 root root 4096 Apr 26 08:11 ..
drwxr-xr-x.  2 root root 4096 Dec 28  2010 m1
drwxr-xr-x   2 root root 4096 Apr 20  2011 test1
drwxr-xr-x   2 root root 4096 Apr 20  2011 test2

现在,我使用用户帐户“sam”挂载来自服务器“bart”的 Samba 共享“sam”。

笔记:用户帐户“sam”是服务器“bart”的本地帐户,而不是我的本地计算机。

$ mount -t cifs //bart/sam -o username=sam /mnt

现在让我们看看 /mnt 是什么样子的:

$ ls -ld /mnt/
drwxr-x--- 123 5060 1000 0 Apr 28 12:14 /mnt/

$ ls -l /mnt/ | head -5
total 72828
drwxr-xr-x  3 5060 users        0 Oct 23  2009 backup_archives
-rw-r--r--  1 5060  1000     9907 Jan 31 14:39 bashrc
-rw-r--r--  1 root root     50664 Oct 10  2007 bg_body.png
drwxr-xr-x  4 5060 users        0 Mar 16  2012 bin

只要我们将 Samba 共享挂载到该位置,目录 /mnt 之前的权限就消失了。原来的 /mnt 并没有消失,如果我们原来unmount /mnt的 /mnt 还在,挂载不会破坏你挂载在上面的目录的内容。

笔记:userid 显示为 5060,更多证据表明您正在处理远程文件系统,而本地系统不知道这些用户 id。

要记住的要点

  • 正在显示的文件并不是本地文件系统的真正一部分
  • 权限由文件服务器决定,而不是客户端
  • 安装技术本质上是不同的,因此您需要注意在哪里使用哪些技术

相关内容