Ao listar um arquivo com o comando:
$ ls -l arquivo.ext
Ele mostrará:
Tipo Dono Grupo Outros Arquivo
- --- --- --- arquivo.extensão
Onde:
r - Significa permissão de leitura ( read );
w - Significa permissão de gravação ( write );
x - Significa permissão de execução ( execution );
- - Significa permissão desabilitada.
• O primeiro dígito determina o tipo de arquivo,
• os três seguintes a permissão do dono do arquivo,
• os três do meio a permissão do grupo que o arquivo pertence
• e os últimos a permissão de outros usuários.
A regra para a permissão sempre será:
--- - Nenhuma permissão;
r-- - Permissão de leitura; ( read )
r-x - Leitura e execução; ( read – execute )
rw- - Leitura e gravação; ( read – write )
rwx - Leitura, gravação e execução. ( read – write – execute )
As permissões para melhor entendimento se tratando das numéricas são:
Permissão Binário Decimal
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
Cmd Nr Permissão Status
==============================================
chmod 000 --------- Nenhuma
chmod 400 r-------- Leitura apenas para o dono
chmod 444 r--r--r-- Leitura para o dono, grupo e outros
chmod 600 rw------- Leitura e gravação apenas para o dono
chmod 620 -rw--w---- Leitura e gravação para o dono, gravação para o grupo
chmod 640 -rw-r----- Leitura e gravação para o dono, e leitura para o grupo
chmod 644 rw-r--r-- Leitura e execução para o dono, leitura para o grupo e leitura para outros
chmod 645 -rw-r--r-x Leitura e gravação para o dono, leitura para o grupo e leitura e execução para outros
chmod 646 -rw-r--rw- Leitura e gravação para o dono, leitura para o grupo e leitura e gravação para outros
chmod 650 -rw-r-x--- Leitura e gravação para o dono e leitura e execução para o grupo
chmod 660 -rw-rw---- Leitura e gravação para o dono e leitura e gravação para o grupo
chmod 661 -rw-rw---x Leitura e gravação para o dono, leitura e gravação para o grupo e execução para outros
chmod 662 -rw-rw--w- Leitura e gravação para o dono, leitura e gravação para o grupo e gravação para outros
chmod 663 -rw-rw--w-x Leitura e gravação para o dono, leitura e gravação para o grupo e leitura e execução para outros
chmod 664 -rw-rw-r-- Leitura e gravação para o dono, leitura e gravação para o grupo e leitura para outros
chmod 700 -rwx------ Leitura gravação e execução para o dono e nada para os demais
chmod 770 -rwxrwx--- Leitura e gravação e execução para o dono, leitura gravação e execução para o grupo e nada para outros
chmod 777 -rwxrwxrwx Permissão total para dono, grupo e outros
Podemos também dar permissão através de letras, eu particularmente por questão de padronização dou por números, mas para maior entendimentos, por letras ficaria assim:
U Usuário
G Grupo
O Outros
+ Adicionar permissão
- Remover permissão
= Igualdade
Exemplos:
$ chmod u+w arquivo.ext
O "u" indica o usuário, o sinal de adição (+) indica que está sendo adicionada a permissão e "w" indica que a permissão que está sendo dada é de gravação.
$ chmod g+rw arquivo.ex
Leitura e execução para o grupo.
$ chmod u+rwx arquivo.ext
Aqui estamos dando permissão total para o dono do arquivo.
Aconselho os leitores desse texto criarem arquivos de teste com o comando "touch teste.txt" e testar todas as permissões para melhor entendimento.
Aprender permissão não é apenas decorar e sim exercitar sempre. Em 90% das configurações, a maior atenção precisa ser dada nas permissões, por isso devemos estar sempre atentos com ela.
Usar o comando abaixo para definir permissão para as sub-diretórios que estão dentro do diretório www
Exemplo:
(permissão mínima para scripts & programas www)
# chmod 755 [arquivo]
# chmod 755 pasta ou # chmod 755 –R *
# chmod 644 arq
Ou
Para todos os arquivos e sub-diretórios
# chmod -R 644 *
Permitindo acesso externo via FTP
Um amigo acessará o servidor para me ajudar ajustar um código feito em PHP. Adicionaremos um usuário de nome amigo e este poderá alterar somente arquivos dentro do diretório chamado amigo e os demais diretórios estarão protegidos.
Quando adicionamos um usuário ( amigo ) no sistema, automaticamente é criado um sub-diretório de nome amigo dentro da home.
# adduser amigo
Adding user `amigo' ...
Adding new group `amigo' (1009) ...
Adding new user `amigo' (1008) with group `amigo' ...
Creating home directory `/home/amigo' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for amigo
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
# ls -l
drwxr-xr-x 2 amigo amigo 4096 2012-09-30 11:10 amigo
Se precisar remover um usuário e o respectivo diretório que é criado automaticamente quando é criado um usuário, use o comando:
#userdel –r amigo
Configurando Filezilla para acessar conta
Como no arquivo abaixo há restrições para os usuários, precisaremos adicionar o usuário amigo para que este possa acessar.
# nano /etc/proftpd/proftpd.conf
<Limit LOGIN>
AllowUser jura jp amigo
DenyALL
</Limit>
<Global>
ServerIdent off
MaxClients 3
MaxLoginAttempts 3
RootLogin off
</Global>
Vamos reiniciar o serviço.
# /etc/init.d/proftpd restart
Stopping ftp server: proftpd.
Starting ftp server: proftpdlocalhost - 127.0.0.1:50000 masquerading as 187.4.229.187
Acessando o diretório com o Filezilla
Arquivos copiados com sucesso.
Criando alias.
# nano /etc/apache2/sites-enabled/000-default
# Atalho para acessar pasta do usuario jp no home
Alias /a1 /home/jp/a1
Alias /amigo /home/amigo
</VirtualHost>
Reinicar o apache.
# /etc/init.d/apache2 reload
Testando ...
http://www.juralinux.com.br/amigo/index.php
Se o usuário amigo tentar criar pastas, mudar arquivos etc… este não terá acesso...
===[ www ]===
Ou podemos criar um diretório em /var/www ( no apache ), mas precisaremos mudar o dono para o mesmo usuário.
# cd /var/www
# ls -l
# mkdir cadastro1
# ls –l
drwxr-xr-x 2 root root 4096 2012-09-30 10:09 cadastro1
Vamos mudar o dono root para o usuário amigo
# chown -R amigo:amigo cadastro1/
# ls –l
drwxr-xr-x 2 amigo amigo 4096 2012-09-30 10:55 cadastro1
Veja abaixo a transferência com sucesso.
# cd /var/www/audios
# ls -l
total 48
drwxrwxrwx 2 root root 4096 2012-06-26 21:51 0_intro
drwxrwxrwx 2 root root 4096 2012-06-26 21:46 1_interchange
drwxrwxrwx 2 root root 4096 2012-06-26 21:49 2_interchange
drwxrwxrwx 2 root root 4096 2012-08-09 17:21 3_interchange
drwxr-xr-x 2 ewb ewb 4096 2012-06-26 14:41 dlf
-rw-r--r-- 1 ewb ewb 16056 2012-08-15 20:27 index.php
drwxr-xr-x 14 ewb ewb 4096 2012-07-07 15:40 songs
drwxr-xr-x 2 ewb ewb 4096 2012-07-07 18:44 videos
Mudando o usuário root para ewb
# chown -R jura:jura*
# ls -l
total 48
drwxrwxrwx 2 jura jura 4096 2012-06-26 21:51 0_intro
drwxrwxrwx 2 jura jura 4096 2012-06-26 21:46 1_interchange
drwxrwxrwx 2 jura jura 4096 2012-08-15 19:27 1_interchange_1_self_study
drwxrwxrwx 2 jura jura 4096 2012-06-26 21:49 2_interchange
drwxrwxrwx 2 jura jura 4096 2012-08-09 17:21 3_interchange
drwxr-xr-x 2 jura jura 4096 2012-06-26 14:41 dlf
-rw-r--r-- 1 jura jura 16056 2012-08-15 20:27 index.php
drwxr-xr-x 14 jura jura 4096 2012-07-07 15:40 songs
drwxr-xr-x 2 jura jura 4096 2012-07-07 18:44 videos
Compare as permissões acima e abaixo...
# chmod -R 644 *
# ls -l
total 48
drw-r--r-- 2 jura jura 4096 2012-06-26 21:51 0_intro
drw-r--r-- 2 jura jura 4096 2012-06-26 21:46 1_interchange
drw-r--r-- 2 jura jura 4096 2012-08-15 19:27 1_interchange_1_self_study
drw-r--r-- 2 jura jura 4096 2012-06-26 21:49 2_interchange
drw-r--r-- 2 jura jura 4096 2012-08-09 17:21 3_interchange
drw-r--r-- 2 jura jura 4096 2012-06-26 14:41 dlf
-rw-r--r-- 1 jura jura 16056 2012-08-15 20:27 index.php
drw-r--r-- 14 jura jura 4096 2012-07-07 15:40 songs
drw-r--r-- 2 jura jura 4096 2012-07-07 18:44 videos
------------------------------------------------------------------------------------------------------------------------
===[ Sharing Knowledge ]=== - Obrigado - Thank you - Danke - Merci - Grazie - Gracias - arigatou gozaimasu
“We make a living by what we get, but we make a life by what we give.” - Give and you will receive - just share :)
------------------------------------------------------------------------------------------------------------------------
“We make a living by what we get, but we make a life by what we give.” - Give and you will receive - just share :)
------------------------------------------------------------------------------------------------------------------------
Nenhum comentário:
Postar um comentário