sexta-feira, 31 de dezembro de 2010

Criando um executável em Java com duplo clique

Olá, pessoas!


Eu, particularmente, sou grande fã de Java. Fiquei um tempo frustrado ao ver que Java não tinha um executável fácil. Existe a opção de criar um arquivo .jar (java archive), e ainda assim, além de tudo, não funcionava com duplo clique. Tinha que executar o .jar pelo terminal ou prompt. Além disso, ainda tinha que configurar o manifesto e todo aquele blablablá. Felizmente, descobri uma maneira interessante de "criar" um executável para Java. O truque é bem simples, vamos criar o nosso arquivo em Java normal, compilamos e vai gerar o nosso arquivo .class. Ao invés de irmos ao terminal (ou DOS, depende do seu SO) e digitarmos o comando para executar o arquivo .class: java nomedoarquivo, nós simplesmente vamos encapsulá-lo em um arquivo .c ou .cpp e executá-lo neste arquivo usando a função system(); . Legal, né? Ótimo, vamos tentar colocar em prática:

Vamos criar um arquivo em Java que abre uma GUI (Graphics User Interface) desejando a você um "Feliz Ano Novo! Boas festas!", é bem simples, mas vai demonstrar o que eu quero.


Segue o código do nosso arquivo gui.java:


import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;

public class gui extends JFrame {
    JPanel painel;
    JLabel msg;
    public gui() {
        super("UECEANO");
    }
    public void criaJanela() {
        painel = new JPanel();
        msg = new JLabel("Feliz ano novo! Boas festas!");

        painel.add(msg);

        getContentPane().add(painel, BorderLayout.CENTER);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        gui janela = new gui();
        janela.criaJanela();
    }
}



Pronto, até aqui temos o nosso arquivo em java. Para compilar e executar, abra o terminal e digite: javac gui.java && java gui  (Certifique-se que você tem o JDK e a JVM instalado no seu computador. Você poderá encontrá-los para download no site oficial). Certo, agora vamos ao segundo passo, criar o nosso executável de duplo clique:

Crie um arquivo em C ou C++ (ou qualquer outra linguagem compilada que crie um executável). Eu vou escolher C. Chamarei o meu arquivo C de AnoNovo.c. O código dele é bastante simples:


int main() {
    system("javac gui.java && java gui");
    return 0;
}

Pronto, só isso. Simples, não? Mas calma, agora vamos gerar o nosso executável em C que irá executar o nosso arquivo Java. Para criar, abra o terminal e digite make AnoNovo (certifique-se que você tem um compilador C instalado. Caso não o tenha, poderá baixá-lo com um sudo apt-get install gcc). Com isso, teremos o nosso arquivo AnoNovo.exe. Pronto, basta dar 2 cliques, e ele irá executar o nosso arquivo Java. :)

Antes, algumas observações:
  • Os arquivos precisam estar na mesma pasta.
  • Caso os arquivos estejam em uma pasta, e você crie um link, você precisará colocar o caminho da pasta na função system do AnoNovo.c ( Por exemplo: system("cd MeusDocumentos && javac gui.java && java gui");
  • Caso você esteja no Linux, você está dando 2 cliques e ele não está executando, faça os seguintes procedimentos:
  1. Clique no executável com o botão direito e em seguida, no menu, clique em Propriedades ;
  2. Abrirá uma janelinha com as guias "Básico", "Emblemas", "Permissões", "Abrir com" e "Notas". Clique na guia Permissões
  3. Marque a opção "Permitir execução do arquivo como um programa" e feche a Janela.


Sem mais, o seu executável agora já está funcionando corretamente. Desejo um feliz ano novo, boas festas, muita paz, saúde, amor e sucesso a todos!

Um grande abraço,

quarta-feira, 29 de dezembro de 2010

Padrões de Projeto de Software

Olá gente!

Você já ouviu falar de Padrões de Projeto? Ou o termo em inglês, Design Patterns? Bem, vamos formular umas perguntas e respostas:

1) O que é Padrões de Projeto?
2) Para que servem os Padrões de Projeto?
3) Como escolher o Padrão de Projeto do meu software?

