terça-feira, 27 de novembro de 2012

Compartilhamento samba com SELinux ativado

Não consegui ainda muita informação sobre os comandos do SELinux, mas há casos que se tem que resolver imediatamente e para esses caso que vou postar essa dica:
Quando fazemos um compartilhamento samba em uma máquina com o SELinux ativado nenhum parâmetro do samba faz com que tenhamos êxito em compartilhar uma pasta de forma totalmente livre, mesmo que coloquemos tudo liberado o sistema ainda pedirá senha para um compartilhamento sem senha.

Para isso faça o compartilhamento normalmente no arquivo /etc/samba/smb.conf samba.
Exemplo:

     [publico]
       comment = Pasta pública
       path = /publico
       public = yes
       read only = no
       writable = yes
       browseable = yes
       guest ok = yes

* Esse aqui é o exemplo apenas do compartilhamento em si, tem as configurações do "global " também que não vou citar agora.

Depois disso utilize o comando abaixo para que o SELinux permita esse compartilhamento:

# chcon -R -t samba_share_t   /publico

Pronto, agora seu compartilhamento já será acessível.

domingo, 14 de outubro de 2012

SSH reverso.

Muitas vezes precisamos dar acesso para outra pessoa em uma máquina mas o problema é que essa máquina não tem um "IP Válido" e nem nos é permitido instalar algo como Teamviewer ou VNC por ser um servidor e, algumas vezes, não ter ambiente gráfico.
Poucas pessoas conhecem um sistema chamado de SSH Reverso, através dele podemos abrir uma conexão para alguém a partir do servidor que está dentro de uma rede sem "IP Válido". Claro, a outra máquina tem que ter uma forma de ser acessada na internet. Sugiro que quando não possuírem "IP Válido" disponível utilizem um sistema de DNS Dinâmico para terem endereçamento real na internet, mas não se esqueçam de manter um bom firewall.

Para a explicação vamos nomear as máquinas envolvidas:
    Servidor = Será a máquina que está dentro da rede interna e da qual vamos abrir o túnel reverso para permitir que a outra máquina tenha acesso.
     Desktop = Será a máquina com endereço válido (IP ou DDNS) o qual será usado para acessar o servidor. Usaremos nele a nomenclatura de DDNS desktop.dom.info


O SSH Reverso funciona da seguinte maneira:

1- Do SERVIDOR digitaremos o seguinte comando:
     # ssh -R 2222:localhost:22  desktop.dom.info -l root

Onde:
     -R = Determina que será usado SSH Reverso;
     2222 = É a porta que será ativada no "desktop.dom.info";
     22 = É a porta utilizada pelo SSH-Server para receber a conexão de volta;
     -l root = Determina que será utilizado o usuário root para esse acesso.

2- Após digitar a senha e efetuar o acesso ao desktop.dom.info abra um terminal no desktop.dom.info e digite o seguinte comando:

$ ssh -p 2222 root@localhost 

Onde:
     -p 2222 = Indica a porta que foi aberta no desktop.dom.info para o túnel;
    root = É o usuário que efetuará a conexão, pode ser qualquer outro previamente definido;
    localhost = É a máquina local que, devido ao túnel está redirecionando tudo da porta 2222 para o Servidor.

Pronto, a partir de agora você está no servidor mesmo sem ele ter "IP Válido"

quinta-feira, 27 de setembro de 2012

Programas da mozilla não abrem

Os programas da mozilla, thunderbird e firefox, vez ou outra  nos pregam uma peça. Não sei se isso ocorre em Windows também, mas no linux isso, normalmente, ocorre quando se desliga o computador sem fechar os programas como em caso de queda de energia.
Quando tentamos abrir eles acusam que já estão em execução e não abrem.
Pra resolver esse problema devemos localizar dentro da pasta do usuário em questão os arquivos lock e .parentlock dos respectivos programas. No thunderbird eles ficam no diretório .thunderbird/xxxxxxx.default e no firefox no diretório .mozilla/firefox/xxxxxxx.default (xxxxxxx é um número aleatório criado pelo sistema).
Existem várias formas de fazer isso, vou sugerir apenas uma:

$ find . -name "*lock*"

O resultado será a localização dos arquivos então remova-os utilizando o comando rm.

sábado, 22 de setembro de 2012

Remover lista longa de arquivos

