Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

strmode(3) [osx man page]

STRMODE(3)						   BSD Library Functions Manual 						STRMODE(3)

NAME
strmode -- convert inode status information into a symbolic string LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <string.h> void strmode(int mode, char *bp); DESCRIPTION
The strmode() function converts a file mode (the type and permission information associated with an inode, see stat(2)) into a symbolic string which is stored in the location referenced by bp. This stored string is eleven characters in length plus a trailing NUL. The first character is the inode type, and will be one of the following: - regular file b block special c character special d directory l symbolic link p fifo s socket w whiteout ? unknown inode type The next nine characters encode three sets of permissions, in three characters each. The first three characters are the permissions for the owner of the file, the second three for the group the file belongs to, and the third for the ``other'', or default, set of users. Permission checking is done as specifically as possible. If read permission is denied to the owner of a file in the first set of permis- sions, the owner of the file will not be able to read the file. This is true even if the owner is in the file's group and the group permis- sions allow reading or the ``other'' permissions allow reading. If the first character of the three character set is an ``r'', the file is readable for that set of users; if a dash ``-'', it is not read- able. If the second character of the three character set is a ``w'', the file is writable for that set of users; if a dash ``-'', it is not writable. The third character is the first of the following characters that apply: S If the character is part of the owner permissions and the file is not executable or the directory is not searchable by the owner, and the set-user-id bit is set. S If the character is part of the group permissions and the file is not executable or the directory is not searchable by the group, and the set-group-id bit is set. T If the character is part of the other permissions and the file is not executable or the directory is not searchable by others, and the ``sticky'' (S_ISVTX) bit is set. s If the character is part of the owner permissions and the file is executable or the directory searchable by the owner, and the set- user-id bit is set. s If the character is part of the group permissions and the file is executable or the directory searchable by the group, and the set- group-id bit is set. t If the character is part of the other permissions and the file is executable or the directory searchable by others, and the ``sticky'' (S_ISVTX) bit is set. x The file is executable or the directory is searchable. - None of the above apply. The last character will always be a space. SEE ALSO
chmod(1), find(1), stat(2), getmode(3), setmode(3) HISTORY
The strmode() function first appeared in 4.4BSD. BSD
July 28, 1994 BSD

Check Out this Related Man Page

LS(1)							      General Commands Manual							     LS(1)

NAME
ls - list contents of directory SYNOPSIS
ls [ -ltasdrucifg ] name ... DESCRIPTION
For each directory argument, ls lists the contents of the directory; for each file argument, ls repeats its name and any other information requested. The output is sorted alphabetically by default. When no argument is given, the current directory is listed. When several arguments are given, the arguments are first sorted appropriately, but file arguments appear before directories and their contents. There are several options: -l List in long format, giving mode, number of links, owner, size in bytes, and time of last modification for each file. (See below.) If the file is a special file the size field will instead contain the major and minor device numbers. -t Sort by time modified (latest first) instead of by name, as is normal. -a List all entries; usually `.' and `..' are suppressed. -s Give size in blocks, including indirect blocks, for each entry. -d If argument is a directory, list only its name, not its contents (mostly used with -l to get status on directory). -r Reverse the order of sort to get reverse alphabetic or oldest first as appropriate. -u Use time of last access instead of last modification for sorting (-t) or printing (-l). -c Use time of last modification to inode (mode, etc.) instead of last modification to file for sorting (-t) or printing (-l). -i Print i-number in first column of the report for each file listed. -f Force each argument to be interpreted as a directory and list the name found in each slot. This option turns off -l, -t, -s, and -r, and turns on -a; the order is the order in which entries appear in the directory. -g Give group ID instead of owner ID in long listing. The mode printed under the -l option contains 11 characters which are interpreted as follows: the first character is d if the entry is a directory; b if the entry is a block-type special file; c if the entry is a character-type special file; - if the entry is a plain file. The next 9 characters are interpreted as three sets of three bits each. The first set refers to owner permissions; the next to permissions to others in the same user-group; and the last to all others. Within each set the three characters indicate permission respectively to read, to write, or to execute the file as a program. For a directory, `execute' permission is interpreted to mean permission to search the directory for a specified file. The permissions are indicated as follows: r if the file is readable; w if the file is writable; x if the file is executable; - if the indicated permission is not granted. The group-execute permission character is given as s if the file has set-group-ID mode; likewise the user-execute permission character is given as s if the file has set-user-ID mode. The last character of the mode (normally `x' or `-') is t if the 1000 bit of the mode is on. See chmod(1) for the meaning of this mode. When the sizes of the files in a directory are listed, a total count of blocks, including indirect blocks is printed. FILES
/etc/passwd to get user ID's for `ls -l'. /etc/group to get group ID's for `ls -g'. LS(1)
Man Page