sexta-feira, 4 de abril de 2014

Linux Olonca Live CD 2013

Qual a melhor distribuição Linux? A melhor é aquela personalizada por você mesmo. Por isso eu disponibilizei a iso da minha distribuição Linux Live CD personalizada no abaixo.


O hash md5 é:

cf4e501ff1ab9ea207c949a8d48d5604

Ela é baseada no Debian, usa interface Gnome 3 Clássica e possui a maioria dos programas apresentados neste blog. Ela também possui um instalador texto, mas um instalador gráfico mais atual está disponível no endereço:







quinta-feira, 3 de abril de 2014

Instalando um servidor FTP

A forma mais comum das empresas compartilharem arquivos pela internet é usando um FTP. No artigo anterior vimos como usar o cliente FTP. Agora vou mostrar como instalar o servidor.

O Ftpd é o mais simples dos servidores de FTP que conheço. Ele é mais leve que as outras opções mais conhecidas no mundo Linux, como o Proftpd e o Wu-ftpd. Para instalá-lo é simples:

# apt-get install ftpd

Após a instalação, dois arquivos precisam ser configurados. O primeiro é o /etc/ftpchroot. Nele nós listamos os usuários que deverão ter acesso somente à sua pasta home. Ou seja, quando esses usuários se conectarem via FTP eles não verão as pasta do sistema (/usr, /var, /etc), apenas conseguirão ver as pastas pessoais (geralmente /home/usuário). O segundo arquivo é o /etc/ftpusers. Ao contrário do que parece, aqui deverão ser cadastrados os usuários que NÃO deverão ter acesso ao FTP. Por padrão, o Ftpd não permite o login do root. Também não permite login anônimo. Se quiser habilitar o acesso público é só retirar o usuário anonymous do arquivo /etc/ftpusers.

Como podemos ver, o Ftpd é bem simples e resolve a maioria dos casos. Mas se você precisar de algo mais parrudo ou com mais opções de segurança experimente o Wu-ftpd, ou o Proftpd.



quarta-feira, 2 de abril de 2014

Acessando FTP pela linha de comando

Se você não tem um ambiente gráfico no momento e precisa acessar um FTP, é simples.

$ ftp endereço_do_ftp

Por exemplo, para conectar no servidor 10.50.0.32 eu uso:

$ ftp 10.50.0.32
Connected to 10.50.0.32.
220 ProFTPD 1.3.3a Server (FTP Fundacao Padre Anchieta) [200.136.27.145]
Name (10.50.0.32:ricardo): ricardoolonca

Se for acesso anônimo, use o usuário "anonymous". Aqui eu usei o meu  usuário.

331 Password required for ricardoolonca
Password:

Digite a senha. Para "anonymous" use um endereço de e-mail qualquer (nem precisa ser válido).

230 User ricardoolonca logged in
Remote system type is UNIX.
Using binary mode to transfer files.

Para ver os arquivo do FTP use "ls"

>ls
500 Illegal PORT command
ftp: bind: Address already in use

Se a mensagem acima aparecer, então algum sistema de segurança está impedindo o acesso via FTP Ativo. Vamos usar o modo passivo. 

ftp> passive
Passive mode on.

Vamos executar novamente o comando "ls".

ftp> ls
227 Entering Passive Mode (200,136,27,145,250,247).
150 Opening ASCII mode data connection for file list
drwxr-xr-x   2 ricardoolonca ricardoolonca               96 Feb    1  2013 bin
drwx------    2 ricardoolonca ricardoolonca             160 Jul   26   2013 Dropbox
-rw-r--r--     1 ricardoolonca ricardoolonca 5198323960 Mar  5  20:35 Full_20140305.tar.bz2
-rw-r--r--     1 ricardoolonca ricardoolonca 2000231846 Apr   1  13:51 Full20140401.tar.bz2
drwxr-xr-x   3 ricardoolonca ricardoolonca                72 Oct 28   2012 Justica Eleitoral
drwxr-xr-x   4 ricardoolonca ricardoolonca              104 Jun 10   2013 Programas
drwxr-xr-x   3 ricardoolonca ricardoolonca                72 Oct 28  04:00 Spark
drwxr-xr-x   2 ricardoolonca ricardoolonca                48 Feb 16  11:49 teste
drwxr-xr-x   4 ricardoolonca ricardoolonca              128 Apr  2   16:46 tmp
drwxr-xr-x   3 ricardoolonca ricardoolonca                72 Jan 28   04:00 tor-browser_pt-PT
226 Transfer complete

Para entrar em uma pasta use "cd".

ftp> cd tmp
250 CWD command successful
ftp> ls
227 Entering Passive Mode (200,136,27,145,235,116).
150 Opening ASCII mode data connection for file list
-rw-r--r--   1 ricardoolonca ricardoolonca       182 Apr  2 16:46 20140401.txt
drwxr-xr-x   2 ricardoolonca ricardoolonca       48 Apr  2 16:44 cmais
drwxr-xr-x   2 ricardoolonca ricardoolonca       80 Jun 10  2013 cmais2
226 Transfer complete

Para verificar a pasta local (da tua máquina, não do servidoir FTP) use "lcd".

ftp> lcd
Local directory now /home/ricardo

