Sobes.tech
Junior

Como alterar as permissões de acesso a um ficheiro?

sobes.tech IA

Resposta da IA

Nos sistemas Linux/Unix, existem três tipos de permissões: leitura (read), escrita (write) e execução (execute), bem como três categorias de utilizadores: proprietário do ficheiro (owner), grupo (group) e outros (others).

As permissões podem ser alteradas usando o comando chmod.

1. Método numérico:

# r=4, w=2, x=1
# Cada dígito corresponde à soma das permissões para o proprietário, grupo e outros respetivamente
# Por exemplo: 777 (rwx para todos), 755 (rwx para proprietário, rx para grupo e outros)
chmod 755 nome_ficheiro

2. Método simbólico:

# u (proprietário), g (grupo), o (outros), a (todos - ugo)
# +, - (adicionar/remover permissão), = (definir permissões específicas)
# r (read), w (write), x (execute)
chmod u+x nome_ficheiro         # Adicionar permissão de execução ao proprietário
chmod g-o-w nome_ficheiro      # Remover permissão de escrita para grupo e outros
chmod a=rw- nome_ficheiro       # Definir permissões de leitura e escrita para todos, removendo x

Exemplos:

  • Tornar um ficheiro executável apenas para o proprietário:
    chmod u+x nome_ficheiro
    
  • Definir permissões de leitura e escrita para o proprietário, leitura para o grupo e outros:
    chmod 644 nome_ficheiro
    

Opções adicionais:

  • -R: alteração recursiva de permissões (para diretórios e seu conteúdo).
    chmod -R 755 nome_diretorio
    

As permissões de acesso podem ser visualizadas com o comando ls -l.

# Exemplo de saída do ls -l
# -rwxr-xr-x 1 utilizador grupo 1024 11 Nov 10:00 nome_ficheiro

Onde:

  • O primeiro carácter - indica que é um ficheiro. d indica um diretório.
  • Os três caracteres seguintes (rwx) são as permissões para o proprietário.
  • Os três caracteres seguintes (r-x) são as permissões para o grupo.
  • Os últimos três caracteres (r-x) são as permissões para os outros.