chmod u+x
chmod u+x arquivo liga o bit de execução do dono (u) e não muda mais nada, então um arquivo 644 vira 744 e um 600 vira 700, qualquer que seja o seu umask.
Resultado em modos de partida comuns
| Antes | Depois |
|---|---|
644 rw-r--r-- | 744 rwxr--r-- |
600 rw------- | 700 rwx------ |
664 rw-rw-r-- | 764 rwxrw-r-- |
640 rw-r----- | 740 rwxr----- |
444 r--r--r-- | 544 r-xr--r-- |
Como ler o operador
Um modo simbólico é quem, operador, permissões. Quem é qualquer combinação de u (o dono), g (o grupo), o (outros) ou a (os três). O operador é + para adicionar, - para remover ou = para definir exatamente. As permissões são r, w, x, além de X, s e t.
Como o u+x indica a classe de forma explícita, o umask não entra na conta: o chmod só aplica o filtro do umask quando a parte do quem é omitida, como no +x simples.
chmod u+x script.sh # o dono pode rodar
chmod u+x,go-rwx script.sh # e mais ninguém mexe (700)
chmod u-x script.sh # desfazQuando execução só para o dono é o objetivo
Scripts pessoais em ~/bin, tarefas do cron que rodam com o seu usuário e scripts que colegas não devem disparar por engano. Lembre que quem lê um script consegue rodá-lo pelo interpretador; se o código é sensível, tire também a leitura de grupo e outros (chmod 700).
Perguntas frequentes
- O que significa chmod u+x?
- u é o dono do arquivo, + adiciona, x é execução: dar ao dono permissão para rodar o arquivo e deixar todos os outros bits como estão.
- Qual o equivalente numérico de chmod u+x?
- Não existe um só, porque o u+x é relativo ao modo atual. Num arquivo 644 o resultado é 744; em 600 é 700; em 664 é 764.
- O u+x é afetado pelo umask?
- Não. Só modos simbólicos sem lista de usuários (como +x ou -w) passam pelo filtro do umask.
Revisado em por Arielton Oberek.