Como diria Jack, o estripador, vamos por partes. Vou contar para vocês uma historinha que o meu orientando do laboratório que estou estudando, o Dr. Jerffeson Teixeira, contou em uma palestra sobre PP (Padrões de Projeto). Suponha que um alienígena veio estudar Engenharia de Software aqui na Terra. Mais especificamente, na UECE. O alienígena, vendo que todos iam para às aulas de roupa, perguntou a mim com que roupa ele deveria ir para as aulas (Aqui nós encontramos um problema: Como o alien deve ir para a aula). Eu, então, respondi: olha, estamos no Ceará, normalmente os alunos vão de bermuda ou calça e uma camisa (Uma solução. Uma solução USUAL).

Ok, vamos pensar. Bermuda ou calça + camisa. É a melhor solução? Bem, talvez sim, talvez não, mas de qualquer forma, é uma ótima solução, afinal, a grande maioria vai vestido assim, não é mesmo? Então voltando às perguntas:

1) Padrões de Projetos são boas ou até ótimas soluções para determinado software orientado à objeto a ser desenvolvido. Complementando um pouco mais com o Wikipédia: "os padrões de projeto visam facilitar a reutilização de soluções de desenho - isto é, soluções na fase de projeto do software, sem considerar reutilização de código. Também acarretam um vocabulário comum de desenho, facilitando comunicação, documentação e aprendizado dos sistemas de software."

Antes de continuar com o restante das respostas das perguntas, devo lhes confessar que há 2 tipos de PP: Padrões GoF (Trataremos um exemplo aqui) e Padrões GRASP (General Responsibility Assignment Software Patterns). GoF é um acrônimo de Gang of Four, formado por Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides. Vale lembrar o que GoF pode ser subdivido em três tipos de padrões:
  • Padrões de criação;
  • Padrões estruturais;
  • Padrões comportamentais.
Quem tiver realmente interessado no assunto, que vale a pena aprender, há diversos livros para download e para vender também.

2) Para que servem os Padrões de Projeto? Alguns exemplos já foram citados, tais como: criar um vocabulário comum entre desenvolvedores de software; são, geralmente, ótimas soluções; além disso, os padrões nos dão generabilidade, uma maior abstração, e os padrões têm sempre um contexto, um problema e uma (ou mais) soluções.

3) E qual o melhor Padrão de Projeto? Cada caso é um caso, já diz o ditado. Vai depender de que tipo de software você está desenvolvendo. Alguns aspectos a serem observados para lhe auxiliar na escolha do seu PP:
  • Conheça bem os Padrões de Projeto;
  • Considere como os padrões de projeto solucionam problemas de projeto;
  • Examine as seções de descrição do problema de cada padrão;
  • Estude como os padrões se interrelacionam;
  • Estude padrões de finalidades semelhantes;
  • Examine uma causa de reformulação de projeto;
  • Olhe exemplos dos padrões;
  • Considere o que deveria ser variável no seu projeto.

Para finalizar, eu gostaria de mostrar um exemplo de uma classe do Singleton, que é um Padrão de Criação do GoF, que garante a existência de apenas uma instância da classe. Você pode usar quando você necessitar de somente uma instância da classe, por exemplo, uma conexão com banco de dados. Suponha que você terá que chamar diversas vezes a conexão com o banco de dados em um código na mesma execução. Se você instanciar toda vez a classe de banco, haverá grande perda de desempenho. O singleton irá garantir para você que há apenas uma instância daquela classe. Enfim, vamos partir para o nosso exemplo da nossa classe em Java:

public class MySingleton {
     /* Instancia privada que será acessada */
     private static MySingleton myInstance;
     /* Construtor privado. Suprime o construtor público padrao. */
     private MySingleton() {
          /* Operações de inicialização da classe */
     }
     /* Método público de acesso único ao objeto! */
     public static MySingleton getInstance(){
           if(myInstance == null) {
                myInstance = new MySingleton();
           }
           return myInstance;
     }
 }


É isso. Quem tiver dúvidas, críticas, sugestões, por favor, comentem!
Abraços e até a próxima!

segunda-feira, 27 de dezembro de 2010

Seriados sobre Nerds

Olá!

Quem gosta de seriados de nerds e nunca ouviu falar de The Big Bang Theory?
Eu particularmente sou fã ("BAZZINGA"). Apesar do nerdismo de The Big Bang Theory, ele não é um seriado voltado para a comunidade da computação.