Para mudar a pasta local use "lcd" passando a pasta como parâmetro.

ftp> lcd tmp
Local directory now /home/ricardo/tmp

Para baixar um arquivo use "get", ou "mget" para vários arquivos.

ftp> get 20140401.txt
local: 20140401.txt remote: 20140401.txt
227 Entering Passive Mode (200,136,27,145,235,51).
150 Opening BINARY mode data connection for 20140401.txt (182 bytes)
226 Transfer complete
182 bytes received in 0.00 secs (1468.9 kB/s)

Para enviar um arquivo para o FTP use "put", ou "mput" para enviar vários arquivos.

ftp> mput *.txt* 
mput 20140401.txt? y
227 Entering Passive Mode (200,136,27,145,242,217).
150 Opening BINARY mode data connection for 20140401.txt
226 Transfer complete
182 bytes sent in 0.00 secs (3863.8 kB/s)
mput 20140401.txt~? y
227 Entering Passive Mode (200,136,27,145,245,154).
150 Opening BINARY mode data connection for 20140401.txt~
226 Transfer complete
127 bytes sent in 0.04 secs (3.1 kB/s)
mput 20140402.txt? y
227 Entering Passive Mode (200,136,27,145,238,232).
150 Opening BINARY mode data connection for 20140402.txt
226 Transfer complete
238 bytes sent in 0.00 secs (12912.3 kB/s)
mput 20140402.txt~? y
227 Entering Passive Mode (200,136,27,145,253,37).
150 Opening BINARY mode data connection for 20140402.txt~
226 Transfer complete
205 bytes sent in 0.00 secs (4085.6 kB/s)

Se for transferir arquivos binários execute primeiro "binary".

ftp> binary
200 Type set to I

Para mais opções, digite "help".

ftp> help
Commands may be abbreviated.  Commands are:

! dir mdelete qc site
$ disconnect mdir sendport size
account exit mget put status
append form mkdir pwd struct
ascii get mls quit system
bell glob mode quote sunique
binary hash modtime recv tenex
bye help mput reget tick
case idle newer rstatus trace
cd image nmap rhelp type
cdup ipany nlist rename user
chmod ipv4 ntrans reset umask
close ipv6 open restart verbose
cr lcd prompt rmdir ?
delete ls passive runique
debug macdef proxy send

Para sair do ftp digite "bye".

ftp> bye
221 Goodbye.


terça-feira, 1 de abril de 2014

Configuração do Cacti

O Cacti é uma ferramenta usada para fazer o monitoramento dos equipamentos. Ele gera gráficos estatísticos de rede, disco, memória e processador. Seu uso está mais voltado para análises de capacidade e cresicmento do ambiente, e não na análise de disponibilidade, como o Zabbix e o Nagios.

Cacti usa, por padrão, o protocolo SNMP (Simple Network Message Protocol), que é o protocolo padronizado para uso em monitoramento de rede. Quase todos os equipamentos de rede usam o SNMP, inclusive switch e roteadores. Por isso a utilização do Cacti provavelmente não vai quererer nenhum tipo de instalação de clientes nos equipamento monitorados.

Para instalar o sistema use o apt-get.

# apt-get install cacti

Uma tela aparecerá perguntando se deseja configurar a base de dados. Escolha SIM.



A próxima tela você deve inserir a senha do administrador do teu banco de dados. 


Nesta tela deve ser informada a senha que o Cacti usará para se conectar ao banco de dados. Você pode deixar essa linha em branco e o Cacti vai gerar uma senha aleatória.



Selecione o servidor web que você usa. No meu caso, Apache2


Após o processo terminar, abra um navegador e acesse:

http://ip_do_servidor_cacti/cacti

A tela seguinte irá aparecer.



Clique em Next


Como estamos fazendo uma instalação nova, escolha New Install e clique em Next. Na tela seguinte será feito um checagem para verificar se o servidor contém tudo o que o Cacti precisa para funcionar.


Clique em Finish.



O usuário e senha padrão do Cacti é admin. Digite admin em User Name e admin em Password. No primeiro acesso será solicitada uma nova senha.
 

Agora vamos instalar o primeiro servidor para monitorar, que é o próprio servidor Cacti. Primeiro instale o SMNP.

# apt-get install snmpd

Agora, na interface web, clique em Devices e depois em Localhost


Em SNMP Version, escolha Version 1. Não vou entrar em detalhes de segurança neste momento. Repare em Hostname. Aqui deve ser digitado o nome ou endereço IP do servidor. Neste caso é 127.0.0.1. Clique em Save no final da página. Agora, no menu a esquerda, clique em Graph Tree e depois em Default Tree. Agora clique em Add.


Em Tree Item Type escolha Graph. Em Graph deve haver 4 tipos de gráficos. Escolha o primeiro e clique em Create. Repita o processo para os 3 outros gráficos. Ao final, sua tela deverá estar parecida com esta abaixo.


Aguarde algumas horas para que o Cacti possa coletar dados e gerar os gráficos. Para vê-los, clique em graphs no menu acima.


Agora é só configurar os outros servidores.


sexta-feira, 28 de março de 2014

Corrigindo problemas de disco com Fsck

O Fsck é um utilitário que existe no Linux para corrigir erros lógicos, daqueles típicos que ocorrem quando o computador é desligado abruptamente, como numa queda de energia.

