1 03/11/76 set_acl, sa
2
3 Function: The set_acl command manipulates the access control lists
4 ACLs of files. See "Access Control" in Section III of the
5 M^H__^Hu_^Hl_^Ht_^Hi_^Hc_^Hs D^H_F^H_A^H_S^H_T^H_ S^H__^Hu_^Hb_^Hs_^Hy_^Hs_^Ht_^He_^Hm U^H__^Hs_^He_^Hr_^Hs'^H_ G^H__^Hu_^Hi_^Hd_^He Order No. AT59.
6
7
8
9 Syntax: set_acl file_name mode1 User_id1 ... modeN User_idN
10
11
12 where:
13
14 1. file_name is the file whose ACL is to be affected. The
15 star convention can be used.
16
17 2. modei is a valid access mode. This can be any or
18 all of the letters rew. Use null, "n" or ""
19 to specify null access.
20
21 3. User_idi is an access control name that must be of the
22 form Person_id.Project_id.tag. All ACL
23 entries with matching names receive the mode
24 modei. For a description of the matching
25 strategy see "Notes" below. If no match is
26 found and all three components are present, an
27 entry is added to the ACL. If the last modei
28 has no User_id following it, the user's
29 Person_id and current Project_id are assumed.
30
31
32 Note:
33
34 The arguments are processed from left to right. Therefore, the effect
35 of a particular pair of arguments can be changed by a later pair of
36 arguments.
37
38
39 The matching of access control name arguments is defined by three
40 rules:
41
42
43 1. A literal component, including "*", matches only a component
44 of the same name.
45
46 2. A missing component not delimited by a period is treated the
47 same as a literal "*" e.g. "*.Multics" is treated as
48 "*.Multics.*". Missing components on the left must be
49 delimited by periods.
50
51 3. A missing component delimited by a period matches any
52 component.
53
54 Some examples of User_ids and which ACL entries they match are:
55
56
57 *.*.* matches only the literal ACL entry "*.*.*".
58
59 Multics matches only the ACL entry "Multics.*.*". The
60 absence of a leading period makes Multics the first
61 component.
62
63 JRSmith.. matches any ACL entry with a first component of
64 JRSmith.
65
66 .. matches any ACL entry.
67
68 . matches any ACL entry with a last component of *.
69
70 "" null string matches any ACL entry ending in
71 ".*.*".
72
73
74 Examples:
75
76 ! set_acl *.basic rew *
77
78
79 adds to the ACL of every file in the home directory that has a
80 two-component name with a second component of basic an entry with mode
81 rew to *.*.* everyone if that entry does not exist; otherwise it
82 changes the mode of the *.*.* entry to rew.
83
84
85 ! sa alpha.basic rew .Faculty. r Jones.Faculty.
86
87
88 changes the mode of every entry on the ACL of alpha.basic with a middle
89 component of Faculty to rew, then changes the mode of every entry that
90 starts with Jones.Faculty to r.