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..ebeafcaf6e 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.14 2007/05/31 19:19:32 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 $Mdocdate: May 31 2007 $ |
| 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.4 . |