Há momentos que vamos tentar remover uma quantidade muito grande de arquivos e recebemos a  mensagem "/bin/rm: Lista de argumentos muito longa". Eu ainda não procurei saber qual é o limite para o comando rm, creio que tenha haver com o sistema de arquivos utilizado.
Para forçar a remoção desses arquivos podemos utilizar vários métodos, um dos que acho mais simples, e por isso estou postando-o, é u uso do comando find com a opção -remove como no exemplo abaixo:

find . -name  "*.xxx" -delete

Onde:

find = Ótima ferramenta para pesquisa em disco;
. = Define que o diretório a ser pesquisado é o atual, pode ser substituído pelo caminho de início da pesquisa.
-name = Determina que o parâmetro que será pesquisado é o nome do arquivo.
-delete = É a "mágica" dessa dica, determina que os arquivos localizados serão apagados.
"*.xxxx" = São os arquivos que serão afetados, com as aspas.


domingo, 2 de setembro de 2012

Prioridade para usuários através do PAM

Entre as várias utilidades do PAM (Pluggable Authentication Module) está a possibilidade de definir a prioridade que os programas executados por determinado usuário.
Isso é muito útil em sistemas de servidores de terminais, por exemplo, em momentos onde se faz necessário dar prioridade para que um determinado usuário efetue tarefas essenciais. 

Para isso devemos adicionar a linha abaixo ao arquivo /etc/security/limits.conf:

usuário            hard    priority        -15


Onde:

usuário = É o login do usuário que terá privilégios.
hard     = Determina que esse parâmetro será respeitado sempre, em detrimento de qualquer outro.
priority = É o parâmetro que define o que está sendo alterado, nesse caso a prioridade dos processos.
-15      = É um valor de exemplo, que deve ser definido com um valor entre 20 e "-20". O padrão é 20 e quanto menor o número maior será a prioridade do processo sobre os outros.

Ps. Se você colocar todos os usuários com prioridade alta não adiantará nada, aliás, pode dar alguns problemas.

domingo, 26 de agosto de 2012

Prevenindo fork-bomb

Primeiramente:
O que é um fork-bomb??
É uma forma de fazer sistemas operacionais travarem por colocar uma função em loop "eterno" e, muitas vezes, isso pode ser feito com usuário comum.

Não vou colocar aqui nenhum dessas formas para "não dar armas aos inimigos" mas sei que quem quiser vai conseguir essa informação.
Para prevenir esse tipo de problema no linux devemos alterar os arquivos:
 /etc/pam.d/login descomentando ou adicionando a linha:
"session    required   pam_limits.so"

/etc/security/limits.conf adicionando ou descomentando a linha:

"*               hard    nproc             100"

* Ambas sem as aspas, claro.

Isso fará com que os usuários possam executar no máximo 100 processos ao mesmo tempo e dessa forma evitando o loop citado anteriormente.
Deve-se sempre se lembrar dessa alteração pois caso comecem ocorrer alguns problemas de alguns usuários não conseguirem executar certas funções isso pode ser por causa desse limite.


domingo, 5 de agosto de 2012

Utilizar USB em máquina virtual Virtualbox

     Nem sempre é possível utilizar os dispositivos USB sem efetuar alguns ajustes. No Debian ocorrem alguns problemas e um deles é a disponibilidade dos drivers USB do Virtualbox para os usuários então é necessário fazer algumas alterações:

1- No arquivo  /etc/udev/rules.d/10-vboxdrv.rules devemos mudar as permissões dadas aos dispositivos USB compartilhados com a máquina convidada, para isso devemos alterar a diretiva MODE de "0600" para "0666" na linha de configuração do "kernel". 
A linha estará assim:

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0600"

E deverá ficar assim:

KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="root", MODE="0666"

2-   Devemos também efetuar uma alteração no arquivo /etc/group:
    Nele temos a linha "vboxusers:x:121:" e devemos adicionar o nome dos usuários que utilizarão o Virtualbox ao final dela, ficando assim:

vboxusers:x:121:usuario1,usuario

Após efetuar essas alterações, como qualquer outra alteração no arquivo /etc/group, temos que reiniciar a sessão do usuário que queremos que utilize o Virtualbox.


Nesse caso o cenário é Host com Linux Debian Squeeze e Guest com Windows 7.

Ps. A adição do usuário ao grupo vboxusers pode ser feita também por linha de comando ao invés de editar o arquivo /etc/group.

quarta-feira, 25 de julho de 2012

Uso do gconf-editor

Para alterar configurações do ambiente de trabalho do gnome a ferramenta indicada é o gconf-editor. Essa ferramenta muda as configurações do usuário que a está utilizando e não de todos os usuários do sistema.
Alguns exemplos de o que altera-se com essa ferramenta:

