ukernel-use-fsblkcnt-20090513
[openafs.git] / doc / xml / AdminGuide / c31274.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <HTML
3 ><HEAD
4 ><TITLE
5 >Managing Access Control Lists</TITLE
6 ><META
7 NAME="GENERATOR"
8 CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
9 REL="HOME"
10 TITLE="AFS Administration Guide"
11 HREF="book1.html"><LINK
12 REL="UP"
13 TITLE="Managing Users and Groups"
14 HREF="p24911.html"><LINK
15 REL="PREVIOUS"
16 TITLE="Administering the Protection Database"
17 HREF="c29323.html"><LINK
18 REL="NEXT"
19 TITLE="Managing Administrative Privilege"
20 HREF="c32432.html"></HEAD
21 ><BODY
22 CLASS="chapter"
23 BGCOLOR="#FFFFFF"
24 TEXT="#000000"
25 LINK="#0000FF"
26 VLINK="#840084"
27 ALINK="#0000FF"
28 ><DIV
29 CLASS="NAVHEADER"
30 ><TABLE
31 SUMMARY="Header navigation table"
32 WIDTH="100%"
33 BORDER="0"
34 CELLPADDING="0"
35 CELLSPACING="0"
36 ><TR
37 ><TH
38 COLSPAN="3"
39 ALIGN="center"
40 >AFS Administration Guide: Version 3.6</TH
41 ></TR
42 ><TR
43 ><TD
44 WIDTH="10%"
45 ALIGN="left"
46 VALIGN="bottom"
47 ><A
48 HREF="c29323.html"
49 ACCESSKEY="P"
50 >Prev</A
51 ></TD
52 ><TD
53 WIDTH="80%"
54 ALIGN="center"
55 VALIGN="bottom"
56 ></TD
57 ><TD
58 WIDTH="10%"
59 ALIGN="right"
60 VALIGN="bottom"
61 ><A
62 HREF="c32432.html"
63 ACCESSKEY="N"
64 >Next</A
65 ></TD
66 ></TR
67 ></TABLE
68 ><HR
69 ALIGN="LEFT"
70 WIDTH="100%"></DIV
71 ><DIV
72 CLASS="chapter"
73 ><H1
74 ><A
75 NAME="HDRWQ562"
76 ></A
77 >Chapter 15. Managing Access Control Lists</H1
78 ><P
79 >To control access to a directory and all of the files in it, AFS associates an <SPAN
80 CLASS="emphasis"
81 ><I
82 CLASS="emphasis"
83 >access control list</I
84 ></SPAN
85 >
86   (<SPAN
87 CLASS="emphasis"
88 ><I
89 CLASS="emphasis"
90 >ACL</I
91 ></SPAN
92 >) with it, rather than the mode bits that the UNIX file system (UFS) associates with individual files or
93   directories. AFS ACLs provide more refined access control because there are seven access permissions rather than UFS's three, and
94   there is room for approximately 20 user or group entries on an ACL, rather than just the three UFS entries (<SPAN
95 CLASS="bold"
96 ><B
97 CLASS="emphasis"
98 >owner</B
99 ></SPAN
100 >, <SPAN
101 CLASS="bold"
102 ><B
103 CLASS="emphasis"
104 >group</B
105 ></SPAN
106 >, and <SPAN
107 CLASS="bold"
108 ><B
109 CLASS="emphasis"
110 >other</B
111 ></SPAN
112 >).</P
113 ><DIV
114 CLASS="sect1"
115 ><H1
116 CLASS="sect1"
117 ><A
118 NAME="HDRWQ563"
119 >Summary of Instructions</A
120 ></H1
121 ><P
122 >This chapter explains how to perform the following tasks by using the indicated commands:</P
123 ><DIV
124 CLASS="informaltable"
125 ><A
126 NAME="AEN31285"
127 ></A
128 ><TABLE
129 BORDER="0"
130 FRAME="void"
131 CLASS="CALSTABLE"
132 ><COL
133 WIDTH="57*"><COL
134 WIDTH="43*"><TBODY
135 ><TR
136 ><TD
137 >Examine access control list</TD
138 ><TD
139 ><SPAN
140 CLASS="bold"
141 ><B
142 CLASS="emphasis"
143 >fs listacl</B
144 ></SPAN
145 ></TD
146 ></TR
147 ><TR
148 ><TD
149 >Edit ACL's normal permissions section</TD
150 ><TD
151 ><SPAN
152 CLASS="bold"
153 ><B
154 CLASS="emphasis"
155 >fs setacl</B
156 ></SPAN
157 ></TD
158 ></TR
159 ><TR
160 ><TD
161 >Edit ACL's negative permissions section</TD
162 ><TD
163 ><SPAN
164 CLASS="bold"
165 ><B
166 CLASS="emphasis"
167 >fs setacl</B
168 ></SPAN
169 > with <SPAN
170 CLASS="bold"
171 ><B
172 CLASS="emphasis"
173 >-negative</B
174 ></SPAN
175 > flag</TD
176 ></TR
177 ><TR
178 ><TD
179 >Replace an ACL</TD
180 ><TD
181 ><SPAN
182 CLASS="bold"
183 ><B
184 CLASS="emphasis"
185 >fs setacl</B
186 ></SPAN
187 > with <SPAN
188 CLASS="bold"
189 ><B
190 CLASS="emphasis"
191 >-clear</B
192 ></SPAN
193 > flag</TD
194 ></TR
195 ><TR
196 ><TD
197 >Copy an ACL</TD
198 ><TD
199 ><SPAN
200 CLASS="bold"
201 ><B
202 CLASS="emphasis"
203 >fs copyacl</B
204 ></SPAN
205 ></TD
206 ></TR
207 ><TR
208 ><TD
209 >Remove obsolete AFS UIDs</TD
210 ><TD
211 ><SPAN
212 CLASS="bold"
213 ><B
214 CLASS="emphasis"
215 >fs cleanacl</B
216 ></SPAN
217 ></TD
218 ></TR
219 ></TBODY
220 ></TABLE
221 ></DIV
222 ></DIV
223 ><DIV
224 CLASS="sect1"
225 ><H1
226 CLASS="sect1"
227 ><A
228 NAME="HDRWQ565"
229 >Protecting Data in AFS</A
230 ></H1
231 ><P
232 >This section describes the main differences between the AFS and UFS file protection systems, discusses the implications of
233     directory-level protections, and describes the seven access permissions.</P
234 ><DIV
235 CLASS="sect2"
236 ><H2
237 CLASS="sect2"
238 ><A
239 NAME="HDRWQ566"
240 >Differences Between UFS and AFS Data Protection</A
241 ></H2
242 ><P
243 >The UFS mode bits data protection system and the AFS ACL system differ in the following ways: <UL
244 ><LI
245 ><P
246 >Protection at the file level (UFS) versus the directory level (AFS)</P
247 ><P
248 >UFS associates a set of nine mode bits with each file element, three (<SPAN
249 CLASS="bold"
250 ><B
251 CLASS="emphasis"
252 >rwx</B
253 ></SPAN
254 >) for
255             each of the element's owner, owning group, and all other users. A similar set of mode bits on the file's directory
256             applies to the file only in an oblique way.</P
257 ><P
258 >An AFS ACL instead protects all files in a directory in the same way. If a certain file is more sensitive than
259             others, store it in a directory with a more restrictive ACL.</P
260 ><P
261 >Defining access at the directory level has important consequences:  <UL
262 ><LI
263 ><P
264 >The permissions on a directory's ACL apply to all of the files in the directory. When you move a file to a
265                   different directory, you effectively change the access permissions that apply to it to those on its new
266                   directory's ACL. Changing a directory's ACL changes the protection on all the files in it.</P
267 ></LI
268 ><LI
269 ><P
270 >When you create a subdirectory, its initial ACL is created as a copy of its parent directory's ACL. You can
271                   then change the subdirectory's ACL independently. However, the parent directory's ACL continues to control access
272                   to the subdirectory in the following way: the parent directory's ACL must grant the <SPAN
273 CLASS="bold"
274 ><B
275 CLASS="emphasis"
276 >l</B
277 ></SPAN
278 > (<SPAN
279 CLASS="bold"
280 ><B
281 CLASS="emphasis"
282 >lookup</B
283 ></SPAN
284 >) permission to a user (or a group the user
285                   belongs to) in order for the user to access the subdirectory at all.</P
286 ><P
287 >In general, then, it is best to assign fairly liberal access permissions to high-level directories
288                   (including user home directories). In particular, it often makes sense to grant at least the <SPAN
289 CLASS="bold"
290 ><B
291 CLASS="emphasis"
292 >l</B
293 ></SPAN
294 > permission to the <SPAN
295 CLASS="bold"
296 ><B
297 CLASS="emphasis"
298 >system:anyuser</B
299 ></SPAN
300 > or <SPAN
301 CLASS="bold"
302 ><B
303 CLASS="emphasis"
304 >system:authuser</B
305 ></SPAN
306 > group on high-level directories. For further discussion, see <A
307 HREF="c31274.html#HDRWQ571"
308 >Using Groups on ACLs</A
309 >.</P
310 ></LI
311 ></UL
312 ></P
313 ></LI
314 ><LI
315 ><P
316 >How the mode bits are interpreted</P
317 ><P
318 >Mode bits are the only file-protection system in UFS. AFS allows you to set the UNIX mode bits on a file in
319             addition to the ACL on its directory, but it interprets them differently. See <A
320 HREF="c31274.html#HDRWQ580"
321 >How AFS
322             Interprets the UNIX Mode Bits</A
323 >.</P
324 ></LI
325 ><LI
326 ><P
327 >Three access permissions (UFS) versus seven (AFS)</P
328 ><P
329 >UFS defines three access permissions in the form of mode bits: <SPAN
330 CLASS="bold"
331 ><B
332 CLASS="emphasis"
333 >r</B
334 ></SPAN
335 > (<SPAN
336 CLASS="bold"
337 ><B
338 CLASS="emphasis"
339 >read</B
340 ></SPAN
341 >), <SPAN
342 CLASS="bold"
343 ><B
344 CLASS="emphasis"
345 >w</B
346 ></SPAN
347 > (<SPAN
348 CLASS="bold"
349 ><B
350 CLASS="emphasis"
351 >write</B
352 ></SPAN
353 >), and <SPAN
354 CLASS="bold"
355 ><B
356 CLASS="emphasis"
357 >x</B
358 ></SPAN
359 > (<SPAN
360 CLASS="bold"
361 ><B
362 CLASS="emphasis"
363 >execute</B
364 ></SPAN
365 >). AFS defines seven permissions, which makes access
366             control more precise. For detailed descriptions, see <A
367 HREF="c31274.html#HDRWQ567"
368 >The AFS ACL Permissions</A
369 >.
370             <TABLE
371 BORDER="0"
372 ><TBODY
373 ><TR
374 ><TD
375 ><SPAN
376 CLASS="bold"
377 ><B
378 CLASS="emphasis"
379 >a</B
380 ></SPAN
381 > (<SPAN
382 CLASS="bold"
383 ><B
384 CLASS="emphasis"
385 >administer</B
386 ></SPAN
387 >)</TD
388 ></TR
389 ><TR
390 ><TD
391 ><SPAN
392 CLASS="bold"
393 ><B
394 CLASS="emphasis"
395 >d</B
396 ></SPAN
397 > (<SPAN
398 CLASS="bold"
399 ><B
400 CLASS="emphasis"
401 >delete</B
402 ></SPAN
403 >)</TD
404 ></TR
405 ><TR
406 ><TD
407 ><SPAN
408 CLASS="bold"
409 ><B
410 CLASS="emphasis"
411 >i</B
412 ></SPAN
413 > (<SPAN
414 CLASS="bold"
415 ><B
416 CLASS="emphasis"
417 >insert</B
418 ></SPAN
419 >)</TD
420 ></TR
421 ><TR
422 ><TD
423 ><SPAN
424 CLASS="bold"
425 ><B
426 CLASS="emphasis"
427 >k</B
428 ></SPAN
429 > (<SPAN
430 CLASS="bold"
431 ><B
432 CLASS="emphasis"
433 >lock</B
434 ></SPAN
435 >)</TD
436 ></TR
437 ><TR
438 ><TD
439 ><SPAN
440 CLASS="bold"
441 ><B
442 CLASS="emphasis"
443 >l</B
444 ></SPAN
445 > (<SPAN
446 CLASS="bold"
447 ><B
448 CLASS="emphasis"
449 >lookup</B
450 ></SPAN
451 >)</TD
452 ></TR
453 ><TR
454 ><TD
455 ><SPAN
456 CLASS="bold"
457 ><B
458 CLASS="emphasis"
459 >r</B
460 ></SPAN
461 > (<SPAN
462 CLASS="bold"
463 ><B
464 CLASS="emphasis"
465 >read</B
466 ></SPAN
467 >)</TD
468 ></TR
469 ><TR
470 ><TD
471 ><SPAN
472 CLASS="bold"
473 ><B
474 CLASS="emphasis"
475 >w</B
476 ></SPAN
477 > (<SPAN
478 CLASS="bold"
479 ><B
480 CLASS="emphasis"
481 >write</B
482 ></SPAN
483 >)</TD
484 ></TR
485 ></TBODY
486 ></TABLE
487 ></P
488 ></LI
489 ><LI
490 ><P
491 >Three defined users and groups (UFS) versus many (AFS)</P
492 ><P
493 >UFS controls access for one user and two groups by providing a set of mode bits for each: the user who owns the
494             file or directory, a single defined group, and everyone who has an account on the system.</P
495 ><P
496 >AFS, in contrast, allows you to place many entries (individual users or groups) on an ACL, granting a different
497             set of access permissions to each one. The number of possible entries is about 20, and depends on how much space each
498             entry occupies in the memory allocated for the ACL itself.</P
499 ><P
500 >AFS defines two system groups, <SPAN
501 CLASS="bold"
502 ><B
503 CLASS="emphasis"
504 >system:anyuser</B
505 ></SPAN
506 > and <SPAN
507 CLASS="bold"
508 ><B
509 CLASS="emphasis"
510 >system:authuser</B
511 ></SPAN
512 >, which represent all users and all authenticated users, respectively; for further
513             discussion, see <A
514 HREF="c31274.html#HDRWQ571"
515 >Using Groups on ACLs</A
516 >. In addition, users can define their own groups in
517             the Protection Database, consisting of individual users or machine IP addresses. Users who have the <SPAN
518 CLASS="bold"
519 ><B
520 CLASS="emphasis"
521 >a</B
522 ></SPAN
523 > permission on an ACL can create entries for the system groups as well as groups defined by
524             themselves or other users. For information on defining groups, see <A
525 HREF="c29323.html"
526 >Administering the Protection
527             Database</A
528 >.</P
529 ><P
530 >When a user requests access to a file or directory, the File Server sums together all of the permissions that the
531             relevant ACL extends to the user and to groups to which the user belongs. Placing group entries on ACLs therefore can
532             control access for many more users than the ACL can accommodate as individual entries.</P
533 ></LI
534 ></UL
535 ></P
536 ></DIV
537 ><DIV
538 CLASS="sect2"
539 ><H2
540 CLASS="sect2"
541 ><A
542 NAME="HDRWQ567"
543 >The AFS ACL Permissions</A
544 ></H2
545 ><P
546 >Functionally, the seven standard ACL permissions fall into two groups: one that applies to the directory itself and one
547       that applies to the files it contains.</P
548 ><DIV
549 CLASS="sect3"
550 ><H3
551 CLASS="sect3"
552 ><A
553 NAME="HDRWQ568"
554 >The Four Directory Permissions</A
555 ></H3
556 ><P
557 >The four permissions in this group are meaningful with respect to the directory itself. For example, the <SPAN
558 CLASS="bold"
559 ><B
560 CLASS="emphasis"
561 >i</B
562 ></SPAN
563 > (<SPAN
564 CLASS="bold"
565 ><B
566 CLASS="emphasis"
567 >insert</B
568 ></SPAN
569 >) permission does not control addition of data to a file,
570         but rather creation of a new file or subdirectory. <DIV
571 CLASS="variablelist"
572 ><DL
573 ><DT
574 ><SPAN
575 CLASS="bold"
576 ><B
577 CLASS="emphasis"
578 >The l (lookup) permission</B
579 ></SPAN
580 ></DT
581 ><DD
582 ><P
583 >This permission functions as something of a gate keeper for access to the directory and its files, because a
584                 user must have it in order to exercise any other permissions. In particular, a user must have this permission to
585                 access anything in the directory's subdirectories, even if the ACL on a subdirectory grants extensive permissions.
586                  </P
587 ><P
588 >This permission enables a user to issue the following commands: <UL
589 ><LI
590 ><P
591 >The <SPAN
592 CLASS="bold"
593 ><B
594 CLASS="emphasis"
595 >ls</B
596 ></SPAN
597 > command to list the names of the files and subdirectories in the
598                       directory</P
599 ></LI
600 ><LI
601 ><P
602 >The <SPAN
603 CLASS="bold"
604 ><B
605 CLASS="emphasis"
606 >ls -ld</B
607 ></SPAN
608 > command to obtain complete status information for the
609                       directory element itself</P
610 ></LI
611 ><LI
612 ><P
613 >The <SPAN
614 CLASS="bold"
615 ><B
616 CLASS="emphasis"
617 >fs listacl</B
618 ></SPAN
619 > command to examine the directory's ACL</P
620 ></LI
621 ></UL
622 ></P
623 ><P
624 >This permission does not enable a user to read the contents of a file in the directory, to issue the <SPAN
625 CLASS="bold"
626 ><B
627 CLASS="emphasis"
628 >ls -l</B
629 ></SPAN
630 > command on a file in the directory, or to issue the <SPAN
631 CLASS="bold"
632 ><B
633 CLASS="emphasis"
634 >fs
635                 listacl</B
636 ></SPAN
637 > command with the filename as the <SPAN
638 CLASS="bold"
639 ><B
640 CLASS="emphasis"
641 >-path</B
642 ></SPAN
643 > argument. Those
644                 operations require the <SPAN
645 CLASS="bold"
646 ><B
647 CLASS="emphasis"
648 >r</B
649 ></SPAN
650 > (<SPAN
651 CLASS="bold"
652 ><B
653 CLASS="emphasis"
654 >read</B
655 ></SPAN
656 >) permission which
657                 is described in <A
658 HREF="c31274.html#HDRWQ569"
659 >The Three File Permissions</A
660 >.</P
661 ><P
662 >Similarly, this permission does not enable a user to issue the <SPAN
663 CLASS="bold"
664 ><B
665 CLASS="emphasis"
666 >ls</B
667 ></SPAN
668 >, <SPAN
669 CLASS="bold"
670 ><B
671 CLASS="emphasis"
672 >ls -l</B
673 ></SPAN
674 >, <SPAN
675 CLASS="bold"
676 ><B
677 CLASS="emphasis"
678 >ls -ld</B
679 ></SPAN
680 >, or <SPAN
681 CLASS="bold"
682 ><B
683 CLASS="emphasis"
684 >fs
685                 listacl</B
686 ></SPAN
687 > commands against a subdirectory of the directory. Those operations require the <SPAN
688 CLASS="bold"
689 ><B
690 CLASS="emphasis"
691 >l</B
692 ></SPAN
693 > permission on the ACL of the subdirectory itself.</P
694 ></DD
695 ><DT
696 ><SPAN
697 CLASS="bold"
698 ><B
699 CLASS="emphasis"
700 >The i (insert) permission</B
701 ></SPAN
702 ></DT
703 ><DD
704 ><P
705 >This permission enables a user to add new files to the directory, either by creating or copying, and to create
706                 new subdirectories. It does not extend into any subdirectories, which are protected by their own ACLs.  </P
707 ></DD
708 ><DT
709 ><SPAN
710 CLASS="bold"
711 ><B
712 CLASS="emphasis"
713 >The d (delete) permission</B
714 ></SPAN
715 ></DT
716 ><DD
717 ><P
718 >This permission enables a user to remove files and subdirectories from the directory or move them into other
719                 directories (assuming that the user has the <SPAN
720 CLASS="bold"
721 ><B
722 CLASS="emphasis"
723 >i</B
724 ></SPAN
725 > permission on the ACL of the other
726                 directories).  </P
727 ></DD
728 ><DT
729 ><SPAN
730 CLASS="bold"
731 ><B
732 CLASS="emphasis"
733 >The a (administer) permission</B
734 ></SPAN
735 ></DT
736 ><DD
737 ><P
738 >This permission enables a user to change the directory's ACL. Members of the <SPAN
739 CLASS="bold"
740 ><B
741 CLASS="emphasis"
742 >system:administrators</B
743 ></SPAN
744 > group implicitly have this permission on every directory (that is, even
745                 if that group does not appear on the ACL). Similarly, the owner of a directory implicitly has this permission on its
746                 ACL and those of all directories below it that he or she owns.  </P
747 ></DD
748 ></DL
749 ></DIV
750 ></P
751 ></DIV
752 ><DIV
753 CLASS="sect3"
754 ><H3
755 CLASS="sect3"
756 ><A
757 NAME="HDRWQ569"
758 >The Three File Permissions</A
759 ></H3
760 ><P
761 >The three permissions in this group are meaningful with respect to files in a directory, rather than the directory
762         itself or its subdirectories. <DIV
763 CLASS="variablelist"
764 ><DL
765 ><DT
766 ><SPAN
767 CLASS="bold"
768 ><B
769 CLASS="emphasis"
770 >The r (read) permission</B
771 ></SPAN
772 ></DT
773 ><DD
774 ><P
775 >This permission enables a user to read the contents of files in the directory and to issue the <SPAN
776 CLASS="bold"
777 ><B
778 CLASS="emphasis"
779 >ls -l</B
780 ></SPAN
781 > command to stat the file elements.  </P
782 ></DD
783 ><DT
784 ><SPAN
785 CLASS="bold"
786 ><B
787 CLASS="emphasis"
788 >The w (write) permission</B
789 ></SPAN
790 ></DT
791 ><DD
792 ><P
793 >This permission enables a user to modify the contents of files in the directory and to issue the <SPAN
794 CLASS="bold"
795 ><B
796 CLASS="emphasis"
797 >chmod</B
798 ></SPAN
799 > command to change their UNIX mode bits.  </P
800 ></DD
801 ><DT
802 ><SPAN
803 CLASS="bold"
804 ><B
805 CLASS="emphasis"
806 >The k (lock) permission</B
807 ></SPAN
808 ></DT
809 ><DD
810 ><P
811 >This permission enables the user to run programs that issue system calls to lock files in the directory.
812                  </P
813 ></DD
814 ></DL
815 ></DIV
816 ></P
817 ></DIV
818 ><DIV
819 CLASS="sect3"
820 ><H3
821 CLASS="sect3"
822 ><A
823 NAME="Header_635"
824 >The Eight Auxiliary Permissions</A
825 ></H3
826 ><P
827 >AFS provides eight additional permissions that do not have a defined meaning, denoted by the uppercase letters
828         <SPAN
829 CLASS="bold"
830 ><B
831 CLASS="emphasis"
832 >A</B
833 ></SPAN
834 >, <SPAN
835 CLASS="bold"
836 ><B
837 CLASS="emphasis"
838 >B</B
839 ></SPAN
840 >, <SPAN
841 CLASS="bold"
842 ><B
843 CLASS="emphasis"
844 >C</B
845 ></SPAN
846 >, <SPAN
847 CLASS="bold"
848 ><B
849 CLASS="emphasis"
850 >D</B
851 ></SPAN
852 >, <SPAN
853 CLASS="bold"
854 ><B
855 CLASS="emphasis"
856 >E</B
857 ></SPAN
858 >, <SPAN
859 CLASS="bold"
860 ><B
861 CLASS="emphasis"
862 >F</B
863 ></SPAN
864 >, <SPAN
865 CLASS="bold"
866 ><B
867 CLASS="emphasis"
868 >G</B
869 ></SPAN
870 >, and <SPAN
871 CLASS="bold"
872 ><B
873 CLASS="emphasis"
874 >H</B
875 ></SPAN
876 >.</P
877 ><P
878 >You can write application programs that assign a meaning to one or more of the permissions, and then place them on
879         ACLs to control file access by those programs. For example, you can modify a print program to recognize and interpret the
880         permissions, and then place them on directories that house files that the program accesses. Use the <SPAN
881 CLASS="bold"
882 ><B
883 CLASS="emphasis"
884 >fs
885         listacl</B
886 ></SPAN
887 > and <SPAN
888 CLASS="bold"
889 ><B
890 CLASS="emphasis"
891 >fs setacl</B
892 ></SPAN
893 > commands to display and set the auxiliary permissions on
894         ACLs just like the standard seven.</P
895 ></DIV
896 ><DIV
897 CLASS="sect3"
898 ><H3
899 CLASS="sect3"
900 ><A
901 NAME="Header_636"
902 >Shorthand Notation for Sets of Permissions</A
903 ></H3
904 ><P
905 >You can combine the seven permissions in any way in an ACL entry, but certain combinations are more useful than
906         others. Four of the more common combinations have corresponding shorthand forms. When using the <SPAN
907 CLASS="bold"
908 ><B
909 CLASS="emphasis"
910 >fs
911         setacl</B
912 ></SPAN
913 > command to define ACL entries, you can provide either one or more of the individual letters that represent
914         the permissions, or one of the following shorthand forms: <DIV
915 CLASS="variablelist"
916 ><DL
917 ><DT
918 ><SPAN
919 CLASS="bold"
920 ><B
921 CLASS="emphasis"
922 >all</B
923 ></SPAN
924 ></DT
925 ><DD
926 ><P
927 >Represents all seven standard permissions (<SPAN
928 CLASS="bold"
929 ><B
930 CLASS="emphasis"
931 >rlidwka</B
932 ></SPAN
933 >). </P
934 ></DD
935 ><DT
936 ><SPAN
937 CLASS="bold"
938 ><B
939 CLASS="emphasis"
940 >none</B
941 ></SPAN
942 ></DT
943 ><DD
944 ><P
945 >Removes the entry from the ACL, leaving the user or group with no permissions. </P
946 ></DD
947 ><DT
948 ><SPAN
949 CLASS="bold"
950 ><B
951 CLASS="emphasis"
952 >read</B
953 ></SPAN
954 ></DT
955 ><DD
956 ><P
957 >Represents the <SPAN
958 CLASS="bold"
959 ><B
960 CLASS="emphasis"
961 >r</B
962 ></SPAN
963 > (<SPAN
964 CLASS="bold"
965 ><B
966 CLASS="emphasis"
967 >read</B
968 ></SPAN
969 >) and <SPAN
970 CLASS="bold"
971 ><B
972 CLASS="emphasis"
973 >l</B
974 ></SPAN
975 > (<SPAN
976 CLASS="bold"
977 ><B
978 CLASS="emphasis"
979 >lookup</B
980 ></SPAN
981 >) permissions. </P
982 ></DD
983 ><DT
984 ><SPAN
985 CLASS="bold"
986 ><B
987 CLASS="emphasis"
988 >write</B
989 ></SPAN
990 ></DT
991 ><DD
992 ><P
993 >Represents all permissions except <SPAN
994 CLASS="bold"
995 ><B
996 CLASS="emphasis"
997 >a</B
998 ></SPAN
999 > (<SPAN
1000 CLASS="bold"
1001 ><B
1002 CLASS="emphasis"
1003 >administer</B
1004 ></SPAN
1005 >): <SPAN
1006 CLASS="bold"
1007 ><B
1008 CLASS="emphasis"
1009 >rlidwk</B
1010 ></SPAN
1011 >.</P
1012 ></DD
1013 ></DL
1014 ></DIV
1015 ></P
1016 ></DIV
1017 ></DIV
1018 ><DIV
1019 CLASS="sect2"
1020 ><H2
1021 CLASS="sect2"
1022 ><A
1023 NAME="HDRWQ570"
1024 >Using Normal and Negative Permissions</A
1025 ></H2
1026 ><P
1027 >ACLs enable you both to grant and to deny access to a directory and the files in it. To grant access, use the <SPAN
1028 CLASS="bold"
1029 ><B
1030 CLASS="emphasis"
1031 >fs setacl</B
1032 ></SPAN
1033 > command to create an ACL entry that associates a set of permissions with a user or group, as
1034       described in <A
1035 HREF="c31274.html#HDRWQ573"
1036 >Setting ACL Entries</A
1037 >. When you use the <SPAN
1038 CLASS="bold"
1039 ><B
1040 CLASS="emphasis"
1041 >fs listacl</B
1042 ></SPAN
1043 >
1044       command to display an ACL (as described in <A
1045 HREF="c31274.html#HDRWQ572"
1046 >Displaying ACLs</A
1047 >), such entries appear underneath
1048       the following header, which uses the term <SPAN
1049 CLASS="emphasis"
1050 ><I
1051 CLASS="emphasis"
1052 >rights</I
1053 ></SPAN
1054 > to refer to permissions:</P
1055 ><PRE
1056 CLASS="programlisting"
1057 >&#13;   Normal rights
1058 </PRE
1059 ><P
1060 >There are two ways to deny access: <OL
1061 TYPE="1"
1062 ><LI
1063 ><P
1064 >The recommended method is simply to omit an entry for the user or group from the ACL, or to omit the appropriate
1065             permissions from the entry. Use the <SPAN
1066 CLASS="bold"
1067 ><B
1068 CLASS="emphasis"
1069 >fs setacl</B
1070 ></SPAN
1071 > command to remove or edit an existing
1072             entry, using the instructions in <A
1073 HREF="c31274.html#HDRWQ574"
1074 >To add, remove, or edit normal ACL permissions</A
1075 >. In most
1076             circumstances, this method is enough to prevent access of certain kinds or by certain users. You must take care,
1077             however, not to grant the undesired permissions to any groups to which such users belong.</P
1078 ></LI
1079 ><LI
1080 ><P
1081 >The more explicit method for denying access is to use the <SPAN
1082 CLASS="bold"
1083 ><B
1084 CLASS="emphasis"
1085 >-negative</B
1086 ></SPAN
1087 > flag to the
1088             <SPAN
1089 CLASS="bold"
1090 ><B
1091 CLASS="emphasis"
1092 >fs setacl</B
1093 ></SPAN
1094 > command to create an entry that associates <SPAN
1095 CLASS="emphasis"
1096 ><I
1097 CLASS="emphasis"
1098 >negative
1099             permissions</I
1100 ></SPAN
1101 > with the user or group; for instructions, see <A
1102 HREF="c31274.html#HDRWQ575"
1103 >To add, remove, or edit
1104             negative ACL permissions</A
1105 >. The output from the <SPAN
1106 CLASS="bold"
1107 ><B
1108 CLASS="emphasis"
1109 >fs listacl</B
1110 ></SPAN
1111 > command lists negative
1112             entries underneath the following header: <PRE
1113 CLASS="programlisting"
1114 >&#13;   Negative rights
1115 </PRE
1116 ></P
1117 ><P
1118 >When determining what type of access to grant to a user, the File Server first compiles a set of permissions by
1119             examining all of the entries in the <SAMP
1120 CLASS="computeroutput"
1121 >Normal rights</SAMP
1122 > section of the ACL. It then subtracts
1123             any permissions associated with the user (or with groups to which the user belongs) on the <SAMP
1124 CLASS="computeroutput"
1125 >Negative
1126             rights</SAMP
1127 > section of the ACL. Therefore, negative permissions always cancel out normal permissions.</P
1128 ><P
1129 >Using negative permissions reverses the usual semantics of the <SPAN
1130 CLASS="bold"
1131 ><B
1132 CLASS="emphasis"
1133 >fs setacl</B
1134 ></SPAN
1135 > command,
1136             introducing the potential for confusion. In particular, combining the <SPAN
1137 CLASS="bold"
1138 ><B
1139 CLASS="emphasis"
1140 >none</B
1141 ></SPAN
1142 > shorthand
1143             and the <SPAN
1144 CLASS="bold"
1145 ><B
1146 CLASS="emphasis"
1147 >-negative</B
1148 ></SPAN
1149 > flag constitutes a double negative: by removing an entry from the
1150             <SAMP
1151 CLASS="computeroutput"
1152 >Negative rights</SAMP
1153 > section of the ACL, you enable a user once again to obtain permissions
1154             via entries in the <SAMP
1155 CLASS="computeroutput"
1156 >Normal rights</SAMP
1157 > section. Combining the <SPAN
1158 CLASS="bold"
1159 ><B
1160 CLASS="emphasis"
1161 >all</B
1162 ></SPAN
1163 > shorthand with the <SPAN
1164 CLASS="bold"
1165 ><B
1166 CLASS="emphasis"
1167 >-negative</B
1168 ></SPAN
1169 > flag explicitly denies all
1170             permissions.</P
1171 ><P
1172 >Note also that it is pointless to create an entry in the <SAMP
1173 CLASS="computeroutput"
1174 >Negative rights</SAMP
1175 > section
1176             if an entry in the <SAMP
1177 CLASS="computeroutput"
1178 >Normal rights</SAMP
1179 > section grants the denied permissions to the <SPAN
1180 CLASS="bold"
1181 ><B
1182 CLASS="emphasis"
1183 >system:anyuser</B
1184 ></SPAN
1185 > group. In this case, users can obtain the permissions simply by using the
1186             <SPAN
1187 CLASS="bold"
1188 ><B
1189 CLASS="emphasis"
1190 >unlog</B
1191 ></SPAN
1192 > command to discard their tokens. When they do so, the File Server recognizes them
1193             as the <SPAN
1194 CLASS="bold"
1195 ><B
1196 CLASS="emphasis"
1197 >anonymous</B
1198 ></SPAN
1199 > user, who belongs to the <SPAN
1200 CLASS="bold"
1201 ><B
1202 CLASS="emphasis"
1203 >system:anyuser</B
1204 ></SPAN
1205 > group but does not match the entries on the <SAMP
1206 CLASS="computeroutput"
1207 >Negative
1208             rights</SAMP
1209 > section of the ACL.</P
1210 ></LI
1211 ></OL
1212 ></P
1213 ></DIV
1214 ><DIV
1215 CLASS="sect2"
1216 ><H2
1217 CLASS="sect2"
1218 ><A
1219 NAME="HDRWQ571"
1220 >Using Groups on ACLs</A
1221 ></H2
1222 ><P
1223 >As previously mentioned, placing a group entry on an ACL enables you to control access for many users at once. You can
1224       grant a new user access to many files and directories simply by adding the user to a group that appears on the relevant ACLs.
1225       You can also create groups of machines, in which case any user logged on to the machine obtains the access that is granted to
1226       the group. On directories where they have the <SPAN
1227 CLASS="bold"
1228 ><B
1229 CLASS="emphasis"
1230 >a</B
1231 ></SPAN
1232 > permission on the ACL, users can define their
1233       own groups and can create ACL entries for any groups, not just groups that they create or own themselves. For instructions on
1234       creating groups of users or machines, and a discussion of the most effective ways to use different types of groups, see <A
1235 HREF="c29323.html"
1236 >Administering the Protection Database</A
1237 >.     </P
1238 ><P
1239 >AFS also defines the following two system groups, which can be very useful on ACLs because they potentially represent a
1240       large group of people. For more information about these groups, see <A
1241 HREF="c29323.html#HDRWQ535"
1242 >The System Groups</A
1243 >.
1244       <DIV
1245 CLASS="variablelist"
1246 ><DL
1247 ><DT
1248 ><SPAN
1249 CLASS="bold"
1250 ><B
1251 CLASS="emphasis"
1252 >system:anyuser</B
1253 ></SPAN
1254 ></DT
1255 ><DD
1256 ><P
1257 >Includes anyone who can access the cell's file tree, including users who have logged in as the local superuser
1258               <SPAN
1259 CLASS="bold"
1260 ><B
1261 CLASS="emphasis"
1262 >root</B
1263 ></SPAN
1264 >, have connected to a local machine from somewhere outside the cell, and AFS
1265               users who belong to a foreign cell. This group includes users who do not have tokens that are valid for the local AFS
1266               servers; the servers recognize them as the user <SPAN
1267 CLASS="bold"
1268 ><B
1269 CLASS="emphasis"
1270 >anonymous</B
1271 ></SPAN
1272 >.</P
1273 ><P
1274 >Note that creating an ACL entry for this group is the only way to extend access to AFS users from foreign cells,
1275               unless you create local authentication accounts for them. </P
1276 ></DD
1277 ><DT
1278 ><SPAN
1279 CLASS="bold"
1280 ><B
1281 CLASS="emphasis"
1282 >system:authuser</B
1283 ></SPAN
1284 ></DT
1285 ><DD
1286 ><P
1287 >Includes all users who have a valid AFS token obtained from the local cell's authentication service.</P
1288 ></DD
1289 ></DL
1290 ></DIV
1291 ></P
1292 ><P
1293 >It is particularly useful to grant the <SPAN
1294 CLASS="bold"
1295 ><B
1296 CLASS="emphasis"
1297 >l</B
1298 ></SPAN
1299 > (<SPAN
1300 CLASS="bold"
1301 ><B
1302 CLASS="emphasis"
1303 >lookup</B
1304 ></SPAN
1305 >)
1306       permission to the <SPAN
1307 CLASS="bold"
1308 ><B
1309 CLASS="emphasis"
1310 >system:anyuser</B
1311 ></SPAN
1312 > group on the ACL of most directories in the file system,
1313       especially at the upper levels. This permission enables users only to learn the names of files and subdirectories in a
1314       directory, but without it they cannot traverse their way through the directories in the path to a target file.</P
1315 ><P
1316 >A slightly more restrictive alternative is to grant the <SPAN
1317 CLASS="bold"
1318 ><B
1319 CLASS="emphasis"
1320 >l</B
1321 ></SPAN
1322 > permission to the <SPAN
1323 CLASS="bold"
1324 ><B
1325 CLASS="emphasis"
1326 >system:authuser</B
1327 ></SPAN
1328 > group. If that is still not restrictive enough, you can grant the <SPAN
1329 CLASS="bold"
1330 ><B
1331 CLASS="emphasis"
1332 >l</B
1333 ></SPAN
1334 > to specific users or groups, which cannot exceed about 20 in number on a given ACL.</P
1335 ><P
1336 >Another reason to grant certain permissions to the <SPAN
1337 CLASS="bold"
1338 ><B
1339 CLASS="emphasis"
1340 >system:anyuser</B
1341 ></SPAN
1342 > group is to enable
1343       the correct operation of processes that provide services such as printing and mail delivery. For example, in addition to the
1344       <SPAN
1345 CLASS="bold"
1346 ><B
1347 CLASS="emphasis"
1348 >l</B
1349 ></SPAN
1350 > permission, a print process possibly needs the <SPAN
1351 CLASS="bold"
1352 ><B
1353 CLASS="emphasis"
1354 >r</B
1355 ></SPAN
1356 >
1357       (<SPAN
1358 CLASS="bold"
1359 ><B
1360 CLASS="emphasis"
1361 >read</B
1362 ></SPAN
1363 >) permission in order to access the contents of files, and a mail delivery process
1364       possibly requires the <SPAN
1365 CLASS="bold"
1366 ><B
1367 CLASS="emphasis"
1368 >i</B
1369 ></SPAN
1370 > (<SPAN
1371 CLASS="bold"
1372 ><B
1373 CLASS="emphasis"
1374 >insert</B
1375 ></SPAN
1376 >) permission to deliver new
1377       pieces of mail.</P
1378 ><P
1379 >The ACL on the root directory of every newly created volume grants all permissions to the <SPAN
1380 CLASS="bold"
1381 ><B
1382 CLASS="emphasis"
1383 >system:administrators</B
1384 ></SPAN
1385 > group. You can remove this entry if you wish, but members of the <SPAN
1386 CLASS="bold"
1387 ><B
1388 CLASS="emphasis"
1389 >system:administrators</B
1390 ></SPAN
1391 > group always implicitly have the <SPAN
1392 CLASS="bold"
1393 ><B
1394 CLASS="emphasis"
1395 >a</B
1396 ></SPAN
1397 > (<SPAN
1398 CLASS="bold"
1399 ><B
1400 CLASS="emphasis"
1401 >administer</B
1402 ></SPAN
1403 >), and by default also the <SPAN
1404 CLASS="bold"
1405 ><B
1406 CLASS="emphasis"
1407 >l</B
1408 ></SPAN
1409 >, permission on every
1410       directory's ACL. The <SPAN
1411 CLASS="bold"
1412 ><B
1413 CLASS="emphasis"
1414 >a</B
1415 ></SPAN
1416 > permission enables them to grant themselves other permissions
1417       explicitly when necessary. To learn about changing this default set of permissions, see <A
1418 HREF="c32432.html#HDRWQ586"
1419 >Administering
1420       the system:administrators Group</A
1421 >.</P
1422 ></DIV
1423 ></DIV
1424 ><DIV
1425 CLASS="sect1"
1426 ><H1
1427 CLASS="sect1"
1428 ><A
1429 NAME="HDRWQ572"
1430 >Displaying ACLs</A
1431 ></H1
1432 ><P
1433 >To display the ACL associated with a file, directory or symbolic link, issue the <SPAN
1434 CLASS="bold"
1435 ><B
1436 CLASS="emphasis"
1437 >fs
1438     listacl</B
1439 ></SPAN
1440 > command. The output for a symbolic link displays the ACL that applies to its target file or directory, rather
1441     than the ACL on the directory that houses the symbolic link.</P
1442 ><P
1443 ><SPAN
1444 CLASS="bold"
1445 ><B
1446 CLASS="emphasis"
1447 >Note for AFS/DFS Migration Toolkit users:</B
1448 ></SPAN
1449 > If the machine on which you issue the <SPAN
1450 CLASS="bold"
1451 ><B
1452 CLASS="emphasis"
1453 >fs listacl</B
1454 ></SPAN
1455 > command is configured to access a DCE cell's DFS filespace via the AFS/DFS Migration Toolkit,
1456     you can use the command to display the ACL on DFS files and directories. To display a DFS directory's Initial Container and
1457     Initial Object ACL instead of the regular one, include the <SPAN
1458 CLASS="bold"
1459 ><B
1460 CLASS="emphasis"
1461 >fs listacl</B
1462 ></SPAN
1463 > command's <SPAN
1464 CLASS="bold"
1465 ><B
1466 CLASS="emphasis"
1467 >-id</B
1468 ></SPAN
1469 > or <SPAN
1470 CLASS="bold"
1471 ><B
1472 CLASS="emphasis"
1473 >-if</B
1474 ></SPAN
1475 > flag. For instructions, see the <SPAN
1476 CLASS="emphasis"
1477 ><I
1478 CLASS="emphasis"
1479 >IBM AFS/DFS
1480     Migration Toolkit Administration Guide and Reference</I
1481 ></SPAN
1482 >. The <SPAN
1483 CLASS="bold"
1484 ><B
1485 CLASS="emphasis"
1486 >fs</B
1487 ></SPAN
1488 > command interpreter
1489     ignores the <SPAN
1490 CLASS="bold"
1491 ><B
1492 CLASS="emphasis"
1493 >-id</B
1494 ></SPAN
1495 > and <SPAN
1496 CLASS="bold"
1497 ><B
1498 CLASS="emphasis"
1499 >-if</B
1500 ></SPAN
1501 > flags if you include them when
1502     displaying an AFS ACL. </P
1503 ><DIV
1504 CLASS="sect2"
1505 ><H2
1506 CLASS="sect2"
1507 ><A
1508 NAME="Header_640"
1509 >To display an ACL</A
1510 ></H2
1511 ><OL
1512 TYPE="1"
1513 ><LI
1514 ><P
1515 >Issue the <SPAN
1516 CLASS="bold"
1517 ><B
1518 CLASS="emphasis"
1519 >fs listacl</B
1520 ></SPAN
1521 > command. <PRE
1522 CLASS="programlisting"
1523 >&#13;   % <SPAN
1524 CLASS="bold"
1525 ><B
1526 CLASS="emphasis"
1527 >fs listacl</B
1528 ></SPAN
1529 > [&#60;<VAR
1530 CLASS="replaceable"
1531 >dir/file path</VAR
1532 >&#62;+]
1533 </PRE
1534 ></P
1535 ><P
1536 >where</P
1537 ><DIV
1538 CLASS="variablelist"
1539 ><DL
1540 ><DT
1541 ><SPAN
1542 CLASS="bold"
1543 ><B
1544 CLASS="emphasis"
1545 >la</B
1546 ></SPAN
1547 ></DT
1548 ><DD
1549 ><P
1550 >Is an acceptable alias for <SPAN
1551 CLASS="bold"
1552 ><B
1553 CLASS="emphasis"
1554 >listacl</B
1555 ></SPAN
1556 > (and <SPAN
1557 CLASS="bold"
1558 ><B
1559 CLASS="emphasis"
1560 >lista</B
1561 ></SPAN
1562 > is the shortest acceptable abbreviation).</P
1563 ></DD
1564 ><DT
1565 ><SPAN
1566 CLASS="bold"
1567 ><B
1568 CLASS="emphasis"
1569 >dir/file path</B
1570 ></SPAN
1571 ></DT
1572 ><DD
1573 ><P
1574 >Names one or more files or directories for which to display the ACL. For files, the output displays the ACL
1575                 for its directory. If you omit this argument, the output is for the current working directory. Partial pathnames are
1576                 interpreted relative to the current working directory. You can also use the following notation on its own or as part
1577                 of a pathname: <DIV
1578 CLASS="variablelist"
1579 ><DL
1580 ><DT
1581 ><SPAN
1582 CLASS="bold"
1583 ><B
1584 CLASS="emphasis"
1585 >.</B
1586 ></SPAN
1587 ></DT
1588 ><DD
1589 ><P
1590 >(A single period). Specifies the current working directory.</P
1591 ></DD
1592 ><DT
1593 ><SPAN
1594 CLASS="bold"
1595 ><B
1596 CLASS="emphasis"
1597 >..</B
1598 ></SPAN
1599 ></DT
1600 ><DD
1601 ><P
1602 >(Two periods). Specifies the current working directory's parent directory.</P
1603 ></DD
1604 ><DT
1605 ><SPAN
1606 CLASS="bold"
1607 ><B
1608 CLASS="emphasis"
1609 >*</B
1610 ></SPAN
1611 ></DT
1612 ><DD
1613 ><P
1614 >(The asterisk). Specifies each file and subdirectory in the current working directory. The ACL
1615                         displayed for a file is always the same as for its directory, but the ACL for each subdirectory can
1616                         differ.</P
1617 ></DD
1618 ></DL
1619 ></DIV
1620 ></P
1621 ></DD
1622 ></DL
1623 ></DIV
1624 ></LI
1625 ></OL
1626 ><P
1627 >The following error message indicates that you do not have the permissions needed to display an ACL. To specify a
1628       directory name as the dir/file path argument, you must have the <SPAN
1629 CLASS="bold"
1630 ><B
1631 CLASS="emphasis"
1632 >l</B
1633 ></SPAN
1634 > (<SPAN
1635 CLASS="bold"
1636 ><B
1637 CLASS="emphasis"
1638 >lookup</B
1639 ></SPAN
1640 >) permission on the ACL. To specify a filename, you must also have the <SPAN
1641 CLASS="bold"
1642 ><B
1643 CLASS="emphasis"
1644 >r</B
1645 ></SPAN
1646 > (<SPAN
1647 CLASS="bold"
1648 ><B
1649 CLASS="emphasis"
1650 >read</B
1651 ></SPAN
1652 >) permission on its directory's ACL.</P
1653 ><PRE
1654 CLASS="programlisting"
1655 >&#13;   fs: You don't have the required access permissions on 'dir/file path'
1656 </PRE
1657 ><P
1658 >Members of the <SPAN
1659 CLASS="bold"
1660 ><B
1661 CLASS="emphasis"
1662 >system:administrators</B
1663 ></SPAN
1664 > group and the directory's owner (as reported by
1665       the <SPAN
1666 CLASS="bold"
1667 ><B
1668 CLASS="emphasis"
1669 >ls -ld</B
1670 ></SPAN
1671 > command) implicitly have the <SPAN
1672 CLASS="bold"
1673 ><B
1674 CLASS="emphasis"
1675 >a</B
1676 ></SPAN
1677 > (<SPAN
1678 CLASS="bold"
1679 ><B
1680 CLASS="emphasis"
1681 >administer</B
1682 ></SPAN
1683 >) permission on every directory's ACL, and can use the <SPAN
1684 CLASS="bold"
1685 ><B
1686 CLASS="emphasis"
1687 >fs
1688       setacl</B
1689 ></SPAN
1690 > command to grant themselves the required permissions; for instructions, see <A
1691 HREF="c31274.html#HDRWQ573"
1692 >Setting
1693       ACL Entries</A
1694 >.</P
1695 ><P
1696 >The output for each file or directory specified as dir/file path begins with the following header to identify it:</P
1697 ><PRE
1698 CLASS="programlisting"
1699 >&#13;   Access list for  dir/file path is
1700 </PRE
1701 ><P
1702 >The <SAMP
1703 CLASS="computeroutput"
1704 >Normal rights</SAMP
1705 > header appears on the next line, followed by lines that each pair a
1706       user or group name and a set of permissions. The permissions appear as the single letters defined in <A
1707 HREF="c31274.html#HDRWQ567"
1708 >The AFS ACL Permissions</A
1709 >, and always in the order <SPAN
1710 CLASS="bold"
1711 ><B
1712 CLASS="emphasis"
1713 >rlidwka</B
1714 ></SPAN
1715 >. If there
1716       are any negative permissions, the <SAMP
1717 CLASS="computeroutput"
1718 >Negative rights</SAMP
1719 > header appears next, followed by pairs of
1720       negative permissions.</P
1721 ><P
1722 >The following example displays the ACL on user <SPAN
1723 CLASS="bold"
1724 ><B
1725 CLASS="emphasis"
1726 >terry</B
1727 ></SPAN
1728 >'s home directory in the ABC
1729       Corporation cell:</P
1730 ><PRE
1731 CLASS="programlisting"
1732 >&#13;   % <SPAN
1733 CLASS="bold"
1734 ><B
1735 CLASS="emphasis"
1736 >fs la /afs/abc.com/usr/terry</B
1737 ></SPAN
1738 >
1739    Access list for /afs/abc.com/usr/terry is
1740    Normal permissions:
1741       system:authuser rl
1742       pat rlw
1743       terry rlidwka
1744    Negative permissions:
1745       terry:other-dept rl
1746       jones rl
1747 </PRE
1748 ><P
1749 >where <SPAN
1750 CLASS="bold"
1751 ><B
1752 CLASS="emphasis"
1753 >pat</B
1754 ></SPAN
1755 >, <SPAN
1756 CLASS="bold"
1757 ><B
1758 CLASS="emphasis"
1759 >terry</B
1760 ></SPAN
1761 >, and <SPAN
1762 CLASS="bold"
1763 ><B
1764 CLASS="emphasis"
1765 >jones</B
1766 ></SPAN
1767 > are individual users, <SPAN
1768 CLASS="bold"
1769 ><B
1770 CLASS="emphasis"
1771 >system:authuser</B
1772 ></SPAN
1773 > is a system group, and
1774       <SPAN
1775 CLASS="bold"
1776 ><B
1777 CLASS="emphasis"
1778 >terry:other-dept</B
1779 ></SPAN
1780 > is a group that <SPAN
1781 CLASS="bold"
1782 ><B
1783 CLASS="emphasis"
1784 >terry</B
1785 ></SPAN
1786 > owns. The list of
1787       normal permissions grants all permissions to <SPAN
1788 CLASS="bold"
1789 ><B
1790 CLASS="emphasis"
1791 >terry</B
1792 ></SPAN
1793 >, the <SPAN
1794 CLASS="bold"
1795 ><B
1796 CLASS="emphasis"
1797 >r</B
1798 ></SPAN
1799 >
1800       (<SPAN
1801 CLASS="bold"
1802 ><B
1803 CLASS="emphasis"
1804 >read</B
1805 ></SPAN
1806 >), <SPAN
1807 CLASS="bold"
1808 ><B
1809 CLASS="emphasis"
1810 >l</B
1811 ></SPAN
1812 > (<SPAN
1813 CLASS="bold"
1814 ><B
1815 CLASS="emphasis"
1816 >lookup</B
1817 ></SPAN
1818 >), and
1819       <SPAN
1820 CLASS="bold"
1821 ><B
1822 CLASS="emphasis"
1823 >w</B
1824 ></SPAN
1825 > (<SPAN
1826 CLASS="bold"
1827 ><B
1828 CLASS="emphasis"
1829 >write</B
1830 ></SPAN
1831 >) permissions to <SPAN
1832 CLASS="bold"
1833 ><B
1834 CLASS="emphasis"
1835 >pat</B
1836 ></SPAN
1837 >, and the <SPAN
1838 CLASS="bold"
1839 ><B
1840 CLASS="emphasis"
1841 >r</B
1842 ></SPAN
1843 > and <SPAN
1844 CLASS="bold"
1845 ><B
1846 CLASS="emphasis"
1847 >l</B
1848 ></SPAN
1849 > permissions to
1850       the members of the <SPAN
1851 CLASS="bold"
1852 ><B
1853 CLASS="emphasis"
1854 >system:authuser</B
1855 ></SPAN
1856 > group.</P
1857 ><P
1858 >The list of negative permissions denies the <SPAN
1859 CLASS="bold"
1860 ><B
1861 CLASS="emphasis"
1862 >r</B
1863 ></SPAN
1864 > and <SPAN
1865 CLASS="bold"
1866 ><B
1867 CLASS="emphasis"
1868 >l</B
1869 ></SPAN
1870 >
1871       permissions to <SPAN
1872 CLASS="bold"
1873 ><B
1874 CLASS="emphasis"
1875 >jones</B
1876 ></SPAN
1877 > and the members of the <SPAN
1878 CLASS="bold"
1879 ><B
1880 CLASS="emphasis"
1881 >terry:other-dept</B
1882 ></SPAN
1883 >
1884       group. These entries effectively prevent them from accessing <SPAN
1885 CLASS="bold"
1886 ><B
1887 CLASS="emphasis"
1888 >terry</B
1889 ></SPAN
1890 >'s home directory in any
1891       way, because they cancel out the <SPAN
1892 CLASS="bold"
1893 ><B
1894 CLASS="emphasis"
1895 >r</B
1896 ></SPAN
1897 > and <SPAN
1898 CLASS="bold"
1899 ><B
1900 CLASS="emphasis"
1901 >l</B
1902 ></SPAN
1903 > permissions
1904       extended to the <SPAN
1905 CLASS="bold"
1906 ><B
1907 CLASS="emphasis"
1908 >system:authuser</B
1909 ></SPAN
1910 > group, which is the only entry on the <SAMP
1911 CLASS="computeroutput"
1912 >Normal
1913       rights</SAMP
1914 > section of the ACL that possibly applies to them.</P
1915 ></DIV
1916 ></DIV
1917 ><DIV
1918 CLASS="sect1"
1919 ><H1
1920 CLASS="sect1"
1921 ><A
1922 NAME="HDRWQ573"
1923 >Setting ACL Entries</A
1924 ></H1
1925 ><P
1926 >To add, remove, or edit ACL entries, use the <SPAN
1927 CLASS="bold"
1928 ><B
1929 CLASS="emphasis"
1930 >fs setacl</B
1931 ></SPAN
1932 > command. By default, the command
1933     manipulates entries on the normal permissions section of the ACL. To manipulate entries on the negative permissions section,
1934     include the <SPAN
1935 CLASS="bold"
1936 ><B
1937 CLASS="emphasis"
1938 >-negative</B
1939 ></SPAN
1940 > flag.</P
1941 ><P
1942 >You must have the <SPAN
1943 CLASS="bold"
1944 ><B
1945 CLASS="emphasis"
1946 >a</B
1947 ></SPAN
1948 > (<SPAN
1949 CLASS="bold"
1950 ><B
1951 CLASS="emphasis"
1952 >administer</B
1953 ></SPAN
1954 >) permission on an ACL to
1955     edit it. The owner of a directory (as reported by the <SPAN
1956 CLASS="bold"
1957 ><B
1958 CLASS="emphasis"
1959 >ls -ld</B
1960 ></SPAN
1961 >) command and members of the
1962     <SPAN
1963 CLASS="bold"
1964 ><B
1965 CLASS="emphasis"
1966 >system:administrators</B
1967 ></SPAN
1968 > group always implicitly have it on every ACL. By default, members of the
1969     <SPAN
1970 CLASS="bold"
1971 ><B
1972 CLASS="emphasis"
1973 >system:administrators</B
1974 ></SPAN
1975 > group also implicitly have the <SPAN
1976 CLASS="bold"
1977 ><B
1978 CLASS="emphasis"
1979 >l</B
1980 ></SPAN
1981 >
1982     (<SPAN
1983 CLASS="bold"
1984 ><B
1985 CLASS="emphasis"
1986 >lookup</B
1987 ></SPAN
1988 >) permission.</P
1989 ><P
1990 ><SPAN
1991 CLASS="bold"
1992 ><B
1993 CLASS="emphasis"
1994 >Note for AFS/DFS Migration Toolkit users:</B
1995 ></SPAN
1996 > If the machine on which you issue the <SPAN
1997 CLASS="bold"
1998 ><B
1999 CLASS="emphasis"
2000 >fs setacl</B
2001 ></SPAN
2002 > command is configured to access a DCE cell's DFS filespace via the AFS/DFS Migration Toolkit,
2003     you can use the command to set the ACL on DFS files and directories. To set a DFS directory's Initial Container and Initial
2004     Object ACL instead of the regular one, include the <SPAN
2005 CLASS="bold"
2006 ><B
2007 CLASS="emphasis"
2008 >fs setacl</B
2009 ></SPAN
2010 > command's <SPAN
2011 CLASS="bold"
2012 ><B
2013 CLASS="emphasis"
2014 >-id</B
2015 ></SPAN
2016 > or <SPAN
2017 CLASS="bold"
2018 ><B
2019 CLASS="emphasis"
2020 >-if</B
2021 ></SPAN
2022 > flag. For instructions, see the <SPAN
2023 CLASS="emphasis"
2024 ><I
2025 CLASS="emphasis"
2026 >IBM AFS/DFS
2027     Migration Toolkit Administration Guide and Reference</I
2028 ></SPAN
2029 >. The <SPAN
2030 CLASS="bold"
2031 ><B
2032 CLASS="emphasis"
2033 >fs</B
2034 ></SPAN
2035 > command interpreter
2036     ignores the <SPAN
2037 CLASS="bold"
2038 ><B
2039 CLASS="emphasis"
2040 >-id</B
2041 ></SPAN
2042 > and <SPAN
2043 CLASS="bold"
2044 ><B
2045 CLASS="emphasis"
2046 >-if</B
2047 ></SPAN
2048 > flags if you include them when setting
2049     an AFS ACL. </P
2050 ><DIV
2051 CLASS="sect2"
2052 ><H2
2053 CLASS="sect2"
2054 ><A
2055 NAME="HDRWQ574"
2056 >To add, remove, or edit normal ACL permissions</A
2057 ></H2
2058 ><OL
2059 TYPE="1"
2060 ><LI
2061 ><P
2062 >Verify that you have the <SPAN
2063 CLASS="bold"
2064 ><B
2065 CLASS="emphasis"
2066 >a</B
2067 ></SPAN
2068 > (<SPAN
2069 CLASS="bold"
2070 ><B
2071 CLASS="emphasis"
2072 >administer</B
2073 ></SPAN
2074 >) permission
2075           on each directory for which you are editing the ACL. If necessary, issue the <SPAN
2076 CLASS="bold"
2077 ><B
2078 CLASS="emphasis"
2079 >fs listacl</B
2080 ></SPAN
2081 >
2082           command, which is fully described in <A
2083 HREF="c31274.html#HDRWQ572"
2084 >Displaying ACLs</A
2085 >. <PRE
2086 CLASS="programlisting"
2087 >&#13;   % <SPAN
2088 CLASS="bold"
2089 ><B
2090 CLASS="emphasis"
2091 >fs listacl</B
2092 ></SPAN
2093 > [&#60;<VAR
2094 CLASS="replaceable"
2095 >dir/file path</VAR
2096 >&#62;]
2097 </PRE
2098 ></P
2099 ></LI
2100 ><LI
2101 ><P
2102 >Issue the <SPAN
2103 CLASS="bold"
2104 ><B
2105 CLASS="emphasis"
2106 >fs setacl</B
2107 ></SPAN
2108 > command to edit entries in the normal permissions section of
2109           the ACL. To remove an entry, specify the <SPAN
2110 CLASS="bold"
2111 ><B
2112 CLASS="emphasis"
2113 >none</B
2114 ></SPAN
2115 > shorthand as the permissions. If an ACL
2116           entry already exists, the permissions you specify completely replace those in the existing entry. <PRE
2117 CLASS="programlisting"
2118 >&#13;   % <SPAN
2119 CLASS="bold"
2120 ><B
2121 CLASS="emphasis"
2122 >fs setacl  -dir</B
2123 ></SPAN
2124 > &#60;<VAR
2125 CLASS="replaceable"
2126 >directory</VAR
2127 >&#62;+ <SPAN
2128 CLASS="bold"
2129 ><B
2130 CLASS="emphasis"
2131 >-acl</B
2132 ></SPAN
2133 > &#60;<VAR
2134 CLASS="replaceable"
2135 >access list entries</VAR
2136 >&#62;+
2137 </PRE
2138 ></P
2139 ><P
2140 >where</P
2141 ><DIV
2142 CLASS="variablelist"
2143 ><DL
2144 ><DT
2145 ><SPAN
2146 CLASS="bold"
2147 ><B
2148 CLASS="emphasis"
2149 >sa</B
2150 ></SPAN
2151 ></DT
2152 ><DD
2153 ><P
2154 >Is an acceptable alias for <SPAN
2155 CLASS="bold"
2156 ><B
2157 CLASS="emphasis"
2158 >setacl</B
2159 ></SPAN
2160 > (and <SPAN
2161 CLASS="bold"
2162 ><B
2163 CLASS="emphasis"
2164 >seta</B
2165 ></SPAN
2166 >
2167                 is the shortest acceptable abbreviation).</P
2168 ></DD
2169 ><DT
2170 ><SPAN
2171 CLASS="bold"
2172 ><B
2173 CLASS="emphasis"
2174 >-dir</B
2175 ></SPAN
2176 ></DT
2177 ><DD
2178 ><P
2179 >Names one or more directories to which to apply the ACL entries defined by the <SPAN
2180 CLASS="bold"
2181 ><B
2182 CLASS="emphasis"
2183 >-acl</B
2184 ></SPAN
2185 > argument. Partial pathnames are interpreted relative to the current working
2186                 directory.</P
2187 ><P
2188 >Specify the read/write path to each directory, to avoid the failure that results when you attempt to change a
2189                 read-only volume. By convention, you indicate the read/write path by placing a period before the cell name at the
2190                 pathname's second level (for example, <SPAN
2191 CLASS="bold"
2192 ><B
2193 CLASS="emphasis"
2194 >/afs/.abc.com</B
2195 ></SPAN
2196 >). For further discussion of the
2197                 concept of read/write and read-only paths through the filespace, see <A
2198 HREF="c8420.html#HDRWQ209"
2199 >The Rules of Mount
2200                 Point Traversal</A
2201 >.</P
2202 ><P
2203 >You can also use the following notation on its own or as part of a pathname:</P
2204 ><DIV
2205 CLASS="variablelist"
2206 ><DL
2207 ><DT
2208 ><SPAN
2209 CLASS="bold"
2210 ><B
2211 CLASS="emphasis"
2212 >.</B
2213 ></SPAN
2214 ></DT
2215 ><DD
2216 ><P
2217 >(A single period). If used by itself, sets the ACL on the current working directory.</P
2218 ></DD
2219 ><DT
2220 ><SPAN
2221 CLASS="bold"
2222 ><B
2223 CLASS="emphasis"
2224 >..</B
2225 ></SPAN
2226 ></DT
2227 ><DD
2228 ><P
2229 >(Two periods). If used by itself, sets the ACL on the current working directory's parent
2230                       directory.</P
2231 ></DD
2232 ><DT
2233 ><SPAN
2234 CLASS="bold"
2235 ><B
2236 CLASS="emphasis"
2237 >*</B
2238 ></SPAN
2239 ></DT
2240 ><DD
2241 ><P
2242 >(The asterisk). Sets the ACL on each of the subdirectories in the current working directory. You must
2243                       precede it with the <SPAN
2244 CLASS="bold"
2245 ><B
2246 CLASS="emphasis"
2247 >-dir</B
2248 ></SPAN
2249 > switch, since it potentially designates multiple
2250                       directories. The <SPAN
2251 CLASS="bold"
2252 ><B
2253 CLASS="emphasis"
2254 >fs</B
2255 ></SPAN
2256 > command interpreter generates the following error message
2257                       for each file in the directory: <PRE
2258 CLASS="programlisting"
2259 >&#13;   fs: 'filename': Not a directory
2260 </PRE
2261 ></P
2262 ></DD
2263 ></DL
2264 ></DIV
2265 ><P
2266 >If you specify only one directory or file name, you can omit the <SPAN
2267 CLASS="bold"
2268 ><B
2269 CLASS="emphasis"
2270 >-dir</B
2271 ></SPAN
2272 > and
2273                 <SPAN
2274 CLASS="bold"
2275 ><B
2276 CLASS="emphasis"
2277 >-acl</B
2278 ></SPAN
2279 > switches.</P
2280 ></DD
2281 ><DT
2282 ><SPAN
2283 CLASS="bold"
2284 ><B
2285 CLASS="emphasis"
2286 >-acl</B
2287 ></SPAN
2288 ></DT
2289 ><DD
2290 ><P
2291 >Specifies one or more ACL entries, each of which pairs a user or group name and a set of permissions. Separate
2292                 the pairs, and the two parts of each pair, with one or more spaces.</P
2293 ><P
2294 >To define the permissions, provide either:</P
2295 ><UL
2296 ><LI
2297 ><P
2298 >One or more of the letters that represent the standard or auxiliary permissions (<SPAN
2299 CLASS="bold"
2300 ><B
2301 CLASS="emphasis"
2302 >rlidwka</B
2303 ></SPAN
2304 > and <SPAN
2305 CLASS="bold"
2306 ><B
2307 CLASS="emphasis"
2308 >ABCDEFGH</B
2309 ></SPAN
2310 >), in any order</P
2311 ></LI
2312 ><LI
2313 ><P
2314 >One of the four shorthand notations: <UL
2315 ><LI
2316 ><P
2317 ><SPAN
2318 CLASS="bold"
2319 ><B
2320 CLASS="emphasis"
2321 >all</B
2322 ></SPAN
2323 > (equals <SPAN
2324 CLASS="bold"
2325 ><B
2326 CLASS="emphasis"
2327 >rlidwka</B
2328 ></SPAN
2329 >)</P
2330 ></LI
2331 ><LI
2332 ><P
2333 ><SPAN
2334 CLASS="bold"
2335 ><B
2336 CLASS="emphasis"
2337 >none</B
2338 ></SPAN
2339 > (removes the entry)</P
2340 ></LI
2341 ><LI
2342 ><P
2343 ><SPAN
2344 CLASS="bold"
2345 ><B
2346 CLASS="emphasis"
2347 >read</B
2348 ></SPAN
2349 > (equals <SPAN
2350 CLASS="bold"
2351 ><B
2352 CLASS="emphasis"
2353 >rl</B
2354 ></SPAN
2355 >)</P
2356 ></LI
2357 ><LI
2358 ><P
2359 ><SPAN
2360 CLASS="bold"
2361 ><B
2362 CLASS="emphasis"
2363 >write</B
2364 ></SPAN
2365 > (equals <SPAN
2366 CLASS="bold"
2367 ><B
2368 CLASS="emphasis"
2369 >rlidwk</B
2370 ></SPAN
2371 >)</P
2372 ></LI
2373 ></UL
2374 ></P
2375 ></LI
2376 ></UL
2377 ><P
2378 >For a more detailed description of the permissions and shorthand notations, see <A
2379 HREF="c31274.html#HDRWQ567"
2380 >The
2381                 AFS ACL Permissions</A
2382 >.</P
2383 ><P
2384 >On a single command line, you can combine user and group entries. You can also use individual letters in some
2385                 pairs and the shorthand notations in other pairs, but cannot combine letters and shorthand notation within a single
2386                 pair.</P
2387 ></DD
2388 ></DL
2389 ></DIV
2390 ></LI
2391 ></OL
2392 ><P
2393 >Either of the following examples grants user <SPAN
2394 CLASS="bold"
2395 ><B
2396 CLASS="emphasis"
2397 >pat</B
2398 ></SPAN
2399 > the <SPAN
2400 CLASS="bold"
2401 ><B
2402 CLASS="emphasis"
2403 >r</B
2404 ></SPAN
2405 >
2406       (<SPAN
2407 CLASS="bold"
2408 ><B
2409 CLASS="emphasis"
2410 >read</B
2411 ></SPAN
2412 >) and <SPAN
2413 CLASS="bold"
2414 ><B
2415 CLASS="emphasis"
2416 >l</B
2417 ></SPAN
2418 > (<SPAN
2419 CLASS="bold"
2420 ><B
2421 CLASS="emphasis"
2422 >lookup</B
2423 ></SPAN
2424 >)
2425       permissions on the ACL of the <SPAN
2426 CLASS="bold"
2427 ><B
2428 CLASS="emphasis"
2429 >notes</B
2430 ></SPAN
2431 > subdirectory in the issuer's home directory. They
2432       illustrate how it is possible to omit the <SPAN
2433 CLASS="bold"
2434 ><B
2435 CLASS="emphasis"
2436 >-dir</B
2437 ></SPAN
2438 > and <SPAN
2439 CLASS="bold"
2440 ><B
2441 CLASS="emphasis"
2442 >-acl</B
2443 ></SPAN
2444 >
2445       switches when you name only one directory.</P
2446 ><PRE
2447 CLASS="programlisting"
2448 >&#13;   % <SPAN
2449 CLASS="bold"
2450 ><B
2451 CLASS="emphasis"
2452 >fs sa ~/notes pat rl</B
2453 ></SPAN
2454 >
2455    % <SPAN
2456 CLASS="bold"
2457 ><B
2458 CLASS="emphasis"
2459 >fs sa ~/notes pat read</B
2460 ></SPAN
2461 >
2462 </PRE
2463 ><P
2464 >The following example edits the ACL for the current working directory. It removes the entry for the <SPAN
2465 CLASS="bold"
2466 ><B
2467 CLASS="emphasis"
2468 >system:anyuser</B
2469 ></SPAN
2470 > group, and adds two entries: one grants all permissions except <SPAN
2471 CLASS="bold"
2472 ><B
2473 CLASS="emphasis"
2474 >a</B
2475 ></SPAN
2476 > (<SPAN
2477 CLASS="bold"
2478 ><B
2479 CLASS="emphasis"
2480 >administer</B
2481 ></SPAN
2482 >) to the members of the <SPAN
2483 CLASS="bold"
2484 ><B
2485 CLASS="emphasis"
2486 >terry:colleagues</B
2487 ></SPAN
2488 > group and the other grants the <SPAN
2489 CLASS="bold"
2490 ><B
2491 CLASS="emphasis"
2492 >r</B
2493 ></SPAN
2494 > (<SPAN
2495 CLASS="bold"
2496 ><B
2497 CLASS="emphasis"
2498 >read</B
2499 ></SPAN
2500 >) and <SPAN
2501 CLASS="bold"
2502 ><B
2503 CLASS="emphasis"
2504 >l</B
2505 ></SPAN
2506 > (<SPAN
2507 CLASS="bold"
2508 ><B
2509 CLASS="emphasis"
2510 >lookup</B
2511 ></SPAN
2512 >) permissions to
2513       the <SPAN
2514 CLASS="bold"
2515 ><B
2516 CLASS="emphasis"
2517 >system:authuser</B
2518 ></SPAN
2519 > group. The command appears on two lines here only for legibility.</P
2520 ><PRE
2521 CLASS="programlisting"
2522 >&#13;   % <SPAN
2523 CLASS="bold"
2524 ><B
2525 CLASS="emphasis"
2526 >fs  sa  -dir . -acl  system:anyuser  none  terry:colleagues  write  \
2527            system:authuser  rl</B
2528 ></SPAN
2529 >
2530 </PRE
2531 ></DIV
2532 ><DIV
2533 CLASS="sect2"
2534 ><H2
2535 CLASS="sect2"
2536 ><A
2537 NAME="HDRWQ575"
2538 >To add, remove, or edit negative ACL permissions</A
2539 ></H2
2540 ><OL
2541 TYPE="1"
2542 ><LI
2543 ><P
2544 >Verify that you have the <SPAN
2545 CLASS="bold"
2546 ><B
2547 CLASS="emphasis"
2548 >a</B
2549 ></SPAN
2550 > (<SPAN
2551 CLASS="bold"
2552 ><B
2553 CLASS="emphasis"
2554 >administer</B
2555 ></SPAN
2556 >) permission
2557           on each directory for which you are editing the ACL. If necessary, issue the <SPAN
2558 CLASS="bold"
2559 ><B
2560 CLASS="emphasis"
2561 >fs listacl</B
2562 ></SPAN
2563 >
2564           command, which is fully described in <A
2565 HREF="c31274.html#HDRWQ572"
2566 >Displaying ACLs</A
2567 >. <PRE
2568 CLASS="programlisting"
2569 >&#13;   % <SPAN
2570 CLASS="bold"
2571 ><B
2572 CLASS="emphasis"
2573 >fs listacl</B
2574 ></SPAN
2575 > [&#60;<VAR
2576 CLASS="replaceable"
2577 >dir/file path</VAR
2578 >&#62;]
2579 </PRE
2580 ></P
2581 ></LI
2582 ><LI
2583 ><P
2584 >Issue the <SPAN
2585 CLASS="bold"
2586 ><B
2587 CLASS="emphasis"
2588 >fs setacl</B
2589 ></SPAN
2590 > command with the <SPAN
2591 CLASS="bold"
2592 ><B
2593 CLASS="emphasis"
2594 >-negative</B
2595 ></SPAN
2596 >
2597           flag to edit entries in the negative permissions section of the ACL. To remove an entry, specify the <SPAN
2598 CLASS="bold"
2599 ><B
2600 CLASS="emphasis"
2601 >none</B
2602 ></SPAN
2603 > shorthand as the permissions. If an ACL entry already exists for a user or group, the
2604           permissions you specify completely replace those in the existing entry. <PRE
2605 CLASS="programlisting"
2606 >&#13;   % <SPAN
2607 CLASS="bold"
2608 ><B
2609 CLASS="emphasis"
2610 >fs setacl -dir</B
2611 ></SPAN
2612 > &#60;<VAR
2613 CLASS="replaceable"
2614 >directory</VAR
2615 >&#62;+ <SPAN
2616 CLASS="bold"
2617 ><B
2618 CLASS="emphasis"
2619 >-acl</B
2620 ></SPAN
2621 > &#60;<VAR
2622 CLASS="replaceable"
2623 >access list entries</VAR
2624 >&#62;+  <SPAN
2625 CLASS="bold"
2626 ><B
2627 CLASS="emphasis"
2628 >-negative</B
2629 ></SPAN
2630
2631 </PRE
2632 ></P
2633 ><P
2634 >where</P
2635 ><DIV
2636 CLASS="variablelist"
2637 ><DL
2638 ><DT
2639 ><SPAN
2640 CLASS="bold"
2641 ><B
2642 CLASS="emphasis"
2643 >sa</B
2644 ></SPAN
2645 ></DT
2646 ><DD
2647 ><P
2648 >Is an acceptable alias for <SPAN
2649 CLASS="bold"
2650 ><B
2651 CLASS="emphasis"
2652 >setacl</B
2653 ></SPAN
2654 > (and <SPAN
2655 CLASS="bold"
2656 ><B
2657 CLASS="emphasis"
2658 >seta</B
2659 ></SPAN
2660 >
2661                 is the shortest acceptable abbreviation).</P
2662 ></DD
2663 ><DT
2664 ><SPAN
2665 CLASS="bold"
2666 ><B
2667 CLASS="emphasis"
2668 >-dir</B
2669 ></SPAN
2670 ></DT
2671 ><DD
2672 ><P
2673 >Names one or more directories to which to apply the negative ACL entries defined by the <SPAN
2674 CLASS="bold"
2675 ><B
2676 CLASS="emphasis"
2677 >-acl</B
2678 ></SPAN
2679 > argument. Specify the read/write path to each directory, to avoid the failure that
2680                 results when you attempt to change a read-only volume. For a detailed description of acceptable values, see <A
2681 HREF="c31274.html#HDRWQ574"
2682 >To add, remove, or edit normal ACL permissions</A
2683 >.</P
2684 ></DD
2685 ><DT
2686 ><SPAN
2687 CLASS="bold"
2688 ><B
2689 CLASS="emphasis"
2690 >-acl</B
2691 ></SPAN
2692 ></DT
2693 ><DD
2694 ><P
2695 >Specifies one or more ACL entries, each of which pairs a user or group name and a set of permissions. Separate
2696                 the pairs, and the two parts of each pair, with one or more spaces. For a detailed description of acceptable values,
2697                 see <A
2698 HREF="c31274.html#HDRWQ574"
2699 >To add, remove, or edit normal ACL permissions</A
2700 >. Keep in mind that the usual
2701                 meaning of each permission is reversed.</P
2702 ></DD
2703 ><DT
2704 ><SPAN
2705 CLASS="bold"
2706 ><B
2707 CLASS="emphasis"
2708 >-negative</B
2709 ></SPAN
2710 ></DT
2711 ><DD
2712 ><P
2713 >Places the entries defined by the <SPAN
2714 CLASS="bold"
2715 ><B
2716 CLASS="emphasis"
2717 >-acl</B
2718 ></SPAN
2719 > argument on the negative permissions
2720                 section of the ACL for each directory named by the <SPAN
2721 CLASS="bold"
2722 ><B
2723 CLASS="emphasis"
2724 >-dir</B
2725 ></SPAN
2726 > argument.</P
2727 ></DD
2728 ></DL
2729 ></DIV
2730 ></LI
2731 ></OL
2732 ><P
2733 >The following example denies user <SPAN
2734 CLASS="bold"
2735 ><B
2736 CLASS="emphasis"
2737 >pat</B
2738 ></SPAN
2739 > the <SPAN
2740 CLASS="bold"
2741 ><B
2742 CLASS="emphasis"
2743 >w</B
2744 ></SPAN
2745 > (<SPAN
2746 CLASS="bold"
2747 ><B
2748 CLASS="emphasis"
2749 >write</B
2750 ></SPAN
2751 >) and <SPAN
2752 CLASS="bold"
2753 ><B
2754 CLASS="emphasis"
2755 >d</B
2756 ></SPAN
2757 > (<SPAN
2758 CLASS="bold"
2759 ><B
2760 CLASS="emphasis"
2761 >delete</B
2762 ></SPAN
2763 >) permissions for
2764       the <SPAN
2765 CLASS="bold"
2766 ><B
2767 CLASS="emphasis"
2768 >project</B
2769 ></SPAN
2770 > subdirectory of the current working directory.</P
2771 ><PRE
2772 CLASS="programlisting"
2773 >&#13;   % <SPAN
2774 CLASS="bold"
2775 ><B
2776 CLASS="emphasis"
2777 >fs sa project pat wd -neg</B
2778 ></SPAN
2779 >
2780 </PRE
2781 ></DIV
2782 ></DIV
2783 ><DIV
2784 CLASS="sect1"
2785 ><H1
2786 CLASS="sect1"
2787 ><A
2788 NAME="HDRWQ576"
2789 >Completely Replacing an ACL</A
2790 ></H1
2791 ><P
2792 >It is sometimes simplest to clear an ACL completely before defining new permissions on it, for instance if the mix of
2793     normal and negative permissions makes it difficult to understand how their interaction affects a user's access to the directory.
2794     To clear an ACL completely while you define new entries, include the <SPAN
2795 CLASS="bold"
2796 ><B
2797 CLASS="emphasis"
2798 >-clear</B
2799 ></SPAN
2800 > flag on the
2801     <SPAN
2802 CLASS="bold"
2803 ><B
2804 CLASS="emphasis"
2805 >fs setacl</B
2806 ></SPAN
2807 > command. When you include this flag, you can create entries on either the normal
2808     permissions or the negative permissions section of the ACL, but not on both at once.</P
2809 ><P
2810 >Remember to create an entry that grants appropriate permissions to the directory's owner. The owner implicitly has the
2811     <SPAN
2812 CLASS="bold"
2813 ><B
2814 CLASS="emphasis"
2815 >a</B
2816 ></SPAN
2817 > (<SPAN
2818 CLASS="bold"
2819 ><B
2820 CLASS="emphasis"
2821 >administer</B
2822 ></SPAN
2823 >) permission required to replace a deleted entry,
2824     but the effects of a missing ACL entry (particularly the lack of the <SPAN
2825 CLASS="bold"
2826 ><B
2827 CLASS="emphasis"
2828 >lookup</B
2829 ></SPAN
2830 > permission) can be
2831     so confusing that it becomes difficult for the owner to realize that the missing entry is causing the problems.  </P
2832 ><DIV
2833 CLASS="sect2"
2834 ><H2
2835 CLASS="sect2"
2836 ><A
2837 NAME="Header_645"
2838 >To replace an ACL completely</A
2839 ></H2
2840 ><OL
2841 TYPE="1"
2842 ><LI
2843 ><P
2844 >Verify that you have the <SPAN
2845 CLASS="bold"
2846 ><B
2847 CLASS="emphasis"
2848 >a</B
2849 ></SPAN
2850 > (<SPAN
2851 CLASS="bold"
2852 ><B
2853 CLASS="emphasis"
2854 >administer</B
2855 ></SPAN
2856 >) permission
2857           on each directory for which you are editing the ACL. If necessary, issue the <SPAN
2858 CLASS="bold"
2859 ><B
2860 CLASS="emphasis"
2861 >fs listacl</B
2862 ></SPAN
2863 >
2864           command, which is fully described in <A
2865 HREF="c31274.html#HDRWQ572"
2866 >Displaying ACLs</A
2867 >. <PRE
2868 CLASS="programlisting"
2869 >&#13;   % <SPAN
2870 CLASS="bold"
2871 ><B
2872 CLASS="emphasis"
2873 >fs listacl</B
2874 ></SPAN
2875 > [&#60;<VAR
2876 CLASS="replaceable"
2877 >dir/file path</VAR
2878 >&#62;]
2879 </PRE
2880 ></P
2881 ></LI
2882 ><LI
2883 ><P
2884 >Issue the <SPAN
2885 CLASS="bold"
2886 ><B
2887 CLASS="emphasis"
2888 >fs setacl</B
2889 ></SPAN
2890 > command with the <SPAN
2891 CLASS="bold"
2892 ><B
2893 CLASS="emphasis"
2894 >-clear</B
2895 ></SPAN
2896 > flag
2897           to clear the ACL completely before setting either normal or negative permissions. Because you need to grant the owner of
2898           the directory all permissions, it is better in most cases to set normal permissions at this point. <PRE
2899 CLASS="programlisting"
2900 >&#13;   % <SPAN
2901 CLASS="bold"
2902 ><B
2903 CLASS="emphasis"
2904 >fs setacl -dir</B
2905 ></SPAN
2906 > &#60;<VAR
2907 CLASS="replaceable"
2908 >directory</VAR
2909 >&#62;+ <SPAN
2910 CLASS="bold"
2911 ><B
2912 CLASS="emphasis"
2913 >-acl</B
2914 ></SPAN
2915 > &#60;<VAR
2916 CLASS="replaceable"
2917 >access list entries</VAR
2918 >&#62;+ <SPAN
2919 CLASS="bold"
2920 ><B
2921 CLASS="emphasis"
2922 >-clear</B
2923 ></SPAN
2924 >  \
2925                [<SPAN
2926 CLASS="bold"
2927 ><B
2928 CLASS="emphasis"
2929 >-negative</B
2930 ></SPAN
2931 >] 
2932 </PRE
2933 ></P
2934 ><P
2935 >where</P
2936 ><DIV
2937 CLASS="variablelist"
2938 ><DL
2939 ><DT
2940 ><SPAN
2941 CLASS="bold"
2942 ><B
2943 CLASS="emphasis"
2944 >sa</B
2945 ></SPAN
2946 ></DT
2947 ><DD
2948 ><P
2949 >Is an acceptable alias for <SPAN
2950 CLASS="bold"
2951 ><B
2952 CLASS="emphasis"
2953 >setacl</B
2954 ></SPAN
2955 > (and <SPAN
2956 CLASS="bold"
2957 ><B
2958 CLASS="emphasis"
2959 >seta</B
2960 ></SPAN
2961 >
2962                 is the shortest acceptable abbreviation).</P
2963 ></DD
2964 ><DT
2965 ><SPAN
2966 CLASS="bold"
2967 ><B
2968 CLASS="emphasis"
2969 >-dir</B
2970 ></SPAN
2971 ></DT
2972 ><DD
2973 ><P
2974 >Names one or more directories to which to apply the negative ACL entries defined by the <SPAN
2975 CLASS="bold"
2976 ><B
2977 CLASS="emphasis"
2978 >-acl</B
2979 ></SPAN
2980 > argument. Specify the read/write path to each directory, to avoid the failure that
2981                 results when you attempt to change a read-only volume. For a detailed description of acceptable values, see <A
2982 HREF="c31274.html#HDRWQ574"
2983 >To add, remove, or edit normal ACL permissions</A
2984 >.</P
2985 ></DD
2986 ><DT
2987 ><SPAN
2988 CLASS="bold"
2989 ><B
2990 CLASS="emphasis"
2991 >-acl</B
2992 ></SPAN
2993 ></DT
2994 ><DD
2995 ><P
2996 >Specifies one or more ACL entries, each of which pairs a user or group name and a set of permissions. Separate
2997                 the pairs, and the two parts of each pair, with one or more spaces. Remember to grant all permissions to the owner
2998                 of the directory. For a detailed description of acceptable values, see <A
2999 HREF="c31274.html#HDRWQ574"
3000 >To add, remove, or
3001                 edit normal ACL permissions</A
3002 >.</P
3003 ></DD
3004 ><DT
3005 ><SPAN
3006 CLASS="bold"
3007 ><B
3008 CLASS="emphasis"
3009 >-clear</B
3010 ></SPAN
3011 ></DT
3012 ><DD
3013 ><P
3014 >Removes all entries from each ACL before creating the entries indicated by the <SPAN
3015 CLASS="bold"
3016 ><B
3017 CLASS="emphasis"
3018 >-acl</B
3019 ></SPAN
3020 > argument.</P
3021 ></DD
3022 ><DT
3023 ><SPAN
3024 CLASS="bold"
3025 ><B
3026 CLASS="emphasis"
3027 >-negative</B
3028 ></SPAN
3029 ></DT
3030 ><DD
3031 ><P
3032 >Places the entries defined by the <SPAN
3033 CLASS="bold"
3034 ><B
3035 CLASS="emphasis"
3036 >-acl</B
3037 ></SPAN
3038 > argument on the negative permissions
3039                 section of each ACL.</P
3040 ></DD
3041 ></DL
3042 ></DIV
3043 ></LI
3044 ></OL
3045 ></DIV
3046 ></DIV
3047 ><DIV
3048 CLASS="sect1"
3049 ><H1
3050 CLASS="sect1"
3051 ><A
3052 NAME="HDRWQ577"
3053 >Copying ACLs Between Directories</A
3054 ></H1
3055 ><P
3056 >The <SPAN
3057 CLASS="bold"
3058 ><B
3059 CLASS="emphasis"
3060 >fs copyacl</B
3061 ></SPAN
3062 > command copies a source directory's ACL to one or more destination
3063     directories. It does not affect the source ACL at all, but changes each destination ACL as follows: <UL
3064 ><LI
3065 ><P
3066 >If an entry on the source ACL does not exist on the destination ACL, the command copies it to the destination
3067           ACL.</P
3068 ></LI
3069 ><LI
3070 ><P
3071 >If an entry on the destination ACL does not also exist on the source ACL, the command does not remove it unless you
3072           include the <SPAN
3073 CLASS="bold"
3074 ><B
3075 CLASS="emphasis"
3076 >-clear</B
3077 ></SPAN
3078 > flag to overwrite the destination ACL completely.</P
3079 ></LI
3080 ><LI
3081 ><P
3082 >If an entry is on both ACLs, the command changes the permissions on the destination ACL entry to match the source
3083           ACL entry.</P
3084 ></LI
3085 ></UL
3086 ></P
3087 ><P
3088 ><SPAN
3089 CLASS="bold"
3090 ><B
3091 CLASS="emphasis"
3092 >Note for AFS/DFS Migration Toolkit users:</B
3093 ></SPAN
3094 > If the machine is configured to enable AFS
3095     users to access a DCE cell's DFS filespace via the AFS/DFS Migration Toolkit, then you can use the <SPAN
3096 CLASS="bold"
3097 ><B
3098 CLASS="emphasis"
3099 >fs
3100     copyacl</B
3101 ></SPAN
3102 > command to copy ACLs between DFS files and directories also. The command includes <SPAN
3103 CLASS="bold"
3104 ><B
3105 CLASS="emphasis"
3106 >-id</B
3107 ></SPAN
3108 > and <SPAN
3109 CLASS="bold"
3110 ><B
3111 CLASS="emphasis"
3112 >-if</B
3113 ></SPAN
3114 > flags for altering a DFS directory's Initial Container and
3115     Initial Object ACLs as well as its regular ACL; see the <SPAN
3116 CLASS="emphasis"
3117 ><I
3118 CLASS="emphasis"
3119 >IBM AFS/DFS Migration Toolkit Administration Guide and
3120     Reference</I
3121 ></SPAN
3122 >. You cannot copy ACLs between AFS and DFS directories, because they use different ACL formats. The
3123     <SPAN
3124 CLASS="bold"
3125 ><B
3126 CLASS="emphasis"
3127 >fs</B
3128 ></SPAN
3129 > command interpreter ignores the <SPAN
3130 CLASS="bold"
3131 ><B
3132 CLASS="emphasis"
3133 >-id</B
3134 ></SPAN
3135 > and <SPAN
3136 CLASS="bold"
3137 ><B
3138 CLASS="emphasis"
3139 >-if</B
3140 ></SPAN
3141 > flags if you include them when copying AFS ACLs. </P
3142 ><DIV
3143 CLASS="sect2"
3144 ><H2
3145 CLASS="sect2"
3146 ><A
3147 NAME="Header_647"
3148 >To copy an ACL between directories</A
3149 ></H2
3150 ><OL
3151 TYPE="1"
3152 ><LI
3153 ><P
3154 >Verify that you have the <SPAN
3155 CLASS="bold"
3156 ><B
3157 CLASS="emphasis"
3158 >l</B
3159 ></SPAN
3160 > (<SPAN
3161 CLASS="bold"
3162 ><B
3163 CLASS="emphasis"
3164 >lookup</B
3165 ></SPAN
3166 >) permission on
3167           the source ACL and the <SPAN
3168 CLASS="bold"
3169 ><B
3170 CLASS="emphasis"
3171 >a</B
3172 ></SPAN
3173 > (<SPAN
3174 CLASS="bold"
3175 ><B
3176 CLASS="emphasis"
3177 >administer</B
3178 ></SPAN
3179 >) permission on each
3180           destination ACL. To identify the source directory by naming a file in it, you must also have the <SPAN
3181 CLASS="bold"
3182 ><B
3183 CLASS="emphasis"
3184 >r</B
3185 ></SPAN
3186 > (<SPAN
3187 CLASS="bold"
3188 ><B
3189 CLASS="emphasis"
3190 >read</B
3191 ></SPAN
3192 >) permission on the source ACL. If necessary, issue the
3193           <SPAN
3194 CLASS="bold"
3195 ><B
3196 CLASS="emphasis"
3197 >fs listacl</B
3198 ></SPAN
3199 > command, which is fully described in <A
3200 HREF="c31274.html#HDRWQ572"
3201 >Displaying
3202           ACLs</A
3203 >. <PRE
3204 CLASS="programlisting"
3205 >&#13;   % <SPAN
3206 CLASS="bold"
3207 ><B
3208 CLASS="emphasis"
3209 >fs listacl</B
3210 ></SPAN
3211 > [&#60;<VAR
3212 CLASS="replaceable"
3213 >dir/file path</VAR
3214 >&#62;]
3215 </PRE
3216 ></P
3217 ></LI
3218 ><LI
3219 ><P
3220 ><A
3221 NAME="LIWQ578"
3222 ></A
3223 >Issue the <SPAN
3224 CLASS="bold"
3225 ><B
3226 CLASS="emphasis"
3227 >fs copyacl</B
3228 ></SPAN
3229 > command to copy a source ACL to the ACL
3230           on one or more destination directories. (The command appears here on two lines only for legibility.) <PRE
3231 CLASS="programlisting"
3232 >&#13;   % <SPAN
3233 CLASS="bold"
3234 ><B
3235 CLASS="emphasis"
3236 >fs copyacl -fromdir</B
3237 ></SPAN
3238 > &#60;<VAR
3239 CLASS="replaceable"
3240 >source directory</VAR
3241 >&#62; <SPAN
3242 CLASS="bold"
3243 ><B
3244 CLASS="emphasis"
3245 >-todir</B
3246 ></SPAN
3247 > &#60;<VAR
3248 CLASS="replaceable"
3249 >destination directory</VAR
3250 >&#62;+  \
3251                 [<SPAN
3252 CLASS="bold"
3253 ><B
3254 CLASS="emphasis"
3255 >-clear</B
3256 ></SPAN
3257 >]
3258 </PRE
3259 ></P
3260 ><P
3261 >where</P
3262 ><DIV
3263 CLASS="variablelist"
3264 ><DL
3265 ><DT
3266 ><SPAN
3267 CLASS="bold"
3268 ><B
3269 CLASS="emphasis"
3270 >co</B
3271 ></SPAN
3272 ></DT
3273 ><DD
3274 ><P
3275 >Is the shortest acceptable abbreviation for <SPAN
3276 CLASS="bold"
3277 ><B
3278 CLASS="emphasis"
3279 >copyacl</B
3280 ></SPAN
3281 >.</P
3282 ></DD
3283 ><DT
3284 ><SPAN
3285 CLASS="bold"
3286 ><B
3287 CLASS="emphasis"
3288 >-fromdir</B
3289 ></SPAN
3290 ></DT
3291 ><DD
3292 ><P
3293 >Names the source directory from which to copy the ACL. Partial pathnames are interpreted relative to the
3294                 current working directory. If this argument names a file, the ACL is copied from its directory.</P
3295 ></DD
3296 ><DT
3297 ><SPAN
3298 CLASS="bold"
3299 ><B
3300 CLASS="emphasis"
3301 >-todir</B
3302 ></SPAN
3303 ></DT
3304 ><DD
3305 ><P
3306 >Names each destination directory to which to copy the source ACL. Partial pathnames are interpreted relative
3307                 to the current working directory. Filenames are not acceptable.</P
3308 ><P
3309 >Specify the read/write path to each directory, to avoid the failure that results when you attempt to change a
3310                 read-only volume. By convention, you indicate the read/write path by placing a period before the cell name at the
3311                 pathname's second level (for example, <SPAN
3312 CLASS="bold"
3313 ><B
3314 CLASS="emphasis"
3315 >/afs/.abc.com</B
3316 ></SPAN
3317 >). For further discussion of the
3318                 concept of read/write and read-only paths through the filespace, see <A
3319 HREF="c8420.html#HDRWQ209"
3320 >The Rules of Mount
3321                 Point Traversal</A
3322 >.</P
3323 ></DD
3324 ><DT
3325 ><SPAN
3326 CLASS="bold"
3327 ><B
3328 CLASS="emphasis"
3329 >-clear</B
3330 ></SPAN
3331 ></DT
3332 ><DD
3333 ><P
3334 >Completely overwrites each destination directory's ACL with the source ACL.</P
3335 ></DD
3336 ></DL
3337 ></DIV
3338 ></LI
3339 ></OL
3340 ><P
3341 >The following example copies the ACL from the current working directory's <SPAN
3342 CLASS="bold"
3343 ><B
3344 CLASS="emphasis"
3345 >notes</B
3346 ></SPAN
3347 >
3348       subdirectory to the <SPAN
3349 CLASS="bold"
3350 ><B
3351 CLASS="emphasis"
3352 >plans</B
3353 ></SPAN
3354 > subdirectory. The issuer does not include the <SPAN
3355 CLASS="bold"
3356 ><B
3357 CLASS="emphasis"
3358 >-clear</B
3359 ></SPAN
3360 > flag, so the entry for user <SPAN
3361 CLASS="bold"
3362 ><B
3363 CLASS="emphasis"
3364 >pat</B
3365 ></SPAN
3366 > remains on the <SPAN
3367 CLASS="bold"
3368 ><B
3369 CLASS="emphasis"
3370 >plans</B
3371 ></SPAN
3372 > directory's ACL although there is no corresponding entry on the <SPAN
3373 CLASS="bold"
3374 ><B
3375 CLASS="emphasis"
3376 >notes</B
3377 ></SPAN
3378 > directory's ACL.</P
3379 ><PRE
3380 CLASS="programlisting"
3381 >&#13;   % <SPAN
3382 CLASS="bold"
3383 ><B
3384 CLASS="emphasis"
3385 >fs la notes plans</B
3386 ></SPAN
3387 >
3388    Access list for notes is
3389    Normal permissions:
3390       terry rlidwka
3391       smith rl
3392       jones rl
3393    Access list for plans is
3394    Normal permissions:
3395       terry rlidwk
3396       pat rlidwk
3397    % <SPAN
3398 CLASS="bold"
3399 ><B
3400 CLASS="emphasis"
3401 >fs copyacl notes plans</B
3402 ></SPAN
3403 >
3404    % <SPAN
3405 CLASS="bold"
3406 ><B
3407 CLASS="emphasis"
3408 >fs la notes plans</B
3409 ></SPAN
3410 >
3411    Access list for notes is
3412    Normal permissions:
3413       terry rlidwka
3414       smith rl
3415       jones rl
3416    Access list for plans is
3417    Normal permissions:
3418       terry rlidwka
3419       pat rlidwk
3420       smith rl
3421       jones rl
3422 </PRE
3423 ></DIV
3424 ></DIV
3425 ><DIV
3426 CLASS="sect1"
3427 ><H1
3428 CLASS="sect1"
3429 ><A
3430 NAME="HDRWQ579"
3431 >Removing Obsolete AFS IDs from ACLs</A
3432 ></H1
3433 ><P
3434 >When you remove a user or group entry from the Protection Database, the <SPAN
3435 CLASS="bold"
3436 ><B
3437 CLASS="emphasis"
3438 >fs listacl</B
3439 ></SPAN
3440 >
3441     command displays the user's AFS UID (or group's AFS GID) in ACL entries, rather than the name. In the following example, user
3442     <SPAN
3443 CLASS="bold"
3444 ><B
3445 CLASS="emphasis"
3446 >terry</B
3447 ></SPAN
3448 > has an ACL entry for the group <SPAN
3449 CLASS="bold"
3450 ><B
3451 CLASS="emphasis"
3452 >terry:friends</B
3453 ></SPAN
3454 > (AFS GID
3455     -567) on her home directory in the ABC Corporation cell, and then removes the group from the Protection Database.</P
3456 ><PRE
3457 CLASS="programlisting"
3458 >&#13;   % <SPAN
3459 CLASS="bold"
3460 ><B
3461 CLASS="emphasis"
3462 >fs listacl /afs/abc.com/usr/terry</B
3463 ></SPAN
3464 >
3465    Access list for /afs/abc.com/usr/terry is
3466    Normal permissions:
3467      terry:friends rlik
3468      system:anyuser l
3469      terry rlidwka
3470    % <SPAN
3471 CLASS="bold"
3472 ><B
3473 CLASS="emphasis"
3474 >pts delete terry:friends</B
3475 ></SPAN
3476 >
3477    % <SPAN
3478 CLASS="bold"
3479 ><B
3480 CLASS="emphasis"
3481 >fs listacl /afs/abc.com/usr/terry</B
3482 ></SPAN
3483 >
3484    Access list for /afs/abc.com/usr/terry is
3485    Normal permissions:
3486      -567 rlik
3487      system:anyuser l
3488      terry rlidwka
3489 </PRE
3490 ><P
3491 >Leaving AFS IDs on ACLs serves no function, because the ID no longer corresponds to an active user or group. Furthermore,
3492     if the ID is ever assigned to a new user or group, then the new possessor of the ID gains access that the owner of the directory
3493     actually intended for the previous possessor. (Reusing AFS IDs is not recommended precisely for this reason.)</P
3494 ><P
3495 >To remove obsolete AFS UIDs from ACLs, use the <SPAN
3496 CLASS="bold"
3497 ><B
3498 CLASS="emphasis"
3499 >fs cleanacl</B
3500 ></SPAN
3501 > command.  </P
3502 ><DIV
3503 CLASS="sect2"
3504 ><H2
3505 CLASS="sect2"
3506 ><A
3507 NAME="Header_649"
3508 >To clean obsolete AFS IDs from an ACL</A
3509 ></H2
3510 ><OL
3511 TYPE="1"
3512 ><LI
3513 ><P
3514 >Verify that you have the <SPAN
3515 CLASS="bold"
3516 ><B
3517 CLASS="emphasis"
3518 >a</B
3519 ></SPAN
3520 > (<SPAN
3521 CLASS="bold"
3522 ><B
3523 CLASS="emphasis"
3524 >administer</B
3525 ></SPAN
3526 >) permission
3527           on each directory for which you are cleaning the ACL. If necessary, issue the <SPAN
3528 CLASS="bold"
3529 ><B
3530 CLASS="emphasis"
3531 >fs listacl</B
3532 ></SPAN
3533 >
3534           command, which is fully described in <A
3535 HREF="c31274.html#HDRWQ572"
3536 >Displaying ACLs</A
3537 >. <PRE
3538 CLASS="programlisting"
3539 >&#13;   % <SPAN
3540 CLASS="bold"
3541 ><B
3542 CLASS="emphasis"
3543 >fs listacl</B
3544 ></SPAN
3545 > [&#60;<VAR
3546 CLASS="replaceable"
3547 >dir/file path</VAR
3548 >&#62;]
3549 </PRE
3550 ></P
3551 ></LI
3552 ><LI
3553 ><P
3554 >Issue the <SPAN
3555 CLASS="bold"
3556 ><B
3557 CLASS="emphasis"
3558 >fs cleanacl</B
3559 ></SPAN
3560 > command to remove entries for obsolete AFS IDs.
3561           <PRE
3562 CLASS="programlisting"
3563 >&#13;   % <SPAN
3564 CLASS="bold"
3565 ><B
3566 CLASS="emphasis"
3567 >fs cleanacl</B
3568 ></SPAN
3569 > [&#60;<VAR
3570 CLASS="replaceable"
3571 >dir/file path</VAR
3572 >&#62;+]
3573 </PRE
3574 ></P
3575 ><P
3576 >where</P
3577 ><DIV
3578 CLASS="variablelist"
3579 ><DL
3580 ><DT
3581 ><SPAN
3582 CLASS="bold"
3583 ><B
3584 CLASS="emphasis"
3585 >cl</B
3586 ></SPAN
3587 ></DT
3588 ><DD
3589 ><P
3590 >Is the shortest acceptable abbreviation of <SPAN
3591 CLASS="bold"
3592 ><B
3593 CLASS="emphasis"
3594 >cleanacl</B
3595 ></SPAN
3596 >.</P
3597 ></DD
3598 ><DT
3599 ><SPAN
3600 CLASS="bold"
3601 ><B
3602 CLASS="emphasis"
3603 >dir/file path</B
3604 ></SPAN
3605 ></DT
3606 ><DD
3607 ><P
3608 >Names each directory for which to clean the ACL. If this argument names a file, its directory's ACL is
3609                 cleaned. Omit this argument to clean the current working directory's ACL.</P
3610 ><P
3611 >Specify the read/write path to each directory, to avoid the failure that results when you attempt to change a
3612                 read-only volume. By convention, you indicate the read/write path by placing a period before the cell name at the
3613                 pathname's second level (for example, <SPAN
3614 CLASS="bold"
3615 ><B
3616 CLASS="emphasis"
3617 >/afs/.abc.com</B
3618 ></SPAN
3619 >). For further discussion of the
3620                 concept of read/write and read-only paths through the filespace, see <A
3621 HREF="c8420.html#HDRWQ209"
3622 >The Rules of Mount
3623                 Point Traversal</A
3624 >.</P
3625 ><P
3626 >You can also use the following notation on its own or as part of a pathname:</P
3627 ><DIV
3628 CLASS="variablelist"
3629 ><DL
3630 ><DT
3631 ><SPAN
3632 CLASS="bold"
3633 ><B
3634 CLASS="emphasis"
3635 >.</B
3636 ></SPAN
3637 ></DT
3638 ><DD
3639 ><P
3640 >(A single period). If used by itself, cleans the current working directory's ACL.</P
3641 ></DD
3642 ><DT
3643 ><SPAN
3644 CLASS="bold"
3645 ><B
3646 CLASS="emphasis"
3647 >..</B
3648 ></SPAN
3649 ></DT
3650 ><DD
3651 ><P
3652 >(Two periods). If used by itself, cleans the ACL on the current working directory's parent
3653                       directory.</P
3654 ></DD
3655 ><DT
3656 ><SPAN
3657 CLASS="bold"
3658 ><B
3659 CLASS="emphasis"
3660 >*</B
3661 ></SPAN
3662 ></DT
3663 ><DD
3664 ><P
3665 >(The asterisk). Cleans the ACL of each of the subdirectories in the current working directory. However,
3666                       if you use the asterisk and there are obsolete AFS IDs on any directory's ACL, the following error message
3667                       appears for every file in the directory: <PRE
3668 CLASS="programlisting"
3669 >&#13;   fs: 'filename': Not a directory
3670 </PRE
3671 ></P
3672 ></DD
3673 ></DL
3674 ></DIV
3675 ></DD
3676 ></DL
3677 ></DIV
3678 ></LI
3679 ></OL
3680 ><P
3681 >If there are obsolete AFS IDs on a directory, the command interpreter displays its cleaned ACL under the following
3682       header.</P
3683 ><PRE
3684 CLASS="programlisting"
3685 >&#13;   Access list for directory is now
3686 </PRE
3687 ><P
3688 >If a directory's ACL has no obsolete AFS IDs on it, the following message appears for each.</P
3689 ><PRE
3690 CLASS="programlisting"
3691 >&#13;   Access list for directory is fine.
3692 </PRE
3693 ></DIV
3694 ></DIV
3695 ><DIV
3696 CLASS="sect1"
3697 ><H1
3698 CLASS="sect1"
3699 ><A
3700 NAME="HDRWQ580"
3701 >How AFS Interprets the UNIX Mode Bits</A
3702 ></H1
3703 ><P
3704 >Although AFS uses ACLs to protect file data rather than the mode bits that UFS uses, it does not ignore the mode bits
3705     entirely. When you issue the <SPAN
3706 CLASS="bold"
3707 ><B
3708 CLASS="emphasis"
3709 >chmod</B
3710 ></SPAN
3711 > command on an AFS file or directory, AFS changes the bits
3712     appropriately. To change a file's mode bits, you must have the AFS <SPAN
3713 CLASS="bold"
3714 ><B
3715 CLASS="emphasis"
3716 >w</B
3717 ></SPAN
3718 > (<SPAN
3719 CLASS="bold"
3720 ><B
3721 CLASS="emphasis"
3722 >write</B
3723 ></SPAN
3724 >) permission on the ACL of the file's directory. To change a directory's mode bits, you must have
3725     the <SPAN
3726 CLASS="bold"
3727 ><B
3728 CLASS="emphasis"
3729 >d</B
3730 ></SPAN
3731 > (<SPAN
3732 CLASS="bold"
3733 ><B
3734 CLASS="emphasis"
3735 >delete</B
3736 ></SPAN
3737 >), <SPAN
3738 CLASS="bold"
3739 ><B
3740 CLASS="emphasis"
3741 >i</B
3742 ></SPAN
3743 > (<SPAN
3744 CLASS="bold"
3745 ><B
3746 CLASS="emphasis"
3747 >insert</B
3748 ></SPAN
3749 >), and <SPAN
3750 CLASS="bold"
3751 ><B
3752 CLASS="emphasis"
3753 >l</B
3754 ></SPAN
3755 > (<SPAN
3756 CLASS="bold"
3757 ><B
3758 CLASS="emphasis"
3759 >lookup</B
3760 ></SPAN
3761 >) permissions on
3762     its ACL.</P
3763 ><P
3764 >AFS also uses the UNIX mode bits as follows:</P
3765 ><UL
3766 ><LI
3767 ><P
3768 >It uses the initial bit to determine the element's type. This is the bit that appears first in the output from the
3769         <SPAN
3770 CLASS="bold"
3771 ><B
3772 CLASS="emphasis"
3773 >ls -l</B
3774 ></SPAN
3775 > command and shows the hyphen (<SPAN
3776 CLASS="bold"
3777 ><B
3778 CLASS="emphasis"
3779 >-</B
3780 ></SPAN
3781 >) for a file or the
3782         letter <SPAN
3783 CLASS="bold"
3784 ><B
3785 CLASS="emphasis"
3786 >d</B
3787 ></SPAN
3788 > for a directory.</P
3789 ></LI
3790 ><LI
3791 ><P
3792 >It does not use any of the mode bits on a directory.</P
3793 ></LI
3794 ><LI
3795 ><P
3796 >For a file, the first (owner) set of bits interacts with the ACL entries that apply to the file in the following way:
3797         <UL
3798 ><LI
3799 ><P
3800 >If the first <SPAN
3801 CLASS="bold"
3802 ><B
3803 CLASS="emphasis"
3804 >r</B
3805 ></SPAN
3806 > mode bit is not set, no one (including the owner) can read the
3807               file, no matter what permissions they have on the ACL. If the bit is set, users also need the <SPAN
3808 CLASS="bold"
3809 ><B
3810 CLASS="emphasis"
3811 >r</B
3812 ></SPAN
3813 > (<SPAN
3814 CLASS="bold"
3815 ><B
3816 CLASS="emphasis"
3817 >read</B
3818 ></SPAN
3819 >) and <SPAN
3820 CLASS="bold"
3821 ><B
3822 CLASS="emphasis"
3823 >l</B
3824 ></SPAN
3825 > permissions on
3826               the ACL of the file's directory to read the file.</P
3827 ></LI
3828 ><LI
3829 ><P
3830 >If the first <SPAN
3831 CLASS="bold"
3832 ><B
3833 CLASS="emphasis"
3834 >w</B
3835 ></SPAN
3836 > mode bit is not set, no one (including the owner) can modify the
3837               file. If the <SPAN
3838 CLASS="bold"
3839 ><B
3840 CLASS="emphasis"
3841 >w</B
3842 ></SPAN
3843 > bit is set, users also need the <SPAN
3844 CLASS="bold"
3845 ><B
3846 CLASS="emphasis"
3847 >w</B
3848 ></SPAN
3849 > and
3850               <SPAN
3851 CLASS="bold"
3852 ><B
3853 CLASS="emphasis"
3854 >l</B
3855 ></SPAN
3856 > permissions on the ACL of the file's directory to modify the file.</P
3857 ></LI
3858 ><LI
3859 ><P
3860 >There is no ACL permission directly corresponding to the <SPAN
3861 CLASS="bold"
3862 ><B
3863 CLASS="emphasis"
3864 >x</B
3865 ></SPAN
3866 > mode bit, but to
3867               execute a file stored in AFS, the user must also have the <SPAN
3868 CLASS="bold"
3869 ><B
3870 CLASS="emphasis"
3871 >r</B
3872 ></SPAN
3873 > and <SPAN
3874 CLASS="bold"
3875 ><B
3876 CLASS="emphasis"
3877 >l</B
3878 ></SPAN
3879 > permissions on the ACL of the file's directory.</P
3880 ></LI
3881 ></UL
3882 ></P
3883 ></LI
3884 ></UL
3885 ></DIV
3886 ></DIV
3887 ><DIV
3888 CLASS="NAVFOOTER"
3889 ><HR
3890 ALIGN="LEFT"
3891 WIDTH="100%"><TABLE
3892 SUMMARY="Footer navigation table"
3893 WIDTH="100%"
3894 BORDER="0"
3895 CELLPADDING="0"
3896 CELLSPACING="0"
3897 ><TR
3898 ><TD
3899 WIDTH="33%"
3900 ALIGN="left"
3901 VALIGN="top"
3902 ><A
3903 HREF="c29323.html"
3904 ACCESSKEY="P"
3905 >Prev</A
3906 ></TD
3907 ><TD
3908 WIDTH="34%"
3909 ALIGN="center"
3910 VALIGN="top"
3911 ><A
3912 HREF="book1.html"
3913 ACCESSKEY="H"
3914 >Home</A
3915 ></TD
3916 ><TD
3917 WIDTH="33%"
3918 ALIGN="right"
3919 VALIGN="top"
3920 ><A
3921 HREF="c32432.html"
3922 ACCESSKEY="N"
3923 >Next</A
3924 ></TD
3925 ></TR
3926 ><TR
3927 ><TD
3928 WIDTH="33%"
3929 ALIGN="left"
3930 VALIGN="top"
3931 >Administering the Protection Database</TD
3932 ><TD
3933 WIDTH="34%"
3934 ALIGN="center"
3935 VALIGN="top"
3936 ><A
3937 HREF="p24911.html"
3938 ACCESSKEY="U"
3939 >Up</A
3940 ></TD
3941 ><TD
3942 WIDTH="33%"
3943 ALIGN="right"
3944 VALIGN="top"
3945 >Managing Administrative Privilege</TD
3946 ></TR
3947 ></TABLE
3948 ></DIV
3949 ></BODY
3950 ></HTML
3951 >