文件权限模式以@或+结尾


44

我更改文件权限和我注意到,一些权限模式,在截至@作为-rw-r--r--@+作为drwxr-x---+。我查看了chmod和chown的手册页,并在不同的帮助论坛中进行了搜索,但是我对这些符号的含义一无所获。


3
这不是重复项。具体来说,它询问+而链接的问题则不询问。

Answers:


33

+表示该文件设置了其他ACL。您可以使用进行设置setfacl和查询getfacl

martin@martin ~ % touch file
martin@martin ~ % ll file 
-rw-rw-r-- 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % setfacl -m u:root:rw file 
martin@martin ~ % ll file 
-rw-rw-r--+ 1 martin martin 0 Sep 23 21:59 file
martin@martin ~ % getfacl file 
# file: file
# owner: martin
# group: martin
user::rw-
user:root:rw-
group::rw-
mask::rw-
other::r--

我还没有@亲自见过,但是根据这个主题,它至少在MacOS上表示扩展属性。试一下xattr -l这样的文件。


3
简要说明一下:OSX似乎没有setfacl或getfacl。相反,它将这些额外功能打包到chmod中。马丁的回答为我指出了正确的搜索词,该搜索词打开了此页面:thomaskeller.biz/blog/2011/06/04/acls-on-mac-os-x
Nathan

伟大的xattr命令输出
Evhz

15

OSX上的@表示它们是扩展属性。参见此处:http : //scottlab.ucsc.edu/~wgscott/xtal/wiki/index.php/Extended_Attributes

$ ls -lF *.pdf
-rw-r--r--@ 1 wgscott  staff   222K Feb 27 17:08 1229.pdf

@告诉您文件具有某种形式的扩展属性。我们来看一下:

$ xattr -l 1229.pdf

com.apple.metadata:kMDItemWhereFroms:
0000   62 70 6C 69 73 74 30 30 A1 01 5F 10 37 68 74 74    bplist00.._.7htt
0010   70 3A 2F 2F 77 77 77 2E 73 63 69 65 6E 63 65 6D    p://www.sciencem
0020   61 67 2E 6F 72 67 2F 63 67 69 2F 72 65 70 72 69    ag.org/cgi/repri
0030   6E 74 2F 33 32 33 2F 35 39 31 38 2F 31 32 32 39    nt/323/5918/1229
0040   2E 70 64 66 08 0A 00 00 00 00 00 00 01 01 00 00    .pdf............
0050   00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00    ................
0060   00 00 00 00 00 44                                  .....D

com.apple.quarantine: 0000;49a88e87;Safari.app;|com.apple.Safari

12

对于那些在Mac osx上搜索为什么无法编辑文件末尾带有“ @”或“ +”的文件的人,原因可能与元数据有关,例如,该文件是通过Time Machine备份通过终端,而不是文件资源管理器。

分两个步骤将删除元数据,并使其在MacOS上可再次写入:

# Remove the metadata attributes
xattr -c <some file>

# Remove the file ACL(s)
chmod -N <some file>

这可能是最有用的帖子。我在使用@修改文件时遇到麻烦。
周克敏

我的excel有几张纸,xattr -c可以摆脱@,但是尝试保存一张纸作为文本只会导致失败,然后@在此操作之后出现。这是在Mac上。真烦人。
周克敏

1

正如其他人指出的那样,它的确是元数据。用途之一是存储下载信息,例如文件从何处下载。这使MacOS可以查询有关打开从Internet下载的文件的信息,例如:

$ xattr -p -l com.apple.metadata:kMDItemWhereFroms foo
com.apple.metadata:kMDItemWhereFroms:
00000000  62 70 6C 69 73 74 30 30 A2 01 02 5F 10 68 68 74  |bplist00..._.hht|
00000010  74 70 3A 2F 2F 64 6F 77 6E 6C 6F 61 64 73 2E 70  |tp://downloads.p|
00000020  65 72 66 73 6F 6E 61 72 2E 6E 65 74 2F 72 65 64  |erfsonar.net/red|
00000030  68 61 74 2F 6D 61 69 6E 2F 72 70 6D 73 2F 65 6C  |hat/main/rpms/el|
00000040  36 2F 69 33 38 36 2F 6D 61 69 6E 2F 52 50 4D 53  |6/i386/main/RPMS|
00000050  2F 70 65 72 66 73 6F 6E 61 72 2D 75 69 2D 77 65  |/perfsonar-ui-we|
00000060  62 2D 31 2E 37 2E 31 2E 65 6C 36 2E 6E 6F 61 72  |b-1.7.1.el6.noar|
00000070  63 68 2E 72 70 6D 5F 10 2B 68 74 74 70 3A 2F 2F  |ch.rpm_.+http://|
00000080  64 6F 63 73 2E 70 65 72 66 73 6F 6E 61 72 2E 6E  |docs.perfsonar.n|
00000090  65 74 2F 69 6E 73 74 61 6C 6C 5F 70 73 75 69 2E  |et/install_psui.|
000000A0  68 74 6D 6C 08 0B 76 00 00 00 00 00 00 01 01 00  |html..v.........|
000000B0  00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00  |................|
000000C0  00 00 00 00 00 00 A4                             |.......|
000000c7
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.