Felizmente, fiquei sabendo da existência recentemente (apesar da 1a temporada do seriado ter sido lançada em 2006 na Inglaterra) de um seriado muito engraçado sobre nerds. Chama-se IT Crowd. Sim, um seriado voltado para a área de Computação. Já assisti o primeiro episódio e tenho que confessar: é muito engraçado. O vídeo abaixo contém a abertura e uma das primeiras cenas. Não é à toa que o seriado já venceu os prêmios BAFTA e Emmy Internacional de melhor sitcom.


Quem tiver interesse e quiser baixar o seriado, poderá encontrá-los para download no:
Abraços,


domingo, 26 de dezembro de 2010

Gosta de programar? Teste seus conhecimentos!

Olá!

Não sei se todos são como eu, mas um dos meus passatempos favoritos é programar. Programar para mim é como um daqueles joguinhos casuais que a gente joga no celular quando estamos esperando numa fila, sempre que dá, a gente tá lá. Pois bem, existem sites com diversas questões de todos os tipos de dificuldade e variedade que você possa imaginar. O meu favorito é o SPOJ (Sphere Online Judge) http://br.spoj.pl. Nesse post vou explicar um pouco como funciona, criando uma conta no SPOJ e resolvendo um problema do site. Vamos lá:  

1) Como funciona? O site dá a sua tarefa (o que o seu programa deve fazer), as especificações da entrada, dá o limite da entrada (Por exemplo, o problema pede para calcular se um numero é primo ou não. Portanto ele dirá, por exemplo, que o maior número que ele vai testar é 2²¹), como deverá ser a formatação da saída* e dará um ou mais exemplo de entrada/saida.

2) Legal. Como crio minha conta?
    2.1) Clique onde tem escrito "register" no menu do lado esquerdo da tela.

    2.2) Escolha um nome de usuário

     2.3) Preencha o formulário do jeito que você achar mais conveniente para você. Depois, clique no botão "Atualizar".

    2.4) Confirme a sua inscrição no seu e-mail

    2.5) Clique onde tem escrito "status" para ver as submissões mais recentes que pessoas do brasil inteiro mandam. Lá você poderá ver o ID / Dia e hora da submissão / Usuário / Problema / Resultado / Tempo / Gasto de memória / Linguagem de Programação

    2.6) Clique em problemas e abrirá um banco de problemas para você se divertir. Note que embaixo de problemas abrirá um submenu com as opções "obi", "regionais", "seletivas", "sulamericana". Aviso de antemão que as questões da obi (olimpiada brasileira de informática) são as questões mais fáceis, no geral, mas não se enganem, há questões razoáveis lá. =)

3) Vamos resolver um problema simples: https://br.spoj.pl/problems/PRIMO/ em C++. Caso você não tenha um compilador de C++, uma boa opção é o CodeBlocks (http://www.codeblocks.org/downloads/26).

#include <iostream> /* Biblioteca onde tem
funções de entrada e saida */
#include <stdlib.h> /* Para usar a função abs() */

using namespace std;

/* Uma função que nos retornará true,
 se primo, false caso contrário */
bool eprimo(int n) {
    int aux = true;
    /* Verifica se existe algum número que
     seja divisivel por n, tal que 
    esse número é maior do que 1 e menor do que n */
    for ( int i = n - 1 ; i > 1 ; i-- ) {
        /* Se existir um número divisível por n,
       então ele não é primo */
        if ( n % i == 0 ) {
            /* aux recebe o valor falso e sai do laço, 
            pois não precisa mais testar outros casos */
            aux = false;
            break;
        }
    }
    return aux;
}

int main() {
    int n;
    /* Leio um número */
    cin >> n;
    /* n vai receber o módulo de n. Ou seja,
    se n = -4, n passa a ser 4 */
    n = abs(n);
    /* Se n for primo, 
    diferente de 1, -1 e 0, então imprima "sim" */
    if (eprimo(n) && n != 1 && n != -1 && n != 0)
       cout << "sim" << endl;
    else
    /* Caso contrário imprima "não" */
       cout << "nao" << endl;
    return 0;
}


E foi aceito com sucesso!

Obs: Os sinais de /*  */ são comentários de múltiplas linhas. Tudo que está
entre esses sinais será ignorado pelo compilador.


Por hoje é só. Qualquer dúvida, crítica, sugestão, por favor, comente.

Abraços e divirtam-se!

sábado, 25 de dezembro de 2010

Preocupado com o firesheep? Conheça o FireShepherd

Olá!