O Fsck consegue identificar o sistema de arquivos e chama o aplicativo correspondente para verificar o disco. Por exemplo, em um sistema de arquivos Ext3, o Fsck vai chamar o comando fsck.ext3. Na minha máquina, por exemplo, tem os seguintes programas:

  • fsck
  • fsck.cramfs
  • fsck.ext3
  • fsck.ext4dev
  • fsck.msdos
  • fsck.vfat
  • fsck.btrfs
  • fsck.ext2
  • fsck.ext4
  • fsck.minix
  • fsck.nfs      

No nosso exemplo, vamos corrigir o disco /dev/sda5. Antes é necessário desmontá-lo com o comando abaixo.

# umount /dev/sda5

Agora vamos executar o fsck com o comando abaixo.
# fsck -y -v /dev/sda5
fsck from util-linux 2.20.1
e2fsck 1.42.5 (29-Jul-2012)
/dev/sda5: clean, 49033/24428544 files, 22543897/48853888 blocks

A opção -y assume "sim" para todas as perguntas que o Fsck fará, e é usada para reparação automática. -v é usado para mostrar mais detalhes. No nosso caso o sistema não contém erros.

Se você quiser forçar a execução do Fsck, então use a opção -f.

# fsck -pvf /dev/sda5  fsck from util-linux 2.20.1
       49033 inodes used (0.20%, out of 24428544)
         7010 non-contiguous files (14.3%)
           46 non-contiguous directories (0.1%)
              # of inodes with ind/dind/tind blocks: 7103/2437/0
     22543897 blocks used (46.15%, out of 48853888)
            0 bad blocks
            2 large files

       48923 regular files
          101 directories
            0 character device files
            0 block device files
            0 fifos
            0 links
            0 symbolic links (0 fast symbolic links)
            0 sockets
------------
        49024 files

Mas como checar o sistema raiz (/)? Você pode usar o comando Shutdown com o opção -F.

# shutdown -F

Dessa forma o Fsck testará todos os drives quando fizer o boot.


quinta-feira, 27 de março de 2014

Por que usar Linux?

Linux é melhor que Windows?

Essa pergunta simplista costuma ser respondida também de forma simplista. Os xiitas apaixonados pelo pinguim respondem usando argumentos como segurança, liberdade e estabilidade. Já os fan boys do Windows argumentam que o Linux é difícil de usar e não tem jogos. Mas todos se esquecem de perguntar: melhor para quem? Para saber qual é o melhor sistema operacional é necessário avaliar onde ele será usado, para qual finalidade, e por quem. Neste artigo eu pretendo mostrar alguns pontos que devem ser levados em conta quando entramos nessa questão.

Primeiramente temos que conhecer os tipos de licenciamentos existentes. Pode ser que você nem ligue para a licença, mas lembre-se de que estamos analisando os softwares em um nível mais global. Há vários tipos de licenças de software. As principais são apresentadas abaixo.

Proprietária : É a mais comum. Você tem o direito de usar o software mediante o pagamento de uma taxa, mas não pode modificá-lo, e nem redistribuí-lo. Um exemplo desse tipo de programa é o Windows.

Shareware : Usada quando se quer demonstrar um software proprietário. Possui limitações quanto a versão proprietária, ou pode funcionar apenas por algum tempo. A cópia é permitida, mas não a modificação do programa. Jogos promocionais são os melhores exemplos de shareware.

Grátis : Usadas em programas que são distribuídos livremente. Você tem permissão de instalar em quantos equipamentos quiser, e pode ser distribuído livremente. Mas você não tem permissão para modificá-lo. A maioria dos programa shareware também são grátis, mas um software grátis não possue as limitações que o shareware possuem. O Avast (versão doméstica) e o Adobe Reader são exemplos de programas grátis.

Código aberto (open source) : Um programa de código aberto contém as mesmas restrições de um programa proprietário, mas seu código fonte está disponível para consulta. Apesar de ter acesso ao seu código, a alteração não é permitida. O programa de votação eletrônica é de código aberto. Algumas universidades possuem contrato com as empresas de software para poderem analisar o código fonte de alguns programas com o objetivo de estudo.

Livre (Free) : Free aqui não quer dizer grátis, embora quase todos os softwares livres são também grátis. Todo software livre é também de código aberto, mas nem todo software de código aberto é livre. A diferença é que um software livre pode ser alterado livremente por qualquer um e pode ser redistribuído, desde que as alterações realizadas também sejam livres. O Linux é o melhor exemplo de software livre.

Bsd : A licença Bsd é mais liberal do que a Livre, pois permite que as alterações feitas no software posssam ser proprietárias. O FreeBSD é um exemplo de software Bsd.

Agora que sabemos as diferenças entre as licenças, vamos analisar o Linux para diversos públicos. 


Linux para usuários domésticos

