Uma permissão é uma autorização: sem permissão, a acção não pode ser executada.
Essas permissões, para os ficheiros, são as de
Para as pastas são outras, mas semelhantes: as de
As permissões são dadas em relação a três tipos de utilizadores: o proprietário (owner, user), um grupo de utilizadores (group), e os outros utilizadores (other). A mnemónica é (H)ugo.
O user ou owner é, regra geral, o utilizador ou serviço do sistema que criou o ficheiro ou pasta. Apenas o owner de um ficheiro ou pasta lhe pode mudar as permissões.
Os grupos de utilizadores podem ser não só grupos de trabalho, mas grupos que usam um dados recurso, como a impressora.
Fica assim que entre grupos e permissões estas se dividem em nove, cada uma com um valor de sim ou não:
| Ler | Escrever | Executar | |
|---|---|---|---|
| Utilizador (Owner) | |||
| Grupo | |||
| Outros |
Tudo isto aqui é muito interessante, mas duvido que queira usar a consola de Unix ou que venha a ter necessidade de usar as permissões a este nível. Se quiser passar por cima disto sem ver, clique aqui.
O comando ls -l organiza os dados de permissões dos ficheiros e pastas numa só cadeia literal:
-rwxr-xr-x 1 jmccm jmccm 75 2008-09-17 16:56 hello.sh drwxr-xr-x 2 jmccm jmccm 12288 2008-11-03 12:22 Imagens -rwxr--r-- 1 jmccm jmccm 7545 2008-11-03 12:46 index.htm drwxrwxr-- 1 jmccm stuff 20050 2008-10-26 11:22 Cartas
Esta surge logo no início dos resultados produzidos pelo comando, com o aspecto "-rwxr-xr-x". Na segunda coluna, segue-se-lhe um número misterioso para nós (hard links), na terceira coluna quem é o user/owner e na quarta coluna qual é o grupo (stuff para Cartas).
No caso acima:
Note que criei os nomes das pastas com maiúscula inicial e os dos ficheiros em minúscula. Esta convenção era habitual. Pode ou não ser-lhe útil; talvez não.
O comando que permite mudar as permissões é o chmod. Vai achar útil usar com ele, como já foi dito, os comandos ls e cd. Se lhe propuserem estudar o comando chmod com os modos octais, ignore completamente: é desnecessário e é abstruso.
Não tem nada que saber. Na sua pasta de login (aquela onde vai ter quando faz entra no sistema) crie uma pasta, e chame-lhe pub, public, publico, etc..., algo que permita aos outros encontrá-la. Clique no ícone com o botão direito, escolha Propriedades, separador Permissões e mude-lhe as permissões de grupo e outros para rwx. Pronto.
Note que o nome não tem nada de mágico. Podia chamar a pasta Escaravelho e depois mudar-lhe as permissões para a tornar pública. Os outros utilizadores poderiam era ficar confusos sobre onde lhe deixar ou ir buscar ficheiros.
A pasta pública serve para outra pessoa lhe pôr ficheiros à disposição. Se não tiver uma pasta com direitos rwx (read, write, execute) para outros, eles não lhe podem entregar ficheiros.
Outra coisa a reter, quando quiser enviar uma pasta sua (de que seja o owner) para qualquer local fora das suas pastas, é que deve atribuir direitos de leitura e escrita (eventualemente execução) para grupo e outros. Só você, o owner, pode mudar os direitos dos seus ficheiros. Se entregar um ficheiro a alguém, mas sem lhe dar permissão de leitura, vai ter uma pessoa muito irritada.