Basta alterar as permissões dos arquivos de forma que todos possam lê-los, mas não alterá-los.
Quando você usa ls -l
para listar seus arquivos, você recebe algo como
ls -l file
-rw-rwxr-- 1 rafael Grp 1620 Aug 18 14:58 file
Esse primeiro conjunto de traços / letras define a permissão de três grupos distintos (mas não exclusivos), ou seja, Usuário (você), Grupo , Outros (ou todos nesta máquina / servidor).
Portanto, o exemplo acima pode ser lido como
- It's a file
rw- Owner may read and write
rwx Others in group may read, write and execute
r-- Other users (not in group) may read
Para evitar que alguém altere seus arquivos, defina-os com
chmod go-w file
Isto irá defini-los para não serem graváveis por ninguém além de você
ls -l file
-rw-r-xr-- 1 rafael Grp 1620 Aug 18 14:58 file
Deixe-me mergulhar nesses traços / letras:
-rw-rwxr-- 1 rafael Grp 1620 Aug 18 14:58 file
O primeiro indica o tipo de arquivo (diretório, link simbólico, pipes nomeados). Então, há três conjuntos de três símbolos, cada conjunto é composto de um r (para read ), um w (para escrever ), e um x (para e x ecute ), ou suas posições preenchidas por um traço, se essa permissão estiver desabilitada .
Seus diretórios devem ter as mesmas permissões, com a adição de "executar" para todos os usuários ("executar" um diretório significa acessar qualquer entrada dentro dele). Se os seus diretórios são graváveis, as entradas podem ser deletadas ou renomeadas.
No comando chmod
, existem três partes, bem como go (significa group e outros), o '-' (sinal de menos) é remover (permissão) e eles vieram o ( lista de) direitos para mudar
Então
chmod u-wx file # prevent you reading the file or executing it
chmod u+wx file # permit you to read nte file or execute it
chmod ug+rx file # permit you and your group to read or execute it
chmod ugo-rwx file # permit no access, for anybody
Uma última nota
chmod
também suporta -R
, para recursão, portanto, se você tiver um diretório chamado myDir:
chmod -R go-w myDir # protect everything in that directory and its sub directories/files
chmod -R go+rX myDir # grant reading access in that directory and its sub directories/files
Deve fazer o truque.
Obrigado por perguntar, e espero que possa ajudar os outros também!