Para o usuário doméstico, que usa o computador para navegar na Internet, trocar e-mail e mensagens instantâneas, fazer documentos, apresentações e planilhas, o Linux atende perfeitamente. O custo é zero, a incidência de vírus é praticamente zero, a estabilidade é total. Uma desvantagem que eu vejo para o usuário doméstico é o efeito "novo". O "novo" assusta. O efeito de sair procurando as coisas é horrível para o usuário comum. Realmente o Linux é um outro universo, embora seja tão amigável quanto o Windows. Mas veja por um outro lado: o Windows 8 também é um outro universo. Quem está acostumado com o Windows XP/Vista vai se sentir perdido no Windows 8. A curva de apredizagem é a mesma para o Windows 8 e o para o Linux. Outro ponto negativo talvez seja a instalação de hardware. Mas um usuário não técnico vai acabar chamando um técnico para instalar seu hardware de qualquer forma, seja em Windows ou Linux. Então isso não chega a aser um problema.


Gamers

O principal argumento dos defensores do Windows é a questão dos jogos. Há mais jogos para Windows do que para Linux. E isso é verdade, embora esse cenário esteja mudando com a entrada da Valve no mundo Linux e com a sua plataforma de código aberto para jogos. Mas ainda é pouco. Mas veja por outro lado. Se você quer um computador para jogos, então compre um Playstation, ou um Xbox. São melhores e mais baratos, né?


Profissionais de TI

Aqui não tem discusão. Se você é um profissionai de TI você só tem a ganhar com o Linux, principalmente por dois motivos. Primeiro: se você sabe programar, então o Linux te disponibiliza uma infinidade de linhas de código nas mais diversas linguagens, como C, C++, Perl, Php, Python, etc, além das documentações. Segundo: o fato de poder instalar, desinstalar, reinstalar e manter várias versões do mesmo software sem precisar se preocupar com licenças, vigências e número de instalações já é uma enorme vantagem. Poder testar, mudar configurações e avaliar os programas é essencial no aprendizado da ferramenta. No mundo Windows é comum ter que instalar software shareware que expira em alguns dias, ou ter que ficar aguardando novas licenças do fornecedor. E é frustante saber que a versão shareware não tem habilitada justamente a função que você quer testar. Isso não ocorre no Linux.


Empresas

Avaliar se o Linux é melhor para empresas é um pouco complicado. A economia com licenças é uma enorme vantagem. Uma empresa com 100 desktop tem que desembolsar cerca de R$ 150.000,00 só com licenças de Windows e Office, isso a cada 2 ou 3 anos. Se contarmos com os programas para servidor esse valor é ainda maior. Porém o maior problema é na implantação do Linux. Há muito software específico e legado que só roda em Windows. Por exemplo, em uma empresa que trabalhei a Intranet só funcionava no Internet Explorer. Foi necessário fazer alterações no site para que ela funcionasse no Firefox, e só depois pensar em migrar para Linux. Portanto, uma migração para Linux deve se rmuito bem planejada, feita em etapas, sem pressa. Comece com serviços em servidores menos críticos, DHCP, DNS, FTP, servidores de arquivo. Mas mesmo com todo esse trabalho, após a migração, a empresa ficará livre de fornecedores, livre de gastos com licenças, livre das amarras que as empresas de software fechado impõem. Mas não se iluda: sempre vai ficar um legado, um desktop que precisa do Windows, um servidor que roda uma aplicação crítica proprietária, etc.

Outro ponto e o treinamento. É necessário treinar o funcionário no novo sistema. Mas, como já falei, se sua empresa pretende migrar para o Windows 8, então é certo que você vai precisar dar treinamento também.

Agora, se a empresa tem parcerias fortes com fornecedores de software proprietário, se o negócio está muito amarrado com seus parceiros, se a empresa presta suporte em TI e seus clientes fazem questão de usar programa fechados (seja lá por qual motivo) então o Linux pode não ser um bom negócio. Se o seu negócio está focado na VENDA de software, e não no SERVIÇO de suporte, então Linux não é para você. 


Governos

Depois do caso Edward Snowden os governos passaram a olhar os programas abertos e livres mais de perto. Como saber se aquela atualização do programa não contém uma backdoor? Como saber se o sistema operacional não está gravando minha tela e enviando para a CIA? Somente com software livre é possível analisar o código fonte e ter a certeza de que tudo está no lugar. 

Outra vantagem para os governos é o fim da evasão de divisas. As verbas com licenças não são enviadas para o exterior; antes são investidas em empresas nacionais, geram renda e trabalho em seu próprio país, e isso gera a independência tecnológica.


Conclusão

Quando me perguntam se Linux é melhor que Windows eu respondo com duas outras perguntas: melhor em que? melhor prá quem?

Se você não está com paciência prá aprender algo novo, ou está sem tempo, ou não quer comprar um console de jogos, então continue com o sistema operacional atual. Prá você o Windows é melhor. Mas antes de sair falando que o Windows é melhor, pense: "melhor prá quem? melhor em quê?". A filosofia da troca de conhecimento, prá mim, não tem preço. Prá mim, o Linux é muito melhor. Prá mim!






















terça-feira, 25 de março de 2014

9 formas de usar o Linux para consertar o Windows


No video abaixo há um tutorial mostrando 9 formas de arrumar o Windows usando o Linux. A distribuição usada é a Ubuntu.




segunda-feira, 24 de março de 2014

Perdeu a senha do administrador do Windows? Isso é simples de resolver com chntpw

Não são raras as vezes em que algum usuário do Windows me liga perguntando como descobrir a senha do administrador. Nesse artigo eu mostro passo-a-passo como recuperar a senha do Windows usando um Linux live cd.

