无法在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 -al
或lsattr
的完整输出,包括父文件夹。然后你输入的命令和它的输出,然后是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中更改文件权限的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作 2linux 如何修改只读文件 3ubuntu安装
ubuntu chmod 无法更改 文件夹权限 系统提示“不允许的操作”