无法在linux中更改文件权限

Posted

技术标签:

【中文标题】无法在linux中更改文件权限【英文标题】:not able to change file permission in linux 【发布时间】:2014-12-16 12:51:27 【问题描述】:

这似乎是一个非常基本的问题,但我无法在 linux 中更改文件权限。

我是root用户,如果我将相同的文件复制到已安装的linux的文件系统中,我可以更改文件权限。我无法更改保存在另一个分区上的文件/文件夹的权限。

请给我一个至少如何开始调试的术语,我也没有看到任何错误。没有设置粘性位。 通过提供调试此问题的步骤来帮助我。

这是 df -h 的输出

Filesystem                                              Size  Used Avail Use% Mounted on
rootfs                                                   46G   22G   22G  50% /
udev                                                     10M     0   10M   0% /dev
tmpfs                                                   393M  1.9M  391M   1% /run
/dev/disk/by-uuid/49c0f59c-9bb3-4755-8c1f-06da6159865e   46G   22G   22G  50% /
tmpfs                                                   5.0M     0  5.0M   0% /run/lock
tmpfs                                                   786M  944K  785M   1% /run/shm
/dev/sda2                                                46G   43G  1.3G  98% /home
/dev/sda6                                               278G  122G  157G  44% /media/056AFEAB51156F3F___
/dev/sda3                                                92G   16G   72G  18% /media/3a7cb05d-b822-4f3e-a330-da91013b605c_

ls -al 的输出

drwx------ 1 prasenjit prasenjit     0 Oct 21 15:08 abi
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 art
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 bionic
drwx------ 1 prasenjit prasenjit     0 Oct 21 15:08 bootable
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 build
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 cts
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 dalvik
drwx------ 1 prasenjit prasenjit     0 Oct 21 15:08 developers
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:08 development
drwx------ 1 prasenjit prasenjit  4096 Oct 21 15:09 device
drwx------ 1 prasenjit prasenjit     0 Oct 21 15:09 docs
drwx------ 1 prasenjit prasenjit 36864 Oct 21 15:17 external

lsattr 的输出:

lsattr: Inappropriate ioctl for device While reading flags on ./abi
lsattr: Inappropriate ioctl for device While reading flags on ./art
lsattr: Inappropriate ioctl for device While reading flags on ./bionic
lsattr: Inappropriate ioctl for device While reading flags on ./bootable
lsattr: Inappropriate ioctl for device While reading flags on ./build
lsattr: Inappropriate ioctl for device While reading flags on ./cts
lsattr: Inappropriate ioctl for device While reading flags on ./dalvik
lsattr: Inappropriate ioctl for device While reading flags on ./developers
lsattr: Inappropriate ioctl for device While reading flags on ./development
lsattr: Inappropriate ioctl for device While reading flags on ./device
lsattr: Inappropriate ioctl for device While reading flags on ./docs
lsattr: Inappropriate ioctl for device While reading flags on ./external

挂载输出

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=210750,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=401948k,mode=755)
/dev/disk/by-uuid/49c0f59c-9bb3-4755-8c1f-06da6159865e on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=803880k)
/dev/sda2 on /home type ext4 (rw,relatime,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda6 on /media/056AFEAB51156F3F___ type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)
/dev/sda3 on /media/3a7cb05d-b822-4f3e-a330-da91013b605c_ type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks)

让我知道其他可以帮助我调试的命令。 任何帮助表示赞赏。

提前致谢

【问题讨论】:

错误信息是什么?您的分区可能是只读的。在我们看到诸如“I/O 错误,文件系统只读等”之类的实际错误消息之前不知道。顺便说一句。该消息通常应该告诉您发生了什么。在文件上至少做一个ls -al 我没有收到任何错误。 ls -al 将简单地给出如下输出: drwx------ 1 username username 0 Mar 18 2014 abi 请添加ls -allsattr的完整输出,包括父文件夹。然后你输入的命令和它的输出,然后是ls -al resp。 lsattr 再次。如果除了挂载的文件系统之外不提供任何信息,您如何期望任何帮助? 【参考方案1】:

ntfs 分区不支持 linux 文件权限。所以你不能改变权限。或者,您可以使用所需的权限集安装驱动器。

例子:

mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0022 /dev/sda6 /mnt/ntfsDrive/

这里我的分区格式是ntfs,所以我提到了,rw是读/写权限,fmask和dmask是默认文件和目录权限,当您创建任何文件或文件夹以及现有文件夹时。假设您提到了 0022,这意味着文件将使用 755 创建,文件夹也相同。 其余 2 个字段是“/dev/sda6”是我的设备,它安装在名为“/mnt/ntfsDrive/”的文件夹中。

您仍然无法更改文件/文件夹权限,它与您在安装驱动器时提到的相同(fmask 和 dmask)。

如有错误请指正。

请参考:https://askubuntu.com/questions/11840/how-do-i-use-chmod-on-an-ntfs-or-fat32-partition

【讨论】:

【参考方案2】:

尝试使用 lsattr 和 chattr 命令

对于某些文件/目录,可能已经执行了 chattr +i 文件,因此除非您撤消该操作,否则即使在 root 下也无法修改它们。

【讨论】:

【参考方案3】:

这与 OP 的问题没有直接关系,但如果您在与 WSL(Linux 的 Windows 子系统)1 或 2 相关的事情中结束了这里,并且问题中的错误消息与您的类似,this question is helpful。

它详细说明了禁用resolve.conf 的自动生成所需的步骤(我在发现我有 DNS 问题后试图对其进行编辑)。我没有比那个文件更进一步,所以我不知道 WSL 中自动生成的文件还有哪些其他配置。

【讨论】:

以上是关于无法在linux中更改文件权限的主要内容,如果未能解决你的问题,请参考以下文章

在Linux系统中,如何更改文件的访问权限

ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 2linux 如何修改只读文件 3ubuntu安装

ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作”

ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作”

Linux下更改文件权限以及系统权限预留阈值的设定

linux无法读取F盘的内容 权限不够