1- Desabilitar ou habilitar a visão de alguns ícones da área de trabalho:
   - apps->nautilus->desktop = Na janela da direita aparecerão os itens a serem habilitados ou desabilitados.

2- Evitar alterações nos paineis:
  - apps->panel->global = Habilite a opção "locked_down"


*Esse post será atualizado dia-a-dia já que as funções são muitas.

domingo, 22 de julho de 2012

Erro de som no Debian em desktop

    Quando instalamos o debian em desktop encontramos alguns probleminhas e isso ocorre mesmo na versão squeeze. A que mais me incomodou foi o erro de som. O som funcionava perfeitamente em aplicativos locais mas em alguns sites, como o youtube, não.

Para corrigir isso basta remover o pulseaudio:

# apt-get purge pulseaudio

Sugiro que reinicie o sistema após remover. Isso não é obrigatório, mas é recomendável e mais simples.
Assim o alsa será o responsável por todo o som do sistema.

Montar compartilhamento samba de servidor FreeBSD em cliente linux

Para montar, em um cliente linux, uma pasta compartilha via samba em um servidor FreeBSD devemos seguir detalhadamente alguns procedimentos, o principal é utilizar informações como uid e gid.
Considerando que o compartilhamento já esteja disponível no servidor e o ponto de montagem criado na pasta /mnt/servidor basta que editemos o /etc/fstab no cliente adicionando a linha:

//192.168.1.1/documentos /mnt/servidor cifs defaults,username=usuario,passwd=senha,uid=1019, =1019 0 0

Onde:
//192.168.1.1 = É o ip do servidor;

/documentos = É o nome do compartilhamento disponibilizado no samba;

/mnt/servidor = É o ponto de montagem criado no cliente;

cifs = É o novo (nem tanto) sistema de arquivo usado para se referir aos compartilhamentos samba, substituindo o smbfs.

defaults = Define que serão aceitas as configurações de defaults (rw, suid, dev, exec, auto,  nouser e async)
username=nome do usuário criado no samba do servidor.
passwd= a senha do usuário criado no samba do servidor.
uid= O id do usuário no sistema freeBSD.
gid= O id do grupo no sistema freeBSD.

0 0 = opções do fstab que não serão explicadas aqui porque exigem um pouco mais de detalhamento. Deixe 0 e 0 por padrão.

   O detalhe importante é a utilização dos parâmentros de identificação do usuário (uid) e grupo (gid) do usuário que será utilizado para efetuar a montagem.

Desmontar dispositivo ocupado

Tem coisa mais chata de que receber um "device is busy" quando usamos o umount??

Para forçar a desmontagem do dispositivo devemos utilizar a opção "-l".

# umont -l "ponto de montagem"

Isso funciona na maioria dos casos. Para os demais sugiro procurar informações sobre o comando fuser.

domingo, 15 de julho de 2012

Montando dispositivos criptografados pelo truecrypt via linha de comando

Existem vários tutoriais de instalação do truecrypt pela net e ele é muito fácil de ser utilizado então não vou entrar nesses detalhes aqui. O intuito aqui é explicar como montar via linha de comando.
A linha de comando abaixo pode ser colocada em um script e executado a qualquer momento e até mesmo na inicialização do sistema: 

truecrypt -t --mount "dispositivo" -k "arquivochave"  "ponto de montagem" --non-interactive -p "senha"

-t = Determina que o programa será executado em modo texto;

--mount = Determina a ação de montagem será executado pelo programa;

"dispositivo" = Substitua isso pelo dispositivo que será montado (ex. /dev/sdc).

-k "arquivochave" = Pela interface gráfica do truecrypt você deverá criar um arquivo que servirá como "chave" para seu disco. Defina aqui o caminho desse arquivo.

--non-interactive = Determina que não haverá interatividade com o usuário, tudo será executado conforme o comando;

-p "senha" = Coloque a senha que você definiu quando criou o volume.


Estou estudando a forma de fazer essa montagem a partir do /etc/fstab, assim que achar posto aqui. Já fiz isso a alguns anos mas não documentei.

Dica: Evite criptografar a pasta /home ou as de sistema pois isso diminuirá o desempenho do sistema, sugiro que mantenha 2 discos, um será o disco de sistema, não criptografado e outro criptografado com os seus dados. Sugiro ainda mais, utilize um SDD como disco de sistema, isso fará seu sistema ganhar um grande desempenho.

