Primeira versão | 3 de novembro de 1971 |
---|---|
Modelo | Utilitário UNIX ( d ) |
chmod (abreviação de ch ange mod e ) é uma chamada de sistema do UNIX ( padrão POSIX ) e o comando correspondente para alterar as permissões de um arquivo ou diretório .
Este comando apareceu pela primeira vez no AT&T UNIX versão 1.
Um usuário tem o direito de chmod um arquivo:
As opções passadas para o comando chmod são indicadas assim:
chmod options modes fichiers
Para um arquivo: chmod [u g o a] [+ - =] [r w x] nom_du_fichier
Para o conteúdo de um diretório (recursivamente): chmod -R [u g o a] [+ - =] [r w x] nom_du_répertoire
chmodtem várias opções que podem modificar o resultado. Algumas dessas opções são:
Para cada arquivo fornecido, as permissões se aplicam ao proprietário do arquivo (código 'u' como usuário ), ao grupo de usuários do arquivo ('g' como grupo ) ou a outros usuários ('o' como outros ). Para aplicar as alterações a todos de uma vez, usamos o código 'a' como todos :
Os modos podem ser especificados de duas maneiras, com letras ou com números octais . Para cartas, existem os operadores de mudança de estado +e -para adicionar ou remover um tipo de direito aos direitos atuais, e o operador =para substituí-los. Para o octal, você deve somar os números de cada tipo de proprietário.
As permissões são (valores octais entre parênteses):
Correspondência de representação de direitos | |||
---|---|---|---|
Lei | Valor alfanumérico | Valor octal | Valor binário |
não certo | --- | 0 | 000 |
execução apenas | --x | 1 | 001 |
apenas escrevendo | -w- | 2 | 010 |
escrevendo e atuando | -wx | 3 | 011 |
somente leitura | r-- | 4 | 100 |
ler e executar | r-x | 5 | 101 |
leitura e escrita | rw- | 6 | 110 |
todos os direitos (ler, escrever e executar) | rwx | 7 | 111 |
Existem três modos especiais comumente usados: o bit sticky (denotado t) e os bits SETUID e SETGID (denotado s).
chmod existe na biblioteca C padrão . Ele tem a mesma função do comando Unix.
int chmod(const char *path, int amode) ;Ou :
A diferença entre chmod e fchmod é que chmod leva o caminho para o arquivo como um argumento (que pode ser lido por humanos, por exemplo: /tmp/toto.txt ), enquanto fchmod leva o descritor de arquivo como um argumento.
O chmod existe nas bibliotecas Perl para alterar as permissões de uma lista de arquivos. O segundo parâmetro deve ser o valor octal. A função retorna o número de arquivos atribuídos com sucesso.
$cnt = chmod 0644, 'fichier1', 'fichier2'; $cnt = chmod 0644, @liste;chmod existe na biblioteca PHP padrão . Tem a mesma função do comando Unix e os mesmos parâmetros da função C.
No MS-DOS e no Windows , o utilitário attribpermite alterar determinados atributos (leitura, gravação, ocultação, sistema) de arquivos, não vinculados ao proprietário.
No Windows NT , caclsé o utilitário de linha de comando mais completo equivalente a chmode chown .