Usando Notação Simbólica para Permissões
Embora a notação numérica seja concisa, a notação simbólica pode ser mais intuitiva, especialmente quando você deseja alterar apenas uma única permissão. A notação simbólica usa letras para representar o usuário, grupo e outros, e operadores para adicionar ou remover permissões.
Primeiro, vamos criar um novo arquivo de script com algum conteúdo:
cd ~/project
echo '#!/bin/bash\necho "Hello, World"' > script.sh
Este comando faz duas coisas:
- Cria um novo arquivo chamado
script.sh. A extensão .sh é comumente usada para scripts de shell. Scripts de shell são arquivos executáveis que contêm uma série de comandos que são executados em sequência.
- Escreve duas linhas neste arquivo:
#!/bin/bash (chamado de shebang) informa ao sistema que este é um script bash. A linha shebang especifica o interpretador que deve ser usado para executar o script. Neste caso, é o /bin/bash, que é o caminho para o interpretador Bash.
echo "Hello, World" é um comando que imprimirá "Hello, World" quando o script for executado. O comando echo simplesmente exibe o texto que o segue.
\n é um caractere de nova linha, garantindo que os comandos fiquem em linhas separadas no arquivo.
Agora, vamos verificar suas permissões iniciais:
ls -l script.sh
Você deve ver algo como:
-rw-rw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
Como você pode ver, inicialmente, o script tem apenas permissões de leitura e gravação para o proprietário e grupo, e permissão de leitura para outros. Ele não possui permissão de execução, que é necessária para executá-lo como um programa.
Vamos tentar executar o script:
./script.sh
Você deve ver um erro de "Permissão negada" porque o script ainda não tem permissões de execução. A parte ./ instrui o shell a executar o script localizado no diretório atual.
Agora, vamos adicionar permissão de execução para o proprietário usando a notação simbólica:
chmod u+x script.sh
Neste comando:
u refere-se ao usuário (user/proprietário). Outras opções são g para grupo, o para outros e a para todos (usuário, grupo e outros).
+x adiciona a permissão de execução. O símbolo + adiciona uma permissão, enquanto o símbolo - remove uma permissão.
Portanto, u+x significa "adicionar permissão de execução para o proprietário".
Vamos verificar a alteração:
ls -l script.sh
Agora você deve ver:
-rwxrw-r-- 1 labex labex 32 Jul 29 16:30 script.sh
O proprietário agora tem permissões rwx (leitura, gravação e execução).
Agora, vamos tentar executar o script novamente:
./script.sh
Desta vez, você deve ver a saída: "Hello, World"
Este exemplo demonstra claramente por que precisamos adicionar permissões de execução a scripts e a diferença antes e depois de adicionar essas permissões. A notação simbólica facilita a modificação de permissões específicas sem a necessidade de recalcular toda a representação numérica.