sexta-feira, 15 de junho de 2012

Alterar configurações de menus no Gnome3

Quando fazemos a instalação básica do Debian com o gnome3 não conseguimos adicionar, remover ou mover itens do menu "aplicativos" para que isso seja possível temos que adicionar o pacote "alacarte" como o comando:

# apt-get install alacarte

Agora é só clicar o botão direito no menu "aplicativo", escolher "Editar menus" e poderá adicionar, remover ou alterar aplicativos ao menu.

quarta-feira, 13 de junho de 2012

Adicionar suporte os M$Sql ao php 5.3 no Debian

Para habilitar o suporte ao MSSql do php 5.3 em servidores Debian basta adicionar os pacotes freetds-dev, freetds-bin, libaprutil1-dbd-freetds, libdbd-freetds e php5-sybase

Para isso use o comando:
# apt-get install freeteds-dev freetds-bin libaprutil1-dbd-freetds libdbd-freetds php5-sybase

Configure o arquivo /usr/share/freetds/freetds.conf adicionando o item para seu banco de dados ao final dele conforme esse exemplo:

[servidor_sql]
   host = 192.168.0.99
   port = 1433
   tds version = 8.0

onde:

"[servidor_sql]" = é um nome que o sistema usará para se referir ao ser servidor.
"host = 192.168.0.99" = é o ip do seu servidor.
"port = 1433" = é a porta disponibilizada pelo servidor M$Sql
"tds version = 8" =  é a versão do tds


Em seguida faça um reload do apache.

Então tente a conexão a partir do FreeTDS com o seguinte comando:


tsql -S servidor_sql  -U "usuário" -P "senha" -D "bancodedados"


Ser você receber uma mensagem de erro parecida com essa:

Msg 18456 (severity 14, state 1) from [servidor_sql]:
 "Falha de logon do usuário 'youruser'."

Significa que você, ou o administrador do M$Sql, terá que efetuar uma alteração no servidor.
Utilizando o sistema de administração do Windows 
  1- abra as propriedades do servidor do Banco de dados;
  2- Clique no ítem "security" e mude o modo de autenticação
         de "Windows Authentication Mode"
         para "Sql Server and Windows Authentication Mode"
   3- Reinicialize o servidor M$Sql.

Repita o comando tsql, se não conectar reveja essas configurações.








segunda-feira, 11 de junho de 2012

Mudar aparência do GDM3

É possivel, claro, alterar a aparência do gerenciador de login GDM3. Para isso devemos alterar as informações constantes no arquivo:

/etc/gdm3/greeter.gconf-defaults


- Para alterar o papel de parede do GDM3 é só substituir o arquivo:

/usr/share/images/desktop-base/login-background.svg

Claro, que tem várias outras formas de fazer isso, uma delas é aplicando temas, mas dessa forma é mais rápido e não exige a instalação de nenhum componente ou tema.

- Excluir o painel inferior que permite ao usuário alterar DM ou Idioma:
    Para isso devemos utilizar o gconf-editor acessando a seguinte chave:

/apps/metacity/general/compositing_manager true


Por padrão estará como false, altere pra true.

-> Para que o usuário tenha que digitar seu login ao invés de escolhê-lo em um lista:
   Para isso devemos utilizar o gconf-editor acessando a seguinte chave:

/apps/gdm/simple-greeter/disable_user_list true

Por padrão estará como false, altere pra true.

Truque: Após efetuar as alterações através do gconf-editor, clique o botão direito na chave alterada e escolha "definir como obrigatório" isso fará com que as opções sejam aplicadas. Mas depois disso você não conseguirá mais alterar o valor de algumas chaves, então elas poderão ser alteradas apartir do arquivos /etc/gconf/gconf.xml.mandatory/%gconf-tree.xml, não se esqueça de fazer um backup dele antes.




segunda-feira, 12 de março de 2012

Substituir gnome-screenshot por ksnapshot

O gnome-screenshot é o aplicativo executado quando acionamos a tecla no gnome, ele, em minha opinião, não é tão eficiente como seu "primo" (ksnapshot) existente no KDE. Para utilizar o ksnapshot no gnome é um pouco complicado, devemos editar arquivos de sistema, então o mais prático é fazer uma "adaptação técnica" criando um script que chame o ksnapshot com os parâmetros corretos quando pressionarmos ou +. Sei que não é o melhor modo mas é o mais simples.
Para isso sigamos os passos a seguir:

1- Instale o ksnapshot:
      # aptitude install ksnapshot

     * Tenha cuidado nesse ponto, observe se o aptitude quer desinstalar um monte de programas, se ele quiser fazer isso cancele e faça a partir do apt-get aceitando todas as adições de dependências;

2- Crie um script chamado gnome-screenshot com o seguinte conteúdo:

     #!/bin/sh
      if [ "$1" = "--window" ] ; then
         ksnapshot -c
         else
         ksnapshot
      fi


3- faça um backup do gnome-screenshot atual:
     # mv /usr/bin/gnome-screenshot /usr/bin/gnome-screenshot.bkp

4- Mude as permissões do arquivo criado:
     # chmod 755 gnome-screenshot

5- Copie esse script para a pasta /usr/bin
     # cp gnome-screenshot /usr/bin/


Pronto, sempre que você pressionar ou + será executado o KSnapShot.

terça-feira, 7 de fevereiro de 2012

Desabilitar IPV6 no Debian

Para desabilitar o ipv6 no Debian basta executar o comando:

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

O problema mais encontrado quando o ipv6 está habilitado é  quando tentamos utilizar o aptitude ele não consegue resolver os nomes porque tenta fazê-lo por ipv6 e dá erro.

quarta-feira, 1 de fevereiro de 2012

Asterisk x SELinux (CentOS e Debian)

Ao instalar o asterisk no CentOS e as vezes no Debian temos um problema que é o sistema de segurança SELinux que aumenta as restrições para execução de alguns programas.
O Asterisk será carregado normalmente mas você não conseguirá acessar a CLI usando o usuário root. Claro que isso será possível se você estiver usando o usuário Asterisk se você configurou o Asterisk para trabalhar com esse usuário.
Se ao tentar executar o comando "rasterisk" você tiver o erro:

Unable to connect to remote asterisk (does /var/run/asterisk.ctl exist?)

Basta você desabilitar o SELilux editando o arquivo /etc/selinux/config alterando o parâmetro "SELINUX=enforcing" para "SELINUX=disable".

Claro que isso é "matar uma mosca com um tiro de canhão" pois o correto é configurar o SELinux de forma que o Asterisk seja a exceção no esquema de segurança mas isso é uma questão de estudar o SELinux primeiro.

segunda-feira, 16 de janeiro de 2012

Qual meu número???

A alguns dias tive que identificar o número de algumas linhas telefônicas de um cliente, elas chegavam no quadro de distribuição e eu precisava ligá-las a uma central PBX Asterisk, mas a distribuição estava um pouco desordenada.
A Princípio seria simples, bastaria ligar para meu celular e identificar... Masssss como não é tão simples assim, rssrsrs, algumas dessas linhas eram bloqueadas para não fazer ligações para celulares então tive que ligar várias vezes para a empresa que trabalho para que o número fosse identificado.
Depois de todo esse trabalho resolvi pesquisar se existia uma forma mais eficiente de fazer isso e foi aí que descobri esse "número mágico":

0800 643 0424

Você irá ouvir a frase:
"O telefone é XX (código de área) XXXX XXXX (número do telefone).

Isso funciona para fixo e celulares.

sábado, 7 de janeiro de 2012

Corretor ortográfico do Opera em português.

O navegador Opera possui dicionários em várias línguas, muitas vezes vem configurado para o idioma inglês, mas você pode mudar isso de forma bem simples:
1- Abra qualquer página que você irá digitar um texto;
2- Na caixa onde vai digitar, clique o botão direito do mouse;
3- Escolha "dicionários";
4- Clique em "Adicionar/Remover Dicionários";
5- Selecione "Português (Brasil)"
6- Você será questionado qual deverá ser seu dicionário padrão, escolha o recém instalado.

Prontinho, agora seu Opera irá lhe dar uma forcinha na digitação.

quarta-feira, 4 de janeiro de 2012

[DICA] Flash player no Google Chrome.

Pra quem não consegue abrir alguns vídeos no Google Chrome mesmo depois de ter atualizado a versão do Flash Player faça o seguinte:

1: Abra uma nova aba;
2: Digite na barra de endereço "chrome://plugins/ ", isso abrirá as configurações de plugins;
3: Localiza a opção "Flash", clique nela;
4: No lado direito tem um link "detalhes", clique nele e abrirão novas opções para flash;
5: Verifique que vocêm repetições de plugins com versões diferentes;
6: Desative os de versões mais antigas.

Pronto, você já poderá acessar os vídeos normalmente.