sexta-feira, 25 de julho de 2014

Liberar logon de root no modo gráfico

Por padrões de segurança o usuário root não tem permissão de acessar o modo gráfico do linux. Porém embora não seja uma opção recomendada pode ser necessário utilizá-lo para fazer algumas configurações em modo gráfico. De qualquer forma aqui vai um tutorial sobre como fazer essa alteração na configuração:

Logue-se no modo texto ou abra um terminal como root.
Edite o arquivo gdm3:

#vim /etc/pam.d/gdm3

Você ira encontrar a seguinte linha:

auth      required                pam_succeed_if.so      user !=root    quiet_success

Altere a linha para uma das maneiras abaixo: 

1. Para permitir logon somente do usuário root no modo gráfico:

auth      required                pam_succeed_if.so      user =root    quiet_success

2. Para permitir logon de todos os usuários inclusive do root no modo gráfico:



auth      required                pam_succeed_if.so

quinta-feira, 24 de julho de 2014

Desabilitar Ctrl + Alt + Del no Linux

Hoje iremos ver como bloquear a função Ctrl+Alt+Del. No linux ao pressionar estas teclas você envia o comando de reiniciar o sistema. É possível remover essa função e colocar outra função ou um texto no lugar. Neste post iremos ver como colocar uma mensagem no lugar do comando.




Listar Configurações de Hardware

Boa noite! Hoje vamos ver como listar as informações de hardware do computador em arquivo .txt. Vez ou outra precisamos saber o modelo de um dispositivo do computador e não temos nenhum programa disponível para isso. O próprio Windows, através do prompt de comando, lista todas as informações básicas de hardware do seu computador.

Para isso abra o prompt de comando do seu computador. Você pode encontrá-lo acessando o Executar e digitando CMD. 

Quando o prompt abrir você deve digitar: systeminfo para listar no prompt as informações de hardware.


Para salvar essas informações em .txt você deve utilizar o seguinte comando: systeminfo > nome_do_arquivo.txt 


Este comando cria um arquivo com o nome que você definir (no caso do exemplo hardware) dentro do diretório que você se encontra no prompt. No exemplo acima o arquivo se encontra em C:\Users\Administrador.

terça-feira, 22 de julho de 2014

Alterar Memória de Paginação

A memória de paginação - ou memória de swap, no Linux -  é um processo de divisão de memória em que o sistema passa a utilizar o disco rígido como uma memória RAM adicional quando toda a memória do computador está em uso.
A memória de paginação pode ser definida automatica ou manualmente. Deve-se atentar para o fato de que, como a memória RAM é mais rápida do que o disco rígido o uso excessivo da memória de paginação deixa o processamento mais lento. Para uma boa performance deve-se utilizar, pelo menos, 1.5 vezes a memória RAM na memória de paginação.

Como alterar o valor da memória de paginação:


  1. Clique no menu Iniciar > Painel de Controle > Sistema e Segurança > Sistema > Configurações avançadas do Sistema 
  2. Na guia Avançado clique em Desempenho e Configurações
  3. Em memória virtual clique em Alterar 
  4. Desmarque Gerenciar automaticamente o tamanho do arquivo de paginação de todas as unidades.
  5. Em Unidade [Rótulo do Volume] clique na unidade que está o arquivo de paginação que você deseja modificar o tamanho
  6. Clique em Tamanho Personalizado e digite o valor desejado. Depois clique em Definir.



                                           





segunda-feira, 21 de julho de 2014

DHCP NO MICROTIK

Ainda na onda de RouterBoard aqui vai um vídeo de como configurar um servidor de DHCP na sua RB:


domingo, 20 de julho de 2014

Mikrotik: First Steps

Boa Tarde!! Resolvi aproveitar o dia de hoje e aventurar-me com o Mikrotik. Para quem não sabe o que é aqui tem um link sobre isso.

A primeira dificuldade foi resetar o equipamento. Eu estava com um pré-configurado, porém não tinha a senha. Fazer o hard reset dele é simples: 

1º Desligue a routerboard e com uma chave de fenda feche curto nesse jumper:


Depois disso você pode usar o winbox para acessar a sua rb. Para fazer o download do winbox o link é este: http://demo2.mt.lv/winbox/winbox.exe

Conecte o cabo de rede em uma das interfaces da sua rb e no seu pc. Abra o winbox e conecte-se via MAC.


Caso não liste o MAC da sua RB desative interfaces de VPN, máquina virtual e coisas do tipo que estejam no seu computador. Elas interferem na listagem. O usuário de acesso padrão é admin sem senha!

Quando você faz o primeiro acesso depois do reset ele mostra uma tela com as configurações automáticas que ele fez. Nesta tela você pode ver também o script utilizado para a primeira configuração dele.




domingo, 6 de julho de 2014

SQUID + SARG + AUTENTICAÇÃO NO AD

Olá! Cá estou em mais uma noite tediosa de sábado (já que por aqui não tem muito o que fazer) e resolvi configurar um servidor de proxy, com autenticação de usuários no active directory, relatórios do sarg e quem sabe transparente também?

A configuração inicial básica do proxy está pronta, a minha irá funcionar sem bloqueios a princípio, somente para log de acesso. Aí vai como configurar:

1º Instale o squid:

#aptitude install squid

Caso esteja usando os DVDs do Debian 7 para instalação, ele encontra-se no disco 2.

2º Deixe no arquivo de configuração somente as linhas não comentadas do arquivo squid.conf:

#egrep -v "^$|#^" squid.conf > squid.conf.new

3º Mova o arquivo original do squid para um arquivo de backup e deixe o novo arquivo criado com o comando egrep como squid.conf. Será nesse arquivo que iremos fazer as configurações agora.