Como prometido no post anterior, fiquei de mostrar para vocês uma ferramenta que combatesse o FireSheep. Eis que lhes apresento o FireShepherd! Como ele funciona? Ele é um executável bem simples que apenas fica mandando uma série de pacotes sem sentido para o invasor. Parece simples demais, mas funciona bem. Quem quiser fazer o download do FireShepherd, baixe-o aqui:

http://notendur.hi.is/~gas15/FireShepherd/FireShepherd.exe

Basta executar e deixar o programa minimizado. Note que os pontinhos que ficam aparecendo no console são os pacotes sendos enviados. E assim, com tamanha simplicidade termino o post de hoje. De qualquer forma, é sempre bom ficar esperto quando estiver usando uma rede pública.

Um grande abraço e até a próxima!

sexta-feira, 24 de dezembro de 2010

Sequestro de conexões fácil: Firesheep

Olá!

Vendo as estatísticas de visitas do blog, vi que 48% dos usuários usam Windows e 1% usa Macintosh e o navegador mais usado é o Mozilla Firefox com esmagadores 80%. De fato, o firefox é, também, o meu navegador favorito. Para quem usa Windows e Mac, o firefox tem uma extensão bastante interessante. Trata-se do Firesheep, uma ferramenta de sniffing. Antes de explicar como instalar e usar o Firesheep, vamos falar um pouco de sniffing? Em redes de computadores, sniffing é um procedimento realizado por um sniffer. Simples, não? Definição pobre demais, vamos completar um pouco mais. Sniffer é uma ferramenta constituida de um software ou hardware que é capaz de interceptar e registrar o tráfego de dados em uma rede.

Como o firesheep funciona? Bem, pelo pouco que eu testei e li, ele sequestra sessões abertas numa mesma rede (wi-fi ou não). Aparentemente, quando estamos numa rede wi-fi privada ele não consegue capturar com sucesso as sessões. Imagino que por causa de protocolos etc. Mas ele funciona bem (segundo li, e que ainda vou testar pessoalmente) numa rede pública. Já imaginou que interessante você deixa o seu roteador sem senha e deixa seus vizinhos acharem que estão sendo espertos e usarem sua conexão e você roubar a sessão deles no twitter, facebook, dropbox etc? Ou então em um shopping cujo wi-fi é público? Bem, dá para brincar um pouco, hehe! Vamos ao que interessa, instalando o firesheep:

1) Seu SO precisa ser Windows ou Mac (não tem para Linux, ainda);
2) Instale, caso não tenha, o Mozilla Firefox da versão 3.6.12 ou mais nova, mas não funcionará com Mozilla 4.x beta. Você poderá encontrá-lo para download no site oficial (http://br.mozdev.org/download/);
3) Caso seu SO seja o Windows, baixe o Wincap (http://www.winpcap.org/install/bin/WinPcap_4_1_2.exe);
4) Baixe o firesheep (https://github.com/downloads/codebutler/firesheep/firesheep-0.1-1.xpi);
5) Para instalar basta arrastar o arquivo .xpi em cima de um ícone do Firefox e seguir as instruções;

Pronto, após esses passos o firesheep deverá ter sido instalado corretamente. Como usá-lo? Abra o navegador Firefox e clique em Exibir > Painel > Firesheep ou simplesmente segure CTRL + SHIFT + S e abrirá um painel do lado esquerdo do navegador. Na parte inferior do painel você verá dois botões. Clique e explore o conteúdo. Verá que em Preferences > Websites o firesheep consegue fazer uma captura de sessões de sites tais como:
  • Amazon.com
  • Basecamp
  • bit.ly
  • Cisco
  • CNET
  • Dropbox
  • Enom
  • Evernote
  • Facebook
  • Flickr
  • Foursquare
  • GitHub
  • Google
  • Gowalla
  • Hacker News
  • Harvest
  • Windows Live
  • New York Times
  • Pivotal Tracker
  • ToorCon: San Diego
  • Slicehost SliceManager
  • Tumblr.com
  • Twitter
  • Wordpress
  • Yahoo
  • Yelp
