更改文件属性

更改文件属性

我的文档中目前有两个文件具有 属性A,但我需要它们-rw-r--r--。尝试像平常一样在命令行中修改它们只会给我一个无效的开关错误(在查看了可用的命令后,我有点预料到了)。在互联网上寻找更多信息并-rw-r--r--没有得到任何有用的信息,所以我希望这里有人能帮忙吗?

编辑以澄清和说明背景:

我正在使用 Windows 7 操作系统,编辑游戏数据。我有两个 .plist 文件,它们当前具有属性A,并且需要它们-rw-r--r--才能成功上传 .ipa(它们最初是-rw-r--r--,但在保存时被更改为A)。

答案1

信息这么少,很难理解你的情况。所以我必须在这里发帖,因为我没有 50rep 来评论。

你可以使用 chattr 删除 A 属性,除非文件设置了不可变位。例如,

# lsattr toaster-hero && ls -al toaster-hero
-------A-----e-- toaster-hero
-rw-r--r-- 1 root root 0 Aug 14 20:14 toaster-hero
# 

做,

# chattr -A toaster-hero
# lsattr toaster-hero && ls -al toaster-hero
-------------e-- toaster-hero
-rw-r--r-- 1 root root 0 Aug 14 20:14 toaster-hero
# 

但如果你设置了不可变位,

# chmod 755 toaster-hero && chattr +Ai toaster-hero
# lsattr toaster-hero && ls -al toaster-hero
----i--A-----e-- toaster-hero
-rwxr-xr-x 1 root root 0 Aug 14 20:14 toaster-hero

虽然你不能修改文件,但你仍然可以通过 chattr 修改属性

# chmod 644 toaster-hero
chmod: changing permissions of `toaster-hero': Operation not permitted
# chattr -A toaster-hero
# lsattr toaster-hero && ls -al toaster-hero
----i--------e-- toaster-hero
-rwxr-xr-x 1 root root 0 Aug 14 20:14 toaster-hero

因此您需要 lsattr 该文件以查明是否设置了不可变位并将其取消设置,然后您就可以修改权限

# chattr -i toaster-hero
# lsattr toaster-hero
-------------e-- toaster-hero
# lsattr toaster-hero && ls -al toaster-hero
-------------e-- toaster-hero
-rwxr-xr-x 1 root root 0 Aug 14 20:14 toaster-hero
# chmod 644 toaster-hero && ls -al toaster-hero
-rw-r--r-- 1 root root 0 Aug 14 20:14 toaster-hero
#

除非您没有这些权限 [su,sudo] ,否则,是的,您有问题。

根据您的澄清,请参阅 Ferruccio 的回答https://stackoverflow.com/questions/592448/c-how-to-set-file-permissions-cross-platform/593017#593017

相关内容