putdevattr Subroutine
Propósito
Modifica as informações de segurança do dispositivo no banco de dados de dispositivos privilegiados.
Biblioteca
Biblioteca de segurançalibc.a)
Sintaxe
Descrição
A sub-rotina putdevattr grava um atributo especificado no banco de dados do dispositivo. Se o banco de dados não estiver aberto, esta subroutine faz um aberto implícito para leitura e escrita. Os dados alterados pelas sub-rotinas putdevattr e putdevattrs devem ser confirmados explicitamente chamando a sub-rotina putdevattr com um parâmetro Type especificando SEC_COMMIT. Até que todos os dados sejam confirmados, somente as sub-rotinas dentro do processo retornam os dados gravados.
Novas entradas nos bancos de dados de dispositivos devem ser criadas primeiro invocando a sub-rotina putdevattr com o tipo SEC_NEW.
As alterações feitas no banco de dados de dispositivos privilegiados não afetam as considerações de segurança até que todo o banco de dados seja enviado para as tabelas de segurança do kernel por meio do dispositivo setkst ou até que o sistema seja reinicializado.
Parâmetros
| Item | Descrição |
|---|---|
| Dispositivo | O nome do dispositivo. O valor deve ser o caminho completo para o dispositivo no sistema. Esse parâmetro deve ser especificado, a menos que o parâmetro Type seja SEC_COMMIT. |
| Atributo | Especifica que atributo é escrito. Os seguintes atributos possíveis são definidos no arquivousersec.h :
|
| Valor | Especifica um buffer, um ponteiro para um buffer ou um ponteiro para um ponteiro, dependendo dos parâmetros Attribute e Type. Consulte o parâmetro Type para obter mais detalhes. |
| Tipo | Especifica o tipo de atributo esperado. Os tipos válidos são definidos no arquivo usersec.h e incluem:
|
Segurança
| Arquivo | Modo |
|---|---|
| /etc/security/privdevs | rw |
Valores De Retorno
Se for bem-sucedida, a sub-rotina putdevattr retornará zero. Caso contrário, um valor de -1 é retornado e o valor global errno é definido para indicar o erro.
Códigos De Erro
Se a sub-rotina putdevattr falhar, um dos seguintes valores errno poderá ser definido:
| Item | Descrição |
|---|---|
| EINVAL | O parâmetro Device é NULL e o parâmetro Type não é SEC_COMMIT. |
| EINVAL | O parâmetro Device é padrão ou ALL. |
| EINVAL | O parâmetro Attribute não contém um dos atributos definidos ou é NULL. |
| EINVAL | O parâmetro Type não contém um dos valores definidos. |
| EINVAL | O parâmetro Value não aponta para um buffer válido ou para dados válidos para esse tipo de atributo. |
| ENOENTE | O dispositivo especificado pelo parâmetro Device não existe. |
| EPERM | A operação não é permitida. |