Beleza, e agora, como faço para sequestrar as sessões? Bem, é simples, clique no botão Start  Capturing.
    É uma variedade bem grande de sites. Você pode estar pensando que as pessoas que criaram o firesheep estavam mal intencionadas. Mas na verdade, o intuito deles era mostrar ao mundo que vários sites, especialmente os de redes sociais, tem uma criptografia fraca e não dá segurança nenhuma ao usuário. O firesheep, na verdade, foi criado com uma boa intenção para que a segurança de informações cresça e fortaleça, garantindo uma tranquilidade a mais aos usuários. Aproveitando o papo de redes sociais, quem quiser me seguir no twitter: http://www.twitter.com/_rbpessoa.

    E assim, termino o post. Desejo a todos um feliz natal, uma festa repleta de alegrias e de Deus! E nunca esqueçam o verdadeiro significado do natal.

    Ei, espera, e agora? Como faço para me defender do firesheep? Aguarde o próximo post. :)


    Abraços,

    quinta-feira, 23 de dezembro de 2010

    Uma introdução ao Extreme Programming (XP)

    Olá!

    Ontem (ou foi hoje?), eu estava estudando Java (da série Use a cabeça!, excelente, por sinal) e o livro citava um pouco de Extreme Programming. Fiquei surpreso, pois nunca tinha ouvido falar deste termo antes. Afinal, o que é o Extreme Programming? Trata-se de uma metodologia de desenvolvimento ágil (e de alta qualidade) de software que nasceu Estados Unidos nos anos 90 e tem se espalhado no mundo inteiro fazendo muito sucesso. O segredo do XP baseia-se em princípios, valores e boas práticas de programação. O grande destaque da XP é que o cliente obtém o que deseja, quando deseja, mesmo quando as especificações são alteradas na última hora. Falei um blablabla e tal, mas vamos ao que realmente interessa, que tais práticas são essas? Eis algumas:
    • Criar versões pequenas, mas frequentes;
    • Desenvolver em ciclos repetitivos;
    • Não inserir nada que não esteja na especificação (não importa o quanto você fique tentando criar funcionalidades "para um uso futuro");
    • Escrever o código de teste primeiro;
    • Não seguir prazos apertados, cumprir as horas normais;
    • Redefinir (aperfeiçoar o código) quando e onde notar a oportunidade;
    • Não lançar nada que não tenha passado por todos os testes;
    • Definir prazos realistas, baseando-se em versões pequenas;
    • Manter a simplicidade;
    • Programar em pares e com rotatividade para que todos conheçam bem tudo sobre o código.
    Podem ser práticas muito simples, mas se você prestar bem atenção, verá que tais práticas são essenciais para o desenvolvimento de um software de qualidade. Já pensou você desenvolver um código quase só, e os colegas de trabalho conhecerem muito mal o que uma função ou método faz? Ou até mesmo o código inteiro? Perde-se muito tempo tentando explicar o objetivo e o funcionamento do código, tempo que poderia ser convertido em como o seu colega poderia lhe ajudar a resolver o seu problema etc. É um ganho de tempo e qualidade inimaginável. Eu, particularmente, achei muito interessante. Quem quiser se aprofundar mais, existe o livro "Extreme Programming" do autor Vinicius Manhaes Teles. Quem tiver realmente interessado e quiser dar uma conferida no livro, http://www.submarino.com.br/produto/1/225051/extreme+programming . Eu estou querendo comprá-lo, mas vou esperar esse ano acabar, to com muita coisa para pagar já, hehe! Enfim, por hoje é só!

    Abraços,

    terça-feira, 21 de dezembro de 2010

    O foco é essencial.

    Olá a todos!

    Hoje estou com o tempo bem curto para postar algo legal, mas vou compartilhar com vocês um trecho de um dos livros que estou lendo no momento, "A cabeça de Steve Jobs", do autor Leander Kahney.

    "Estou procurando um lugar que precise de muitas reformas e consertos, mas que tenha fundações sólidas. Estou disposto a demolir paredes, construir pontes e acender fogueiras. Tenho uma grande experiência, um monte de energia, um pouco dessa coisa de 'visão' e não tenho medo de começar do zero."

    -Currículo de Steve Jobs no site .Mac da Apple.

    segunda-feira, 20 de dezembro de 2010

    Usando o seu celular para conectar-se à internet no computador

    Olá!

    Já pensou em usar o seu celular como modem para acessar a internet por apenas R$0,50 por dia? Sabe quando você vai à um lugar com o seu notebook/netbook desprovido de internet, seja wifi ou não e você queria muito acessar a internet sem ser através da telinha do seu celular? Bom, para quem é pobre como eu e não tem $$$ para pagar esses modem 3G da Vivo, Claro etc, esse post será uma boa saída. Para quem ainda não sabe, quem tem chip da tim (e um celular, óbvio) pode acessar a internet através do celular por apenas 50 centavos por dia. Então o macete de hoje é o seguinte: usaremos nossos celulares como modem para nos conectarmos à internet.

    Material:
    1) 1 (um) celular que tenha cabo usb, com chip da TIM e com créditos.
    2) Software: Gnome-ppp*

    *Nota: Caso você ainda não tenha o gnome-ppp instalado, você pode instalá-lo digitando no terminal sudo apt-get install gnome-ppp.


    Pois bem, vamos colocar a mão na massa:
    1) Conecte seu celular ao pc usando o cabo usb.
    2) Abra o terminal
    3) * Digite sudo gnome-ppp


    4) Em seguida, configure-o como na figura abaixo:


     
    Onde tem "senha", digite a senha do seu computador.

    5) Clique no botão "Configuração". Nessa guia não mexa em nada, clique apenas no botão "Detectar", como mostra a figura abaixo:
     Aparecerá umas "loucuras" no seu terminal, mas nada com que se preocupar

    6) Clique na guia "Opções" e configure como a figura abaixo:
    Desmarque a opção "Verificar portadora" e marque a opção "Ignorar sequencias de terminal (modo burro)"

    7) Feche a janela de Configuração e clique no botão "Conectar".

    Espere alguns segundos e... pronto! Você está conectado à internet. =)
    Mas antes, algumas observações:
    1) Esse tipo de operação não é legal, a tim não quer que você faça isso. Mas desde que você não baixe arquivos, navegue só na internet, eles não vão perceber.
    2) Caso você seja descoberto, eu não me responsabilizo por dano algum.
    3) Verifique se o modo offline está desmarcado no seu navegador.
    4) Algumas vezes aparecerá "conectado", mas ele não funcionará. A solução que eu tive é uma das duas: 
        4.1) Desconecte e conecte novamente;
        4.2) Caso o item 4.1 não tenha resolvido o seu problema, restaure as configurações de internet do seu celular


    * O gnome-ppp pode ser aberto em Aplicativos > Internet > gnome-ppp , porém não funcionará. Por algum motivo que, por ora, eu desconheço, para conectar-se à internet desse modo precisa ser root. Por isso que no passo 3 precisamos abrir o gnome-ppp com o sudo no terminal.

    Obs: É possível conectar-se à internet usando o seu celular no Windows também. Procure algum "Internet Kit", ou algum discador, configure como no post e ele funcionará também, mas não garanto que dará certo para qualquer celular.

    É isso, por hoje foi só. Espero que o post ajude outras pessoas como eu. :) Comentem!

    Abraços,

    Criando a senha usuário root no linux

    Olá, amigos!


    Como esta é a minha primeira postagem no blog, vou ensinar agora algo bem simples, mas que será útil na minha próxima postagem, que é criar a senha do usuário root no linux. Para quem não sabe, todo sistema operacional tem um usuário cujo acesso é irrestrito a todos os arquivos na máquina. O root também é conhecido como uma conta de "administrador". Pois bem, o usuário root pode limitar os acessos a arquivos/processos a qualquer usuário da máquina (inclusive a si mesma). Uma maneira de verificar a quem está acessível um arquivo é o comando utulizado no terminal ( Aplicativos > Acessórios > Terminal ) ls -l nomedoarquivo. Por exemplo:


    Ou seja, o arquivo pertence ao usuário "rafael" do grupo "rafael" (o nome do usuário e grupo do meu pc é rafael, por isso que apareceu 2x no meu terminal).

    O comando su: uma abreviação de substitut user, nos permite 'logar' como outro usuário. Por exemplo su rafael. Mas su também é uma abreviação de super user, portanto se digitarmos somente su no terminal, ele tentará se logar como root e pedirá a senha, mas caso seja a primeira vez, precisamos criar a senha do root primeiro usando o comando sudo.

    O comando sudo: nos dá alguns privilégios de outro usuário, inclusive o root. Usaremos ele para criar nossa senha do root. Digite no terminal sudo passwd, em seguida digite a sua senha. Em seguida, ele pedirá para você digitar a senha do root e a confirmação.


    Pronto, sua senha do root já foi criada. Para obter as regalias do root, basta digitar no terminal su e em seguida digitar a sua senha.


    E para sair do modo root basta digitar exit. É isso, gente, hoje foi bem simples mas no próximo post será mais interessante para alguns. Obrigado e até a próxima.