Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MAILDIRACL(1)			 S. Varshavchik.		   MAILDIRACL(1)

NAME
     maildiracl - manage access control lists

SYNOPSIS
     maildiracl {-reset} {maildir}

     maildiracl {-list} {maildir} {INBOX[.folder]}

     maildiracl {-set} {maildir} {INBOX[.folder]} {[-]identifier} {[+/-]rights}

     maildiracl {-delete} {maildir} {INBOX[.folder]} {[-]identifier}

     maildiracl {-compute} {maildir} {INBOX[.folder]} {identifier...}

DESCRIPTION
     maildiracl  manages  "access  control  lists" (or ACLs) of the Courier IMAP
     server maildir folders. Access control lists are used primarily to  provide
     fine-grained control for accessing virtual shared folders via IMAP.

	 Note

	 The  Courier IMAP server server implements two types of shared folders:
	 filesystem permission-based shared folders, as well as  virtual  shared
	 folders  based on IMAP access control lists. Use the maildiracl command
	 to set up access control lists for  virtual  shared  folders.	Use  the
	 maildirmake(1)[1],   command  to  implement  shared  folders  based  on
	 filesystem permissions.

	 See the Courier IMAP server documentation for additional information on
	 setting up virtual shared folders.

   ACL overview
     ACLs provide a fine-grained mechanism  for  controlling  access  to  shared
     folders. ACLs may be used to specify, for example, that user1 may only open
     and  read	the  messages in the folder; and user2 can not only do that, but
     also delete messages, and create subfolders.

     Each folder maintains its own individual access control list,  that  speci-
     fies  who	can  do what to the folder. An ACL is a list of "identifier" and
     "rights" pairs. Each "identifier" and "rights" pair means	that  an  entity
     called  "identifier"  (using  the	UTF-8  character  set)	is allowed to do
     "rights" on this folder.  "rights" consists of one or  more  letters,  each
     letter signifies a particular action:

     a
	 identifier may modify this folder's ACLs.

     c
	 identifier may create subfolders of this folder (this includes renaming
	 another folder as this folder's subfolders).

     e
	 identifier may remove deleted messages from this folder.

     i
	 identifier  may  add messages to this folder (either uploading them one
	 by one, or copying messages from another folder).

     l
	 identifier may actually see that this folder exists. If identifier does
	 not have the "l" right on this folder, the folder is effectively invis-
	 ible to identifier.

     r
	 identifier may open this folder. Note that if identifier knows the name
	 of this folder, it can open it even if  identifier  does  not	the  "l"
	 right on this folder.

     s
	 identifier may mark messages in this folder as seen, or unseen.

     t
	 identifier may mark messages in this folder as deleted, or undeleted.

     w
	 identifier  may  change  other status flags of messages in this folder.
	 May also add or remove custom keywords on individual messages.

     x
	 identifier may delete this folder (which includes renaming this  folder
	 as another mailbox's subfoler.

     Negative rights

	 An  ACL  entry  of  "-identifier"  and  "rights"  is called a "negative
	 right", which explicitly removes "rights" from "identifier". More  than
	 one "identifier" is usually used to determine the actual rights someone
	 has  for  the	given folder. The actual access rights are determined by
	 taking all rights from all applicable identifier, than subtracting  any
	 negative rights, as specified in the following section.

     Identifiers

	 Access  rights on a given folder are computed by obtained the rights on
	 the following identifiers, then subtracting the negative rights on  the
	 same identifiers:

	 owner
	     The  owner of the maildir containing this folder. The maildir's IN-
	     BOX's ACL defaults to all rights for its owner. A new folder's  ACL
	     is the same as its parent's ACL. In all cases, trying to remove the
	     "a"  right  from  the  owner  (either  directly or using a negative
	     right) results in an error.

	 anyone
	     This identifier refers literally to every	userid.  The  associated
	     rights (or negative rights) are always used.

	 anonymous
	     This is a synonym from "anyone".

	 user=loginid
	     Rights (or negative rights) for IMAP account "loginid".

		 Note
		 "loginid"  is	what's logged to syslog after a succesful login.
		 In some situations "loginid" is not exactly the actual login ID
		 used by the IMAP client.

	 group=name
	     Rights (or negative rights) for account group "name". Access rights
	     are granted to an account group as a  whole.  The	account  options
	     feature  of  the Courier Authentication Library specifies which ac-
	     count belongs to which account group. See	courier-authlib's  docu-
	     mentation for more information.

	 administrators
	     This is an alias for "group=administrators". Accounts that are mem-
	     bers of an account group called "administrators" are considered ad-
	     ministrative  accounts, and automatically receive all access rights
	     on all accessible folders.

	 Consider the following access control list:

	     owner	    aceilrstwx
	     anyone	    lr
	     user=john	    w
	     -user=mary     r
	     administrators aceilrstwx

	 This access control list specifies that the folder's owner has complete
	 control over the mailbox (as well as  the  administrators,  which  have
	 complete access to every folder); everyone else can see it and open it,
	 except  for  "mary" who can see that the mailbox exists, but can't open
	 it; additionally, "john" can change the status and keywords of individ-
	 ual messages (but not mark them as  deleted/undeleted	or  seen/unseen,
	 which requires additional rights).

OPTIONS
     maildiracl -reset maildir

     This  command  resets  access control lists in maildir which as a path to a
     maildir. Under certain conditions, the files  where  a  folder's  ACLs  are
     saved may continue to exist after the folder is removed. The -reset options
     goes through maildir and removes all stale ACL files for removed folders.

	 Note

	 The Courier IMAP server normally performs this maintenance function au-
	 tomatically.  It is not necessary to run this command under normal con-
	 ditions.

     maildiracl -list maildir folder

     This command lists the access control lists set for folder.  folder must be
     either "INBOX" or "INBOX.folder.subfolder", which is the same  naming  con-
     vention for the Courier IMAP server.

     maildiracl -set maildir folder identifier rights

     Puts  identifier  (which  may begin with a minus sign to specify a negative
     right) and rights in folder's access  control  list.  Existing  rights  for
     identifier  (or  identifier)  are replaced by rights unless "rights" begins
     with "+" or "-", which modifies the existing rights by adding  or	removing
     from them accordingly. Some examples:

	 maildiracl -set /home/user1/Maildir INBOX.Sent user=john lr

	 maildiracl -set /home/user2/Maildir INBOX.Notes anyone -r

	 maildiracl -set /home/user3/Maildir INBOX.Private -user=tom +r

	 Note

	 Observe  that	the  last  command  revokes the "r" right from "tom", by
	 adding it as a negative right.

     maildiracl -delete maildir folder identifier

     This command removes identifier from folder's access control  list,  if  it
     exists. Use "-identifier" to remove negative rights.

     maildiracl -compute maildir folder [identifier]+

     This command takes a list of one or more identifiers. All access rights for
     the identifiers are combined together, then any appropriate negative rights
     are  removed, and the result is printed on standard output. Use the follow-
     ing procedure to compute access rights the same way as they are computed by
     the Courier IMAP server:

	 maildiracl -compute /home/tom46/Maildir INBOX.Sent owner user=tom46

     This command computes access rights "tom46" has on his own folder.

	 maildiracl -compute /home/john34/Maildir INBOX.Public user=tom46

     This command computes access rights "tom46" has on "john34"'s folder.

IRREVOCABLE ACCESS RIGHTS
     The owner of the mailbox must always have the "a" amd  "l"  access  rights.
     The administrators group must always have all access rights to all folders.
     Attempts to set access control lists, that do not include these minimum ac-
     cess rights, will be rejected.

BUGS
     All identifiers are specified using the UTF-8 character set.

     All non-Latin letters in folder names are specified using the modified-UTF7
     coding as used in IMAP.

     This  implementation  of  access  control	lists  is based on version 2 (or
     "ACL2") of IMAP access control lists, which is a work-in-progress. The  ex-
     isting  IMAP  ACL, RFC 2086[2] is transparently implemented inside the ACL2
     model.

     If history's of any guidance, ACL2 is subject to change  at  any  time.  Be
     sure  to  check the release notes when upgrading to a newer version of this
     software. The "ACL overview" portion of this manual page is  a  very  brief
     summary  of  ACL2, which leaves out optional parts of ACL2 that are not im-
     plemented.

SEE ALSO
     maildirmake(1)[1], maildirkw(1)[3],

AUTHOR
     Sam Varshavchik
	 Author

NOTES
      1. maildirmake(1)
	 http://www.courier-mta.org/maildirmake.html

      2. RFC 2086
	 http://www.rfc-editor.org/rfc/rfc2086.txt

      3. maildirkw(1)
	 http://www.courier-mta.org/maildirkw.html

Courier Mail Server		   05/03/2026			   MAILDIRACL(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=maildiracl&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help