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. |