Powered By Blogger

Translate

quinta-feira, 23 de setembro de 2010

Permissões Part.01

A primeira coisa que temos que entender quando falamos em controlar os acessos, são as permissões.

Permissão, antes de tudo, é o que o usuário pode ou não fazer quando está logado no sistema.
Quando executamos o comando:

# ls -ld /fls/private/
# ls -ld /fls/private/drwxr-xr-x 4 root user 4096 Ago 20 08:36 /fls/private
Na saída do comando acima, temos várias informações sobre o diretório /home/user, mas o que vamos analisar nessa saída, são as permissões do diretório, representadas pela sopa de letrinhas drwxr-xr-x
Na tabela acima temos as permissões que podemos designar para os usuários (rwx) e as pessoas que vão usar as permissões (ugo).
Bem, vamos lá… essa sopa de letrinhas que comentei acima, é a responsável por definir o que é chamado de permissão no Linux. Isso quer dizer que, esse conjunto de letras, irá permitir que usuários possam gravar, ler, ou entrar em um diretório!
No Linux, qualquer arquivo ou diretório precisa ter um dono, um grupo e permissões; ou seja, vamos ter 3 permissões e 3 pessoas que vão usar essas permissões.


Isso quer dizer que sempre temos que falar se o usuário (u), poderá ler, escrever ou executar um arquivo ou diretório. Ou ainda, se o grupo (g) desse diretório vai poder ler, escrever, ou executar o arquivo ou diretório. E por último, se os outros (o), vão poder ler, escrever ou executar esse arquivo ou diretório.
Lembrando aqui que outros (other), são os usuários cadastrados no sistema que não fazem parte do grupo e nem são os donos arquivo ou diretório!
Para mudar as permissões, usamos o comando chmod (change mode). Vamos aprender a usar esse comando. Eu comentei que damos permissão para 3 pessoas: user, group, other e que temos 3 tipos de permissões: read, write, executable.
Sabendo disso, precisamos apenas configurar as permissões que queremos para as pessoas. Ah,e detalhe… cada bloquinho de rwx, representa permissão para alguém! Exemplo:

fb:/tmp# touch file.txt
fb:/tmp# ls -l file.txt

-rw-r--r-- 1 root root 0 Set 23 09:47 file.txt

Parte.02

Acima, apenas criamos um arquivo no diretório /tmp.Vamos analisar as permissões: rw-r–r– .
Como falei, cada bloquinho de rwx indica a permissão para alguém… Então, se separarmos as permissões do arquivo que acabamos de criar temos:



Nas permissões acima, o dono (owner) terá permissão de leitura (r) e gravação (w). O grupo (g) e os outros (o) terão permissão somente de leitura (r).
Agora, vamos mudar as permissões do arquivo.txt:

# chmod u=rwx,g=rw,o=r arquivo.txt

# ls -l arquivo.txt
-rwxrw-r– 1 root root 0 2009-01-28 05:54 arquivo.txt

Acima, apenas dissemos que o dono (u) tem permissão total, leitura(r), gravação(w) e execução (x); o grupo tem permissão de leitura (r) e gravação (g) e o resto do povo, isto é, os outros (o) tem apenas permissão de leitura (r).
E onde tem os tracinhos ‘-‘, quer dizer que não tem permissão nenhuma!
Essa forma de dar permissões (usando letras) é chamada de literal; e usa operadores aritméticos… No exemplo, usei o ‘=’; mas além dele temos:
= Aplique exatamente assim
+ Adicionar mais essa
- Tirar essa

Parte.03

Agora, pensando no diretório private, que falei logo no início do post. O pessoal que faz parte do grupo private, deve ter permissão para entrar, ler e escrever nesse diretório! Mas o usuário fabio e qualquer outra pessoa que não faz parte do grupo, nem pode ver o que tem lá dentro!
Por padrão, a permissão para qualquer diretório criado é rwxr-xr-x. Então, os usuários que fazem parte do grupo private, só podem entrar e ler o conteúdo do diretório. Vamos fazer um teste tentando criar um arquivo dentro do diretório private com o usuário fabio:

$ whoami
fabio

fb:~$ cd /fls/private/

$ touch fabio.txt
touch: cannot touch `fabio.txt’: Permissão negada


Bem, o fabio, apesar de fazer parte do grupo private, não conseguiu criar um arquivo dentro do diretório! Isso acontece por conta das permissões! Vejam:

# ls -ld /fls/private/
drwxr-xr-x 2 root private 1024 2009-01-02 00:27 /fls/private/

No bloquinho de permissões do grupo, diz que o grupo pode ler e executar. No caso, executar seria entrar no diretório… e para escrever… nada!
Por isso que o fabio não conseguiu criar o arquivo. Vamos mudar isso… 
Então, como root, vamos aplicar permissão de escrita para o grupo no diretório private:

# chmod u=rwx,g=rwx,o= /fls/private

No comando acima, usando a forma literal, estamos aplicando permissão total para o dono (u), o grupo (g), e, como é o diretório que só o pessoal do financeiro vai acessar, não colocamos nada de permissão para outros (o=).
Vejam como ficou:

Parte.04


# ls -ld /fls/private/
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
Bom, aproveitando, vejam agora também a outra forma que também é utilizada para dar permissões; é o modo octal (usando números)!
Vejam a tabela:
1 – execução (x)
2 – gravação (w)
4 – leitura (r)
É a mesma lógica… só que agora, usando números!!! Sendo assim, as permissões que definimos acima, usando números, ficaria assim:
# chmod 770 /fls/private/
# ls -ld /fls/private/
drwxrwx— 2 root private 1024 2009-01-02 00:27 /fls/private/
E o valor das permissões para cada pessoa, vem da soma: 4+2+1 = 7.
É importante falar que os dois modos de definir permissão (literal e octal), são bons! Mas a melhor parte da notícia, é que é você quem escolhe qual dos dois melhor se adapta.

Webmin


site: http://www.webmin.com



O Webmin é um gerenciador de sistema baseado numa interface web desenvolvida em Perl. Com este utilitário você pode administrar seus Servidores pela rede via web.

Algumas das tarefas que você pode fazer com o Webmin atualmente:
  • Mudar senhas, configurar o crontab, configurar scripts de inicialização, backup, configuração do pam, quotas, gerência de processos, pacotes, usuários e grupos.
  • Configura e administrar servidores majordomo, cvs, sendmail, qmail, postfix, fetchmail, jabber, samba, postgresql, proftpd, ssh, squid, wu-ftpd, apache, dhcp, dns bind, MySQL.
  • Configura rede, exportações NFS, NIS, PPP, túneis SSL.
  • Adminstração de impressoras, gerenciadores de boot, cd-roms, raid, partições, lvm, clustering.
  • Além de outras coisas como shell via web, gerenciador de arquivos, módulos perl, etc.


Particionamento

Script de Backup

# instalar o pacote SMBFS
mount -t smbfs -o username=usuario_compartilhamento,password=senha_compartilhamento //192.168.0.45/bkp_samba /mnt/windows
montado=`mount | grep /backup`



# SE A MONTAGEM NÃO ESTIVER UP ENTÃO FECHA, CASO CONTRÁRIO REALIZA O BACKUP
if [ -z "$montado" ]; then
    exit 1
else


tar -cvf backup_etc.tar.gz /etc
Data=`date "+%d%m%Y"`
mv backup_etc.tar.gz backup_etc-$Data.tar.gz
mv *.gz /mnt/windows
umount /mnt/windows




fi


# FIM DAS INSTRUÇÕES