diff options
Diffstat (limited to 'src/lib/libc/string/strmode.3')
-rw-r--r-- | src/lib/libc/string/strmode.3 | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/src/lib/libc/string/strmode.3 b/src/lib/libc/string/strmode.3 index 1907e7ab03..5d371b38c8 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.15 2011/07/25 00:38:53 schwarze 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 $Mdocdate: July 25 2011 $ |
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 NUL 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,10 @@ 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 \&? |
76 | unknown inode type | 71 | unknown inode type |
77 | .El | 72 | .El |
78 | .Pp | 73 | .Pp |
@@ -80,46 +75,58 @@ The next nine characters encode three sets of permissions, in three | |||
80 | characters each. | 75 | characters each. |
81 | The first three characters are the permissions for the owner of the | 76 | 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 | 77 | file, the second three for the group the file belongs to, and the |
83 | third for the ``other'', or default, set of users. | 78 | third for the |
79 | .Dq other , | ||
80 | or default, set of users. | ||
84 | .Pp | 81 | .Pp |
85 | Permission checking is done as specifically as possible. | 82 | Permission checking is done as specifically as possible. |
86 | If read permission is denied to the owner of a file in the first set | 83 | 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. | 84 | 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 | 85 | 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. | 86 | permissions allow reading or the |
87 | .Dq other | ||
88 | permissions allow reading. | ||
90 | .Pp | 89 | .Pp |
91 | If the first character of the three character set is an ``r'', the file is | 90 | 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. | 91 | .Sq r , |
92 | the file is readable for that set of users; if a dash | ||
93 | .Pq Ql - , | ||
94 | it is not readable. | ||
93 | .Pp | 95 | .Pp |
94 | If the second character of the three character set is a ``w'', the file is | 96 | 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. | 97 | .Sq w , |
98 | the file is writable for that set of users; if a dash | ||
99 | .Pq Ql - , | ||
100 | it is not writable. | ||
96 | .Pp | 101 | .Pp |
97 | The third character is the first of the following characters that apply: | 102 | The third character is the first of the following characters that apply: |
98 | .Bl -tag -width xxxx | 103 | .Bl -tag -width xxxx |
99 | .It S | 104 | .It S |
100 | If the character is part of the owner permissions and the file is not | 105 | 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 | 106 | executable or the directory is not searchable by the owner, and the |
102 | set-user-id bit is set. | 107 | set-user-ID bit is set. |
103 | .It S | 108 | .It S |
104 | If the character is part of the group permissions and the file is not | 109 | 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 | 110 | executable or the directory is not searchable by the group, and the |
106 | set-group-id bit is set. | 111 | set-group-ID bit is set. |
107 | .It T | 112 | .It T |
108 | If the character is part of the other permissions and the file is not | 113 | 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'' | 114 | executable or the directory is not searchable by others, and the |
115 | .Dq sticky | ||
110 | .Pq Dv S_ISVTX | 116 | .Pq Dv S_ISVTX |
111 | bit is set. | 117 | bit is set. |
112 | .It s | 118 | .It s |
113 | If the character is part of the owner permissions and the file is | 119 | 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 | 120 | executable or the directory searchable by the owner, and the set-user-ID |
115 | bit is set. | 121 | bit is set. |
116 | .It s | 122 | .It s |
117 | If the character is part of the group permissions and the file is | 123 | 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 | 124 | executable or the directory searchable by the group, and the set-group-ID |
119 | bit is set. | 125 | bit is set. |
120 | .It t | 126 | .It t |
121 | If the character is part of the other permissions and the file is | 127 | If the character is part of the other permissions and the file is |
122 | executable or the directory searchable, by others, and the ``sticky'' | 128 | executable or the directory searchable by others, and the |
129 | .Dq sticky | ||
123 | .Pq Dv S_ISVTX | 130 | .Pq Dv S_ISVTX |
124 | bit is set. | 131 | bit is set. |
125 | .It x | 132 | .It x |
@@ -128,14 +135,15 @@ The file is executable or the directory is searchable. | |||
128 | None of the above apply. | 135 | None of the above apply. |
129 | .El | 136 | .El |
130 | .Pp | 137 | .Pp |
131 | The last character is a plus sign ``+'' if any there are any alternate | 138 | The last character is a plus sign |
139 | .Pq Ql + | ||
140 | if there are any alternate | ||
132 | or additional access control methods associated with the inode, otherwise | 141 | or additional access control methods associated with the inode, otherwise |
133 | it will be a space. | 142 | it will be a space. |
134 | .Sh RETURN VALUES | 143 | .Sh RETURN VALUES |
135 | The | 144 | The |
136 | .Fn strmode | 145 | .Fn strmode |
137 | function | 146 | function always returns 0. |
138 | always returns 0. | ||
139 | .Sh SEE ALSO | 147 | .Sh SEE ALSO |
140 | .Xr chmod 1 , | 148 | .Xr chmod 1 , |
141 | .Xr find 1 , | 149 | .Xr find 1 , |
@@ -145,5 +153,5 @@ always returns 0. | |||
145 | .Sh HISTORY | 153 | .Sh HISTORY |
146 | The | 154 | The |
147 | .Fn strmode | 155 | .Fn strmode |
148 | function | 156 | function first appeared in |
149 | .Ud . | 157 | .Bx 4.3 Reno . |