Árvore de páginas

Altera as permissões de um arquivo.

Sintaxe

CHMOD( < cFileName >, < nFileMode >, [ uParam3 ], [ lChangeCase ] )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

cFileName

caractere

Indica o nome do arquivo no qual se deseja alterar suas propriedades (atributos) do sistema.

X

 

nFileMode

numérico

Indica a permissão que será atribuída ao proprietário, grupo ou representante do arquivo indicado no parâmetro <cFileName>.

X

 

uParam3

numérico

Parâmetro de compatibilidade. Passar Nil.

 

 

lChangeCase

lógico

Se verdadeiro (.T.), nomes de arquivos e pastas serão convertidos para letras minúsculas; caso contrário, falso (.F.), não será feito nenhum ajuste no nome do arquivo informado. Valor padrão (.T.). Veja maiores informações em Observações.

 

 

Retorno

Nome

Tipo

Descrição

lRet

lógico

Retorna verdadeiro (.T.), se a alteração da restrição for realizada com sucesso; caso contrário, falso (.F.).

Observações

  • O parâmetro opcional lChangeCase foi introduzido a partir do build 7.00.131227A pois em sistemas LINUX/UNIX, existe a diferenciação entre maiúsculo e minúsculo em nomes de arquivos ou pastas. Quando este parâmetro for informado, terá prioridade sobre comportamento de Case Sensitive definido pelas chaves de ini CASESENSITIVE ou SERVERTYPE. Porem, quando não especificado o parâmetro, o valor padrão (.T.) fica condicionado ao que está configurado nessas chaves.
  • Essa função era executada apenas em ambiente Linux/Unix. No entanto, para builds superiores a 7.00.101202A, está função também poderá ser utilizada em ambiente Windows, porém com parametrização diferenciada. Veja maiores detalhes em Informações Adicionais.
    O parâmetro <nFileMode>, consiste em três números, em octal, que especifica as restrições de acesso para o proprietário, grupo de usuário do proprietário e finalmente qualquer outro, nessa ordem.
    Cada número pode ser calculado pela adição das permissões necessárias para o alvo. Observe:

    Número

    Descrição

    1

    Direito de execução

    2

    Direito de escrita

    4

    Direito de leitura

Para obter mais informações sobre os modos no sistema Linux/Unix, consulte man chmod(1) e man chmod(2).

Mais Informações
Em ambiente Windows, a função CHMOD() apenas permite alterar a propriedade "somente leitura" ( read-only ) de um arquivo. Para remover o flag "somente leitura", dando direitos de escrita no arquivo, devemos informar o número 2 no parâmetro <nFileMode>, e para setar o flag "somente leitura", impedindo a escrita no arquivo, deve-se informar o número 4 em <nFileMode>.

Exemplos

User Function Exemplo(cFileName)
  CHMOD( cFileName , 666 ) // Em linux, direitos de escrita e leitura.
  CHMOD( cFileName, 2 )  // Em windows, direito de escrita ( Remove flag de "somente leitura" caso esteja setado )
Return

Abrangência

Microsiga Protheus 8.11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

Veja também

  • Sem rótulos