Primeiramente ligue o equipamento com o live cd no drive. Pode ser qualquer distribuição Linux. Neste exemplo eu uso uma distro baseada em Debian. Abra um terminal texto como root e digite:

# fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x358af8eb

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848    41940991    20867072    7  HPFS/NTFS/exFAT

Reparem que, neste caso, a partição Windows é a /dev/sda2. Precisamos montá-la com permissões de escrita.

# mkdir /mnt/sda2
# ntfs-3g /dev/sda2 /mnt/sda2

Partição montada, agora precisamos encontrar o arquivo SAM.

# find /mnt/sda2/ -name SAM
/mnt/sda2/Windows/System32/config/RegBack/SAM
/mnt/sda2/Windows/System32/config/SAM

Entre as duas pastas fica claro que a primeira é um backup. Vamos entrar na segunda pasta.

# cd /mnt/sda2/Windows/System32/config

Agora vamos instalar o programa chntpw

# apt-get install chntpw

Após a instalação, digite:

# chntpw -l SAM
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 247/20128 blocks/bytes, unused: 18/4256 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |

Podemos ver que temos trê usuários, sendo que dois estão bloqueados, inclusive o Administrador. Primeiramente vamos trocar a senha do usuário "ricardo".

# chntpw -l SAM -u ricardo
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x7000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 6 pages (+ 1 headerpage)
Used for data: 247/20128 blocks/bytes, unused: 18/4256 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  | dis/lock |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |


---------------------> SYSKEY CHECK <----------------------- p="">SYSTEM   SecureBoot            : -1 -> Not Set (not installed, good!)
SAM      Account\F             : 0 -> off
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)
Syskey not installed!

RID     : 1000 [03e8]
Username: ricardo
fullname:
comment :
homedir :

User is member of 1 groups:
00000220 = Administradores (which has 2 members)

Account bits: 0x0214 =
[ ] Disabled        | [ ] Homedir req.    | [X] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account  | [ ] NMS account     |
[ ] Domain trust ac | [ ] Wks trust act.  | [ ] Srv trust act   |
[X] Pwd don't expir | [ ] Auto lockout    | [ ] (unknown 0x08)  |
[ ] (unknown 0x10)  | [ ] (unknown 0x20)  | [ ] (unknown 0x40)  |

Failed login count: 0, while max tries is: 0
Total  login count: 8

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] 

Digite a opção "1" para deixar o usuário sem senha.

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] :

Digite "y" para salvar o arquivo SAM

 0   - OK

Agora vamos habilitar o usuário administrador

# chntpw -l SAM -u Administrador

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
 4 - Unlock and enable user account [probably locked now]
 q - Quit editing user, back to user select
Select: [q] 

Digite "4".

Unlocked!

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] : 

Digite "y" para salvar.

 0   - OK

Podemos também promover o usuário "ricardo" para ser administrador do Windows.

# chntpw -l SAM -u ricardo

- - - - User Edit Menu:
 1 - Clear (blank) user password
 2 - Edit (set new) user password (careful with this on XP or Vista)
 3 - Promote user (make user an administrator)
(4 - Unlock and enable user account) [seems unlocked already]
 q - Quit editing user, back to user select
Select: [q] 

Digite "3".

NOTE: This function is still experimental, and in some cases it
      may result in stangeness when editing user/group in windows.
      Also, users (like Guest often is) may still be prevented
      from login via security/group policies which is not changed.
Do you still want to promote the user? (y/n) [n]

Digite "y".

User is member of 1 groups.
User was member of groups: 00000220 =Administrators,
Deleting user memberships
Adding into only administrators:
Promotion DONE!

Hives that have changed:
 #  Name
 0  
Write hive files? (y/n) [n] :

Digite "y" para salvar o arquivo.

 0   - OK

Vamos verificar se o usuário "ricardo" virou administrador do sistema.

# chntpw -l SAM
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrador                  | ADMIN  |          |
| 01f5 | Convidado                      |        | dis/lock |
| 03e8 | ricardo                        | ADMIN  |          |


Agora é só reiniciar o equipamento e testar o login no Windows.


quinta-feira, 13 de março de 2014

Apagando um arquivo bem apagado

Se você não sabe, quando um arquivo é apagado ele não é realmente apagado do disco. Mesmo que teu sistema tenha uma lixeira e você a esvazia, o arquivo ainda continua lá em algum lugar do disco. O espaço que ele utilizava ainda contém seus dados. O disco só vai relamente apagar o arquivo quando ele precisar de espaço e sobreescrever o arquivo. Isso pode levar dias, ou mesmo semanas, dependendo do quando você usa o computador. Mesmo que você formate o disco e reinstale o sistema ainda será possível recuperar alguns. Se você pretende vender teu computador, pense bem nisso.

Um utilitário muito útil para apagar um arquivo bem apagado de forma que não seja possível recuperá-lo é o Wipe. Para instalá-lo, digite:

# apt-get install wipe

Seu uso é bem simples.

$ wipe arquivo.txt 
Okay to WIPE 1 regular file ? (Yes/No) Yes

Se tiver certeza disso, digite YES e tecle ENTER.

