我的文档中目前有两个文件具有 属性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