Arquivo mode.h

Propósito

Define a interpretação de um modo de arquivo.

Descrição

Esta versão do sistema operacional suporta um modo de 32-bit bits, que é dividido em 3 partes. Os 16 bits mais significativos são reservados pelo sistema. Os 16 bits menos significativos definem o tipo de arquivo (S_IFMT) e os bits de permissão. Os 12 bits de permissão podem ser alterados usando a subroutine chmod ou chacl . O tipo de arquivo não pode ser alterado.

Bits de Tipo de Arquivo

O tipo de arquivo determina as operações que podem ser aplicadas no arquivo (incluindo operações implícitas, como pesquisar em um diretório ou seguir um link simbólico). O tipo de arquivo é estabelecido quando o arquivo é criado, e não pode ser alterado. Os seguintes tipos de arquivo são suportados:

Item Descrição
S_IFDIR Define um diretório.
S_IFREG Define um arquivo regular.
S_IFIFO Define um cano.
S_IFCHR Define um dispositivo de caracteres.
S_IFBLK Define um dispositivo de bloco.
S_IFLNK Define um link simbólico.
S_IFSOCK Define um soquete.

A constante de máscara de formato S_IFMT pode ser usada para mascarar um tipo de arquivo a partir do modo.

Arquivo-Bits de Atributos

Os bits de atributo de arquivo afetam a interpretação de um determinado arquivo. Com algumas restrições, os atributos de arquivo podem ser alterados pelo proprietário de um arquivo ou por um usuário privilegiado. Os bits de atributo de arquivo são:

Item Descrição
Atributo Descrição

Bit S_ISUID

Item Descrição
setuid Quando um processo executa um arquivo regular que tem o conjunto de bits S_ISUID bits, o ID do usuário efetivo do processo é configurado para o ID do proprietário do arquivo. O atributo setuid pode ser configurado apenas por um processo em um caminho confiável. Se o arquivo ou suas permissões de acesso forem alterados, o bit S_ISUID será limpo.

Bit de s_ISGID (S_ENFMT)

Item Descrição
setgid Quando um processo executa um arquivo regular que tem o bit S_ISGID bit e o bit de permissão S_IXGRP configurado, o ID do usuário efetivo do processo é configurado para o ID do grupo do arquivo. O atributo setgid pode ser configurado apenas por um processo em um caminho confiável. Se o proprietário estiver estabelecendo esse atributo, o grupo do arquivo deverá ser o ID do grupo efetivo ou no grupo complementar ID do processo. Se o arquivo ou suas permissões de acesso forem alterados, o bit S_ISGID será limpo.
bloqueio forçado Se um arquivo regular tem o conjunto de bits S_ISGID e o bit de permissão S_IXGRP limpo, bloqueios colocados no arquivo com a subroutine lockfx são bloqueios forçados.

Bit S_IFMPX

Item Descrição
multiplexado Um dispositivo de caracteres com o conjunto de bits de atributo S_IFMPX é um dispositivo multiplexado. Este atributo é estabelecido quando o dispositivo é criado.

Bit S_ISVTX

Item Descrição
Adesivos Se um diretório tiver o conjunto de bits S_SVTX , somente o proprietário do arquivo ou o proprietário do diretório pode remover um arquivo do diretório.

Bit S_IXACL

Item Descrição
Lista de controle de acesso Qualquer arquivo que tenha o conjunto de bits S_IXACL pode ter uma lista de controle de acesso estendido (ACL). Especificar este bit ao configurar o modo com o comando chmod faz com que a permissão de bits de permissão no modo seja ignorada. As entradas de ACL estendidas são ignoradas se este bit for limpo. Este bit pode ser implicitamente liberado pela subroutine chmod . O arquivo /usr/include/sys/acl.h define o formato da ACL.

O S_ITCB Bit

Item Descrição
confiável Qualquer arquivo que tenha o conjunto de bits S_ITCB faz parte da Base de Computação Confiável (TCB). Apenas arquivos no TCB podem adquirir privilégio em um caminho confiável. Apenas os arquivos no TCB são executados pelo shell confiável (que é invocado com o comando tsh ). Este atributo pode ser estabelecido ou limpo apenas por um processo em execução no caminho confiável.

S_IJRNL Bit

Item Descrição
Colocado em Diário Qualquer arquivo que tenha o conjunto de bits S_IJRNL é definido como um arquivo journaled. As atualizações em um arquivo jornalado são adicionadas a um log atomicamente. Todos os diretórios e arquivos do sistema possuem o atributo journaled, que não pode ser reajustado.

Bit S_ICRYPTO

Item Descrição
criptografado Qualquer arquivo que tenha o conjunto de bits S_ICRYPTO é um arquivo criptografado em um Sistema de Arquivos de Encrypting (EFS).

Bits De Permissão De Arquivo

O arquivo-permissão bits controla quais processos podem executar operações em um arquivo. Isso inclui bits de leitura, gravação e execução para o proprietário do arquivo, o grupo de arquivos e o padrão. Esses bits não devem ser usados para configurar informações de controle de acesso; a ACL deve ser usada em vez disso. Os bits de permissão de arquivo são:

Item Descrição
S_IRWXU Permite o proprietário de um arquivo para ler, escrever e executar o arquivo.
S_IRUSR Permite o proprietário de um arquivo para ler o arquivo.
S_IREAD Permite o proprietário de um arquivo para ler o arquivo.
S_IWUSR Permite que o proprietário de um arquivo escreva para o arquivo.
S_IWRITE Permite que o proprietário de um arquivo escreva para o arquivo.
S_IXUSR Permite o proprietário de um arquivo para executar o arquivo ou para pesquisar o diretório do arquivo.
S_IEXEC Permite o proprietário de um arquivo para executar o arquivo ou para pesquisar o diretório do arquivo.
S_IRWXG Permite que um grupo de arquivos leia, escreva e execute o arquivo.
S_IRGRP Permite um grupo de arquivo para ler o arquivo.
S_IWGRP Permite que um grupo de arquivos escreva para o arquivo.
S_IXGRP Permite um grupo de arquivo para executar o arquivo ou para pesquisar o diretório do arquivo.
S_IRWXO Permite que outros leiam, escrevem e executem o arquivo.
S_IROTH Permite que outros leiam o arquivo.
S_IWOTH Permite que outros escrevem para o arquivo.
S_IXOTH Permite que outros executem o arquivo ou para pesquisar o diretório do arquivo.