Operation finished.                                                        
1 file wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.

Ao final um relatório é exibido. Repare que a exclusão é um pouco mais demorada. É que o Wipe reescreve o arquivo várias vezes antes de realmente apagá-lo. Isso dificulta uma possível recuparação e, mesmo que se consiga recuperá-lo, ele estará todo embaralhado. Para efeito de teste, coloquei duas pastas com os mesmos arquivos e calculei o tempo que leva para apagá-las usando o "rm" e o "wipe".

$ du -sh site*
372K site2
372K sites

Reparem que ambas possuem o mesmo tamanho.

$ cd sites
$ time rm *

real 0m0.002s
user 0m0.000s
sys 0m0.000s

Com rm levou cerca de 2 milisegundos. Agora com wipe.

$ cd ../site2
$ time wipe *
Okay to WIPE 56 regular files ? (Yes/No) yes
Operation finished.                                                        
56 files wiped and 0 special files ignored in 0 directories, 0 symlinks removed but not followed, 0 errors occured.

real 6m32.526s
user 0m0.056s
sys 0m0.276s

Seis minutos e meio! Mas agora os arquivos estão realmente apagados. Mas use o wipe com cuidado! Não vá falar que eu não avisei!

quarta-feira, 12 de março de 2014

Uma breve história do Linux

Para entendermos toda a filosofia do softwre livre e do Linux precisamos conhecer como era a informática no princípio e o que levou o Linux a aparecer. Quer queira, quer não, a história do Linux está ligada à Microsoft.


Antes mesmo da Microsoft e da Apple existirem, as empresas de informática (IBM, Xerox, GE, etc) forneciam hardware para as empresas. O software era imbutido no equipamento. Os aplicativos eram criados pelas empresas cliente, ou mesmo pela empresa fornecedora através de um contrato de prestação de serviço. Era comum os programas serem entregues com seus códigos fonte escritos em Cobol ou Frontran. Era comum a empresa cliente ter programadores que alteravam o código do programa para que este se adequasse à empresa.

Enquanto isso um grupo de entusiastas liderados por Dennis Ritchie e Ken Thompson lutavam para escrever um sistema operacional que fosse mais portável, ou seja, que rodasse em mais equipamentos, e que não dependesse do fabricante do hardware: o Unix. O Unix era aberto, ou seja, vários programadores ao redor do mundo podiam alterá-lo. E essas alterações eram repassadas para os demais programadores. Por ser estável, escalável e multiplataforma, as grandes empresas passaram a utilizar o Unix como base para seus sistemas. Assim, a IBM criou o AIX, a Sun criou o Solaris, a HP o Hpux, e outros mais. Cada sistema focado no hardware de suas empresas. 


Com o surgimento da microcomputação no início da década de 1970, as grandes empresas não deram muita importância para os computadores pessoais. Elas não viam motivos para pessoas comuns comprarem um computador, visto que manter um sistema era caro, pois era necessário contratar programadores. É aí que entram dois visionários: Steve Jobs e Bill Gates.


Jobs e Gates vislumbraram um mundo onde cada cidadão teria um computador pessoal. A questão era como desenvolver sistemas para esse público não especializado A idéia foi criar programas generalistas, amigáveis, baratos, e que cumpririam a maior parte das necessidades das pessoas, e vender o direito de uso dos programas. Não haveria necessidade de customizações. O programa não pertencia ao cliente. Este tinha apenas o direito de uso. As mudanças sugeridas pelas pessoas poderiam ser incluídas na próxima versão do software, que novamente deveria ser comprado. Dessa forma era possível ganhar dinheiro desenvolvendo software barato, mas para um público maior. Nasciam as gigantes Microsoft, de Bill Gtes, e Apple, de Steve Jobs.

Em 1983, Richard Stallman lança o projeto GNU com o objetivo de criar um sistema operacional livre. Ele definiu que um software, para ser livre, precisava cumprir 4 requisitos:

  • Possiblidade de rodar em qualquer equipamernto, para qualquer fim;
  • Possibilidade de modificar o programa para atender a qualquer objetivo;
  • Possiblidade de copiar e distribuir o programas livremente;
  • As modificações feitas em um software livre também deveriam ser livre.




Com isso, Stallman queria garantir que o conhecimento fosse compartilhado, e que as pessoas não ficassem dependentes das grandes empresas de TI para conseguir o software que atendesse às suas necessidades. Em 1985 Stallman cria a Free Software Fundation, FSF. Em 1989, Richard Stallman escreve a primeira versão da GNU General Public License.

Em 1990, um estudante de informática finlandês chamado Linus Benedict Torvalds adquiriu um computador IBM PC 386 para poder estudar o Unix. O computador veio com o Microsoft Windows instalado. Torvalds, que não queria o sistema da Microsoft, exigiu um desconto na compra do equipamento, o que lhe foi negado. Revoltado, por assim dizer, Torvalds resolveu escrever um sistema operacional semelhante ao Unix que funcionasse no seu computador. Em 1991 ele postou em um site o primeiro código e convidou os membros a contribuirem com o desenvolvimento. Nascia o Linux.

Em 1992, seguindo a recomendação de Richard Stallman, Linux Torvalds licencia o Linux sob os termos da GNU GPL. Por isso, o nome correto do Linux passou a ser GNU/Linux.