4º A princípio seu arquivo deve ficar assim:

acl all src all
acl manager proto cache_object

acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32

# SUA REDE LOCAL
acl localnet src 192.168.1.0/24

acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT

acl purge method PURGE
acl CONNECT method CONNECT

#SUAS REGRAS DE COISAS A BLOQUEAR OU LIBERAR DEVEM VIR AQUI.
acl bloqueio dstdom_regex "/etc/squid/bloqueio"

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost


#A PARTIR DESTE PONTO SERÃO INSERIDAS AS REGRAS DE LIBERAÇÃO/BLOQUEIO QUE IREMOS UTILIZAR
http_access deny bloqueio

http_access allow localnet
http_access deny all


icp_access allow localnet
icp_access deny all

http_port 3128

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880
refresh_pattern . 0 20% 4320

acl shoutcast rep_header X-HTTP09-First-Line ^ICY.[0-9]
upgrade_http0.9 deny shoutcast

acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts

coredump_dir /var/spool/squid


5º Reinicie o squid:

#invoke-rc.d squid restart

6º Configure o proxy na máquina (já que o proxy não está configurado como transparente) e teste o acesso.

quarta-feira, 25 de junho de 2014

Jogo, jogo

Já que estou no ritmo dos jogos, achei mais um em javascript por aqui:

// Conhecendo o jogador
var user = prompt("Qual seu nome?");
// Começando o jogo
var question = prompt("Você está em seu caminho para Cair Paravel e encontra um troll impedindo sua passagem. O que você faz? Corre, luta, paga ou é alguém importante?").toLowerCase();
// Opções de ação
switch(question) {
    case 'corre':
        var rapido = prompt("Você é rápido?").toLowerCase();
        var vantagem = prompt("Você está em vantagem?").toLowerCase();
        if(rapido === 'sim' || vantagem === 'sim') {
            console.log("Você conseguiu fugir! Quanta sorte!!!!");
            }
        else {
            console.log("Está louco?? Claro que você virou almoço de ogro!!");
        }
        break;
    case 'luta':
        var coragem = prompt("Você é corajoso?").toLowerCase();
        var forte = prompt("Você é forte?").toLowerCase();
        if(coragem === 'sim' && forte === 'sim') {
            console.log("Você conseguiu fugir! Quanta sorte!!!!");
            }
        else {
            console.log("Um dos dois não vai adiantar de nada! É um ogro!! Divirta-se sendouma refeição");
        }
        break;
    case 'paga':
        var dinheiro = prompt("Você tem dinheiro?").toLowerCase();
        var riqueza = prompt("Você tem algo que poderia dar no lugar do dinheiro?").toLowerCase();
        if(dinheiro === 'sim' || riqueza === 'sim') {
            console.log("Essa foi por pouco!! Sorte esse ogro ser capitalista!");
            }
        else {
            console.log("Você prefere ser servido de que jeito?");
        }
        break;
    case 'alguém importante':
        var pedro = prompt("Você é o Grande Rei Pedro?").toLowerCase();
        var suzana = prompt("Você é a Grande Rainha Suzana?").toLowerCase();
        var lucia = prompt("Você é a Rainha Lúcia?").toLowerCase();
        var edimundo = prompt("Você é o Rei Pedro?").toLowerCase();
        if(pedro === 'sim' || suzana === 'sim' || lucia === 'sim' || edimundo === 'sim') {
            console.log("O ogro lhe concedeu passagem obviamente majestade.");
            }
        else {
            console.log("Você está comproblemas, grandes problemas.");
        }
        break;
    default:
        console.log("Não entendi sua resposta");
        break;
}

Jogos

Aproveitando o ritmo do último post, lá vai mais um joguinho criado no CodeAcademy.

//Check if the user is ready to play!
confirm("Você está pronto para jogar?");
//Age
var age = prompt("What's your age?");
if (age >= 18)
{
console.log ("Divirta-se");
}
else
{
console.log("Não me responsabilizo por seus atos");
}
//História
var Intro = "Snow White and Batman were hanging out at the bus stop, waiting to go to the shops. There was a sale on and both needed some new threads. You've never really liked Batman. You walk up to him.";
console.log(Intro);
//First
console.log("Batman glares at you");
var userAnswer = "Are you feeling lucky, punk?";
prompt(userAnswer);
//Go ahead
if (userAnswer === "Yes")
{
console.log("Batman hits you very hard. It's Batman and you're you! Of course Batman wins!");
}
else
{
console.log("You did not say yes to feeling lucky. Good choice! You are a winner in the game of not getting beaten up by Batman");
}
//Feedback
var feedback = prompt("Feedback");
if (feedback > 8)
{
console.log("This is just the beginning of my game empire. Stay tuned for more!");
}
else
{
console.log("I slaved away at this game and you gave me that score?! The nerve! Just you wait!");
};

terça-feira, 24 de junho de 2014

Programa em Javascript

Já que eu ainda não sei o que fazer aqui exatamente, vou postar o primeiro jogo que eu fiz em javascript com o CodeAcademy.

var slaying = true;
var youHit = Math.random();
var damageThisRound = Math.floor(Math.random() * 5 + 1);
var totalDamage = 0;

while (slaying) {
  if (youHit) {
      console.log("You hit!");
      totalDamage += damageThisRound;
          if (totalDamage >= 4) {
              console.log("You win!");
              slaying = false;
          } else {
              youHit = Math.floor(Math.random() * 2);
          }
  } else {
      console.log("You lose!");
      slaying = false;
  }
}

1,2,3 Testando!

Olá! Testando template e post e blog. Vamos descobrir no que dá isso ai.