Структура STAT - FUSE
Primary tabs
Forums:
Струкура stat (struct stat) содержит следующие поля (формат : тип+имя поля+описание):
- dev_t st_dev ID of device containing file
- ino_t st_ino inode number
- mode_t st_mode file permissions and type
- nlink_t st_nlink number of hard links
- uid_t st_uid user ID of file owner
- gid_t st_gid group ID of file owner
- dev_t st_rdev device ID (for special files)
- off_t st_size total size, in bytes
- blksize_t st_blksize block size for filesystem I/O
- blkcnt_t st_blocks number of blocks allocated
- time_t st_atime time of last access
- time_t st_mtime time of last modification
- time_t st_ctime time of last status change
Поле модификации st_mode имеет следующие определённые флаги (могут служить значением для поля как вместе - так и в объединении) - формат описания флагов далее следующий = имя флага + его восьмеричное значение + описание:
- S_IFMT 0170000 bitmask for the file type bitfields
- S_IFSOCK 0140000 socket
- S_IFLNK 0120000 symbolic link
- S_IFREG 0100000 regular file
- S_IFBLK 0060000 block device
- S_IFDIR 0040000 directory
- S_IFCHR 0020000 character device
- S_IFIFO 0010000 FIFO
- S_ISUID 0004000 set UID bit
- S_ISGID 0002000 set-group-ID bit (see below)
- S_ISVTX 0001000 sticky bit (see below)
- S_IRWXU 00700 mask for file owner permissions
- S_IRUSR 00400 owner has read permission
- S_IWUSR 00200 owner has write permission
- S_IXUSR 00100 owner has execute permission
- S_IRWXG 00070 mask for group permissions
- S_IRGRP 00040 group has read permission
- S_IWGRP 00020 group has write permission
- S_IXGRP 00010 group has execute permission
- S_IRWXO 00007 mask for permissions for others (not in group)
- S_IROTH 00004 others have read permission
- S_IWOTH 00002 others have write permission
- S_IXOTH 00001 others have execute permission
The set-group-ID bit (S_ISGID) has several special uses. For a directory it indicates that BSD semantics is to be used for that directory: files created there inherit their group ID from the directory, not from the effective group ID of the creating process, and directories created there will also get the S_ISGID bit set. For a file that does not have the group execution bit (S_IXGRP) set, the set-group-ID bit indicates mandatory file/record locking.
The `sticky' bit (S_ISVTX) on a directory means that a file in that directory can be renamed or deleted only by the owner of the file, by the owner of the directory, and by a privileged process.
- Log in to post comments
- 3277 reads