Assim, vários grupos ao redor do mundo começaram a contribuir com o Linux. Ainda em 1992 as primeiras distribuições surgiram. Distribuição, ou distro, é um conjunto de software que acompanha o Linux, e que podem ser fornecidos em uma midia, como o CD. No ano seguinte surge a distribuição Slackware, a mais antiga ainda em atividade, e depois a Debian, que hoje possui a maior comunidade de usuários.



Em 1994, Torvalds lança a versão 1.0 do Linux. Como "versão do Linux" queremos dizer a versão do "kernel", ou seja, a versão do núcleo do sistema operacional. Assim, hoje (2014) a distribuição Debian mais nova é a 7.0, que vem com o kernel 3.2. No ano do kernel 1.0 surgiram também as distribuições Red Hat e Suse.

Em 1996 surge o kernel 2.0. A principal mudança foi o suporte a múltiplos processadores. Nesse momento, as grandes empresas começam a considerar o uso e o apoio ao Linux. A interface gráfica, ainda pobre, começa a ganhar recursos interessantes com o projeto KDE. Diferentemente de outros sistemas, como Windows e OSX, o Linux possue várias interfaces gráficas para os mais variados gostos e necessidades. 

Em 1997 surge a primeira grande distribuição brasileira, a Conectiva, versão Perolin. O projeto Gnome tem inicio em 1999 com a meta de criar uma interface gráfica tão boa quando a KDE, porém mais leve. Várias distribuições adotam o Gnome como interface padrão, entre elas a Red Hat.

Em 2003 nasce a distribuição brasileira de maior sucesso até então: o Kurumin. Seu criador, Carlos Morimoto, personalizou uma distribuição chamada Knopix, traduziu a interface para o português brasileiro, e adicionou um painel que ficou conhecido como Ícones Mágicos, que permitia instalar vários programas complicados com apenas um click. Várias distribuições passaram a utilizar ferramentas parecidas. Outra característica do Kurumin era o fato de ser Live-cd, ou seja, rodava pelo cd, sem necessidade de instalação. Com isso era possível usar o Linux sem medo de perder os arquivos. Todas essas características ajudaram na divulgação do Linux.


Em 2004, a Canonical lança do Ubuntu. Sua estratégia de enviar gratuitamente seus cd para qualquer parte do mundo (numa época em que ninguém tinha banda larga) é uma revolução e faz com que o Ubuntu, em poucos anos, passe a ser a distribuição mais usada em desktop, o que fez com a Dell  passasse a vender laptos com o Ubuntu pré-instalado em 2007. No mesmo ano, a Google anuncia o Android, sistema operacional baseado no Linux voltado para dispositivos móveis, como tablet e smartphone.

Hoje em dia o Linux está em todos os setores, como smartphones, desktop, servidores, supercomputadores, robôs, eletrodomésticos e relógios de pulso. Ele já é o sistema operacional mais usado no mundo, só perdendo para o Windows nos desktop, mas seu uso vem crescendo a cada ano.

Quando digo que trabalho com Linux, as pessoas pensam mais ou menos como na imagem abaixo.







E qual a melhor distribuição Linux? Isso depende de quem vai usá-la e para qual finalidade. Para saber qual a melhor distro prá você é só seguir o fluxograma abaixo (clique na imagem para ver melhor)


sexta-feira, 7 de março de 2014

Analisando o uso da memória ram com o Free

Um dos motivos para a lentidão de um computador é o elevado uso de memória ram, o que faz com que o sistema operacional use memória virtual (swap). A memória virtual é, na verdade, um arquivo em disco. Como o disco é, em média, mil vezes mais lento do que a memória ram, quanto mais memória virtual for usada mais lento o micro fica.

Um dos comandos mais usado em ambiente Linux para verificar o uso da memória ram é o free.

$ free
             total       used       free     shared    buffers     cached
Mem:       8226632    7763568     463064          0     265932    4523028
-/+ buffers/cache:    2974608    5252024
Swap:            0          0          0

Você pode usar as opções -k (para mostrar os dados em kbytes), -m (megabytes), -g (gigabytes) ou -h (para mostrar os valores na forma "humana"). 

$ free -h
             total       used       free     shared    buffers     cached
Mem:          7,8G       7,4G       434M         0B       259M       4,3G
-/+ buffers/cache:       2,8G       5,0G

Swap:           0B         0B         0B

Reparem que eu tenho somente 434 Mb disponível. Mas 4,3 Gb estão sendo usados para cache, e 259 Mb para buffer. Essas memórias podem ser liberadas caso o sistema precise. Portanto, na prática eu ainda tenho 434 Mb + 259 Mb + 4,3 Gb de memória rma livre, ou seja, 5,1 Gb. Reparem que meu sistema nem tem memória swap configurada.

Você pode ir analisando o uso da memória a medida que uma aplicação abre. No exemplo abaixo, o parâmetros "-s 5" faz com que o free rode a cada segundo, enquanto que o "-c 5" faz o free parar depois de 5 amostras.

$ free -s 5 -c 5 -m
             total       used       free     shared    buffers     cached
