diff options
Diffstat (limited to 'src/lib/libc/string/strmode.3')
-rw-r--r-- | src/lib/libc/string/strmode.3 | 80 |
1 files changed, 45 insertions, 35 deletions
diff --git a/src/lib/libc/string/strmode.3 b/src/lib/libc/string/strmode.3 index 1907e7ab03..bc45c4ce1f 100644 --- a/src/lib/libc/string/strmode.3 +++ b/src/lib/libc/string/strmode.3 | |||
@@ -1,5 +1,7 @@ | |||
1 | .\" Copyright (c) 1990, 1991 The Regents of the University of California. | 1 | .\" $OpenBSD: strmode.3,v 1.11 2003/09/02 18:24:21 jmc Exp $ |
2 | .\" All rights reserved. | 2 | .\" |
3 | .\" Copyright (c) 1990, 1991, 1993 | ||
4 | .\" The Regents of the University of California. All rights reserved. | ||
3 | .\" | 5 | .\" |
4 | .\" Redistribution and use in source and binary forms, with or without | 6 | .\" Redistribution and use in source and binary forms, with or without |
5 | .\" modification, are permitted provided that the following conditions | 7 | .\" modification, are permitted provided that the following conditions |
@@ -9,11 +11,7 @@ | |||
9 | .\" 2. Redistributions in binary form must reproduce the above copyright | 11 | .\" 2. Redistributions in binary form must reproduce the above copyright |
10 | .\" notice, this list of conditions and the following disclaimer in the | 12 | .\" notice, this list of conditions and the following disclaimer in the |
11 | .\" documentation and/or other materials provided with the distribution. | 13 | .\" documentation and/or other materials provided with the distribution. |
12 | .\" 3. All advertising materials mentioning features or use of this software | 14 | .\" 3. Neither the name of the University nor the names of its contributors |
13 | .\" must display the following acknowledgement: | ||
14 | .\" This product includes software developed by the University of | ||
15 | .\" California, Berkeley and its contributors. | ||
16 | .\" 4. Neither the name of the University nor the names of its contributors | ||
17 | .\" may be used to endorse or promote products derived from this software | 15 | .\" may be used to endorse or promote products derived from this software |
18 | .\" without specific prior written permission. | 16 | .\" without specific prior written permission. |
19 | .\" | 17 | .\" |
@@ -29,10 +27,9 @@ | |||
29 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 27 | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
30 | .\" SUCH DAMAGE. | 28 | .\" SUCH DAMAGE. |
31 | .\" | 29 | .\" |
32 | .\" from: @(#)strmode.3 5.4 (Berkeley) 7/31/91 | 30 | .\" @(#)strmode.3 8.3 (Berkeley) 7/28/94 |
33 | .\" $Id: strmode.3,v 1.1.1.1 1995/10/18 08:42:22 deraadt Exp $ | ||
34 | .\" | 31 | .\" |
35 | .Dd July 31, 1991 | 32 | .Dd July 28, 1994 |
36 | .Dt STRMODE 3 | 33 | .Dt STRMODE 3 |
37 | .Os | 34 | .Os |
38 | .Sh NAME | 35 | .Sh NAME |
@@ -45,15 +42,13 @@ | |||
45 | .Sh DESCRIPTION | 42 | .Sh DESCRIPTION |
46 | The | 43 | The |
47 | .Fn strmode | 44 | .Fn strmode |
48 | function | 45 | function converts a file |
49 | converts a file | ||
50 | .Fa mode | 46 | .Fa mode |
51 | (the type and permission information associated with an inode, see | 47 | (the type and permission information associated with an inode, see |
52 | .Xr stat 2 ) | 48 | .Xr stat 2 ) |
53 | into a symbolic string which is stored in the location referenced by | 49 | into a symbolic string which is stored in the location referenced by |
54 | .Fa bp . | 50 | .Fa bp . |
55 | This stored string is eleven characters in length plus a trailing | 51 | This stored string is eleven characters in length plus a trailing null byte. |
56 | .Dv NULL . | ||
57 | .Pp | 52 | .Pp |
58 | The first character is the inode type, and will be one of the following: | 53 | The first character is the inode type, and will be one of the following: |
59 | .Pp | 54 | .Pp |
@@ -69,10 +64,12 @@ directory | |||
69 | .It l | 64 | .It l |
70 | symbolic link | 65 | symbolic link |
71 | .It p | 66 | .It p |
72 | fifo | 67 | FIFO |
73 | .It s | 68 | .It s |
74 | socket | 69 | socket |
75 | .It ? | 70 | .It w |
71 | whiteout | ||
72 | .It \&? | ||
76 | unknown inode type | 73 | unknown inode type |
77 | .El | 74 | .El |
78 | .Pp | 75 | .Pp |
@@ -80,46 +77,58 @@ The next nine characters encode three sets of permissions, in three | |||
80 | characters each. | 77 | characters each. |
81 | The first three characters are the permissions for the owner of the | 78 | The first three characters are the permissions for the owner of the |
82 | file, the second three for the group the file belongs to, and the | 79 | file, the second three for the group the file belongs to, and the |
83 | third for the ``other'', or default, set of users. | 80 | third for the |
81 | .Dq other , | ||
82 | or default, set of users. | ||
84 | .Pp | 83 | .Pp |
85 | Permission checking is done as specifically as possible. | 84 | Permission checking is done as specifically as possible. |
86 | If read permission is denied to the owner of a file in the first set | 85 | If read permission is denied to the owner of a file in the first set |
87 | of permissions, the owner of the file will not be able to read the file. | 86 | of permissions, the owner of the file will not be able to read the file. |
88 | This is true even if the owner is in the file's group and the group | 87 | This is true even if the owner is in the file's group and the group |
89 | permissions allow reading or the ``other'' permissions allow reading. | 88 | permissions allow reading or the |
89 | .Dq other | ||
90 | permissions allow reading. | ||
90 | .Pp | 91 | .Pp |
91 | If the first character of the three character set is an ``r'', the file is | 92 | If the first character of the three character set is an |
92 | readable for that set of users; if a dash ``\-'', it is not readable. | 93 | .Sq r , |
94 | the file is readable for that set of users; if a dash | ||
95 | .Pq Ql - , | ||
96 | it is not readable. | ||
93 | .Pp | 97 | .Pp |
94 | If the second character of the three character set is a ``w'', the file is | 98 | If the second character of the three character set is a |
95 | writable for that set of users; if a dash ``\-'', it is not writable. | 99 | .Sq w , |
100 | the file is writable for that set of users; if a dash | ||
101 | .Pq Ql - , | ||
102 | it is not writable. | ||
96 | .Pp | 103 | .Pp |
97 | The third character is the first of the following characters that apply: | 104 | The third character is the first of the following characters that apply: |
98 | .Bl -tag -width xxxx | 105 | .Bl -tag -width xxxx |
99 | .It S | 106 | .It S |
100 | If the character is part of the owner permissions and the file is not | 107 | If the character is part of the owner permissions and the file is not |
101 | executable or the directory is not searchable, by the owner, and the | 108 | executable or the directory is not searchable by the owner, and the |
102 | set-user-id bit is set. | 109 | set-user-ID bit is set. |
103 | .It S | 110 | .It S |
104 | If the character is part of the group permissions and the file is not | 111 | If the character is part of the group permissions and the file is not |
105 | executable or the directory is not searchable, by the group, and the | 112 | executable or the directory is not searchable by the group, and the |
106 | set-group-id bit is set. | 113 | set-group-ID bit is set. |
107 | .It T | 114 | .It T |
108 | If the character is part of the other permissions and the file is not | 115 | If the character is part of the other permissions and the file is not |
109 | executable or the directory is not searchable, by others, and the ``sticky'' | 116 | executable or the directory is not searchable by others, and the |
117 | .Dq sticky | ||
110 | .Pq Dv S_ISVTX | 118 | .Pq Dv S_ISVTX |
111 | bit is set. | 119 | bit is set. |
112 | .It s | 120 | .It s |
113 | If the character is part of the owner permissions and the file is | 121 | If the character is part of the owner permissions and the file is |
114 | executable or the directory searchable, by the owner, and the set-user-id | 122 | executable or the directory searchable by the owner, and the set-user-ID |
115 | bit is set. | 123 | bit is set. |
116 | .It s | 124 | .It s |
117 | If the character is part of the group permissions and the file is | 125 | If the character is part of the group permissions and the file is |
118 | executable or the directory searchable, by the group, and the set-group-id | 126 | executable or the directory searchable by the group, and the set-group-ID |
119 | bit is set. | 127 | bit is set. |
120 | .It t | 128 | .It t |
121 | If the character is part of the other permissions and the file is | 129 | If the character is part of the other permissions and the file is |
122 | executable or the directory searchable, by others, and the ``sticky'' | 130 | executable or the directory searchable by others, and the |
131 | .Dq sticky | ||
123 | .Pq Dv S_ISVTX | 132 | .Pq Dv S_ISVTX |
124 | bit is set. | 133 | bit is set. |
125 | .It x | 134 | .It x |
@@ -128,14 +137,15 @@ The file is executable or the directory is searchable. | |||
128 | None of the above apply. | 137 | None of the above apply. |
129 | .El | 138 | .El |
130 | .Pp | 139 | .Pp |
131 | The last character is a plus sign ``+'' if any there are any alternate | 140 | The last character is a plus sign |
141 | .Pq Ql + | ||
142 | if there are any alternate | ||
132 | or additional access control methods associated with the inode, otherwise | 143 | or additional access control methods associated with the inode, otherwise |
133 | it will be a space. | 144 | it will be a space. |
134 | .Sh RETURN VALUES | 145 | .Sh RETURN VALUES |
135 | The | 146 | The |
136 | .Fn strmode | 147 | .Fn strmode |
137 | function | 148 | function always returns 0. |
138 | always returns 0. | ||
139 | .Sh SEE ALSO | 149 | .Sh SEE ALSO |
140 | .Xr chmod 1 , | 150 | .Xr chmod 1 , |
141 | .Xr find 1 , | 151 | .Xr find 1 , |
@@ -145,5 +155,5 @@ always returns 0. | |||
145 | .Sh HISTORY | 155 | .Sh HISTORY |
146 | The | 156 | The |
147 | .Fn strmode | 157 | .Fn strmode |
148 | function | 158 | function first appeared in |
149 | .Ud . | 159 | .Bx 4.4 . |