到底是什么伊尔斯维普克克斯泰克达在赛勒斯?我了解到从这里它与 Cyrus 邮箱的 ACL 有关,但有人能对此提供更多解释吗?每个字母代表什么吗?
我第一次转储时发现了这一点mailboxes.db
,随后当我尝试执行一些不允许的操作时(例如,在尝试删除邮箱而不向用户应用删除权限时,它会显示在详细输出中cyrus
)。
附言:我不知道这么小的问题是否会得到回答,但谷歌搜索没有找到任何具体答案,所以我想最好问一下。
答案1
IMAP4 允许使用共享邮箱。因此,对用户对邮箱的权限进行一些控制是有意义的。这些权限通过访问控制列表 (ACL) 定义。Cyrus IMAPd 使用 ACL 来控制对任何类型的邮箱(无论是私人邮箱、共享邮箱还是公共邮箱)的访问。
每个邮箱都包含一个 ACL,即访问控制条目列表。这些条目包含用户 ID 以及用户对特定邮箱的权限。
权利是(RFC4314):
l - lookup (mailbox is visible to LIST/LSUB commands, SUBSCRIBE
mailbox)
r - read (SELECT the mailbox, perform STATUS)
s - keep seen/unseen information across sessions (set or clear
\SEEN flag via STORE, also set \SEEN during APPEND/COPY/
FETCH BODY[...])
w - write (set or clear flags other than \SEEN and \DELETED via
STORE, also set them during APPEND/COPY)
i - insert (perform APPEND, COPY into mailbox)
p - post (send mail to submission address for mailbox,
not enforced by IMAP4 itself)
k - create mailboxes (CREATE new sub-mailboxes in any
implementation-defined hierarchy, parent mailbox for the new
mailbox name in RENAME)
x - delete mailbox (DELETE mailbox, old mailbox name in RENAME)
t - delete messages (set or clear \DELETED flag via STORE, set
\DELETED flag during APPEND/COPY)
e - perform EXPUNGE and expunge as a part of CLOSE
a - administer (perform SETACL/DELETEACL/GETACL/LISTRIGHTS)
从 RFC4314 (第 2.1.1 节) 开始,“c”和“d”已过时。
要管理 cyrus 中的 ACL,您可以使用 cyradm:
setaclmailbox shared.questions jenny lrs
listaclmailbox shared.questions
deleteaclmailbox shared.questions jenny
一些优化:
- 使用较短的命令名称:
sam
,,lam
dam
- 对邮箱使用通配符:
sam shared.* jenny lrs
- 使用anyone为所有用户设置权限:
sam shared.* anyone lrswipkxtecda
- 使用全部来允许一切:
sam shared.* anyone all
- 在用户名前面加上破折号可用于“删除”邮箱的权限:
sam shared.secret -edgar all
答案2
我猜这些是邮箱的 ACL 代码。我只是猜测,因为你给出的是毫无背景。
一些 ACL 代码(来自 h埃雷)。
l Look up the name of the mailbox (but not its contents).
r Read the contents of the mailbox.
s Preserve the "seen" and "recent" status of messages across IMAP sessions.
w Write (change message flags such as "recent," "answered," and "draft").
i Insert (move or copy) a message into the mailbox.
p Post a message in the mailbox by sending the message
c Create a new mailbox below the top-level mailbox (ordinary users cannot create top-level mailboxes).
d Delete a message and/or the mailbox itself.
a Administer the mailbox (change the mailbox's ACL).