Mem:          8033       7602        430          0        260       4433
-/+ buffers/cache:       2909       5124
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7607        426          0        260       4436
-/+ buffers/cache:       2910       5123
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7624        409          0        260       4453
-/+ buffers/cache:       2910       5122
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7614        419          0        260       4443
-/+ buffers/cache:       2911       5122
Swap:            0          0          0

             total       used       free     shared    buffers     cached
Mem:          8033       7612        421          0        260       4441
-/+ buffers/cache:       2911       5122

Swap:            0          0          0


sexta-feira, 28 de fevereiro de 2014

Plugin do Flash no Linux

O plugin do Flash (usado, por exemplo, para ver videos como os do site Youtube) costuma dar um certo trabalho em Linux. As vezes você baixa o plugin do site da Adobe e ele não funciona direito.

Para resolver isso de uma forma simples basta instalar no pacote flashplugin-nonfree.

# apt-get install flashplugin-nonfree

Segundo a documentação do pacote...

"Este pacote baixará o Flash Player da Adobe. É uma extensão do tipo
Netscape/Mozilla. Qualquer navegador baseado no Netscape ou Mozilla pode
usar o Flash Player. Atualmente, este pacote dá suporte aos seguintes
navegadores: Mozilla, Mozilla-Firefox, Firefox, Iceweasel e Iceape. O
Galeon e o Epiphany também podem usar o Flash Player. O Konqueror também
pode usar o Flash Player se o pacote konqueror-nsplugins estiver
instalado.

AVISO: Ao instalar este pacote Debian, o Adobe Flash Player será baixado
a partir de www.adobe.com. O Contrato de Licença de Usuário Final
(EULA -- End User License Agreement) do Adobe Flash Player está disponível
em www.adobe.com."

Se você usa o Debian precisará habilitar os pacotes non-free no seu arquivo /etc/apt/sources.list. Deverá ficar como no exemplo abaixo:

deb http://ftp.br.debian.org/debian/ stable contrib non-free main

quinta-feira, 27 de fevereiro de 2014

Além do ping com Fping

Além do ping com Fping


Experimente o fping no lugar do ping. Ele possui alguns parâmetros interessantes. Na sua forma mais simples, o fping diz se a máquina alvo está ativa ou não

$ fping 172.20.1.149
172.20.1.149 is alive

$ fping 192.168.1.1
192.168.1.1 is unreachable

Você pode especificar o tamanho e o número de pacotes enviados usando -b e -C respectivamente. O tamanho mínimo é 40 bytes. Reparem que pacotes maiores demoram mais.

$ fping -b 12 -C 2 172.20.1.1
172.20.1.1 : [0], 40 bytes, 0.29 ms (0.29 avg, 0% loss)
172.20.1.1 : [1], 40 bytes, 0.27 ms (0.28 avg, 0% loss)

172.20.1.1 : 0.29 0.27

$ fping -b 10000 -C 2 172.20.1.1
172.20.1.1 : [0], 4096 bytes, 2.24 ms (2.24 avg, 0% loss)
172.20.1.1 : [1], 4096 bytes, 2.54 ms (2.39 avg, 0% loss)

172.20.1.1 : 2.24 2.54

Você também pode pingar um intervalo de rede, e o fping listará todas as máquina que responderem ao ping

$ fping -c 1 -g 172.20.120.0/28172.20.120.1  : [0], 84 bytes, 0.86 ms (0.86 avg, 0% loss)
172.20.120.2  : [0], 84 bytes, 0.61 ms (0.61 avg, 0% loss)
172.20.120.3  : [0], 84 bytes, 0.28 ms (0.28 avg, 0% loss)
172.20.120.4  : [0], 84 bytes, 0.02 ms (0.02 avg, 0% loss)
172.20.120.5  : [0], 84 bytes, 0.63 ms (0.63 avg, 0% loss)
172.20.120.6  : [0], 84 bytes, 0.29 ms (0.29 avg, 0% loss)
172.20.120.7  : [0], 84 bytes, 0.57 ms (0.57 avg, 0% loss)
172.20.120.8  : [0], 84 bytes, 0.65 ms (0.65 avg, 0% loss)
172.20.120.11 : [0], 84 bytes, 1.65 ms (1.65 avg, 0% loss)

172.20.120.0  : xmt/rcv/%loss = 1/0/100%
172.20.120.1  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.86/0.86/0.86
172.20.120.2  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.61/0.61/0.61
172.20.120.3  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.28/0.28/0.28
172.20.120.4  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.02/0.02/0.02
172.20.120.5  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.63/0.63/0.63
172.20.120.6  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.29/0.29/0.29
172.20.120.7  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.57/0.57/0.57
172.20.120.8  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.65/0.65/0.65
172.20.120.9  : xmt/rcv/%loss = 1/0/100%
172.20.120.10 : xmt/rcv/%loss = 1/0/100%
172.20.120.11 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 1.65/1.65/1.65
172.20.120.12 : xmt/rcv/%loss = 1/0/100%
172.20.120.13 : xmt/rcv/%loss = 1/0/100%
172.20.120.14 : xmt/rcv/%loss = 1/0/100%
172.20.120.15 : xmt/rcv/%loss = 1/0/100%

O fping pode ser instalado via gerenciador de pacotes da tua distribuição ou, no Debian, através do apt-get.

# apt-get install fping