Android

Como alterar recursivamente as permissões do arquivo no linux

Comando chmod - Alterar permissões pelo terminal - Linux

Comando chmod - Alterar permissões pelo terminal - Linux

Índice:

Anonim

O Linux é um sistema multiusuário, e o acesso aos arquivos é controlado pelas permissões, atributos e propriedade do arquivo. Isso garante que apenas usuários e processos autorizados possam acessar arquivos e diretórios.

Para obter mais informações sobre permissões de arquivo, consulte "Comando Umask no Linux"., explicaremos como alterar recursivamente as permissões de arquivos e diretórios.

Chmod Recursive

O comando chmod permite alterar as permissões de arquivos usando o modo simbólico ou numérico.

Para operar recursivamente em todos os arquivos e diretórios em um determinado diretório, use o comando chmod com a opção -R , ( --recursive ). A sintaxe geral para alterar recursivamente as permissões do arquivo é a seguinte:

chmod -R MODE DIRECTORY

Por exemplo, para alterar as permissões de todos os arquivos e subdiretórios no diretório /var/www/html para 755 você usaria:

chmod -R 755 /var/www/html

O modo também pode ser especificado usando o método simbólico:

chmod -R u=rwx, go=rx /var/www/html

Somente o root, o proprietário do arquivo ou o usuário com privilégios de sudo podem alterar as permissões de um arquivo. Tenha muito cuidado ao alterar recursivamente as permissões dos arquivos.

Usando o comando find

Em geral, os arquivos e diretórios não devem ter as mesmas permissões. A maioria dos arquivos não requer a permissão de execução, enquanto você deve definir permissões de execução nos diretórios para mudar para eles.

O cenário mais comum é alterar recursivamente as permissões do arquivo do site para 644 e as permissões do diretório para 755 .

Usando o método numérico:

find /var/www/html -type d -exec chmod 755 {} ; find /var/www/html -type f -exec chmod 644 {} ;

Usando o método simbólico:

find /var/www/html -type d -exec chmod u=rwx, go=rx {} ; find /var/www/html -type f -exec chmod u=rw, go=r {} ;

O comando find procura por arquivos ou diretórios em /var/www/html e passa cada arquivo ou diretório encontrado para o comando chmod para definir as permissões.

Ao usar o find com -exec , o comando chmod é executado para cada entrada encontrada. Use o comando xargs para acelerar a operação passando várias entradas de uma vez:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

Conclusão

O comando chmod com as opções -R permite alterar recursivamente as permissões do arquivo.

Para definir recursivamente as permissões dos arquivos com base em seu tipo, use chmod em combinação com o comando find .

terminal chmod