Dicas Linux: Atalhos e truques no shell (bash)

Temos vários truques e atalhos que nos ajudam quando estamos trabalhando com comandos no Linux, um truque rápido é quando precisamos calcular alguma coisa.

No Linux temos o bc que é uma linguagem para cálculos, no entanto para se fazer contas rápidas e simples podemos utilizar o próprio Shell:

[root@computer1 ~]# echo $((2*4))
8

Quando trabalhamos com comandos, é muito fácil digitarmos alguma coisa errada, para isso o linux inclui um utilitário chamado bash-completion, com ele podemos agilizar a digitação dos comandos e diminuir os erros de digitação.

Hoje em dia o bash-completion já vem instalado por padrão em todas as distribuições Linux e sua utilização é muito simples, basta iniciar a digitação de um comando e pressionar <tab>, caso somente um comando ou nome de arquivo combinar com os caracteres digitados ele completará o resto para você, se caso mais de um comando combinar com os caracteres digitados ao pressionar <tab> <tab> (tab 2 vezes) ele mostra uma lista com os comandos ou arquivos que combinam, por ex:


[root@computer1 ~]# yu<tab>
[root@computer1 ~]# yum
[root@computer1 ~]# y<tab><tab>
[root@computer1 ~]# y
yacc          yes           ypcat         ypchsh        ypmatch       yppoll        ypset         ypwhich       yum-updatesd
yelp          ypbind        ypchfn        ypdomainname  yppasswd      ypserv_test   yptest        yum

 

Temos também outros atalhos que podem nos ajudar quando estamos utilizando os comandos no shell

 

Ctrl+A = Move o cursor para o início comando
Ctrl+E = Move o cursor para o fim comando
Ctrl+W = Apaga primeira palavra antes do cursor
Ctrl+K = Apaga tudo antes do cursor
ALT+D = Apaga primeira palavra depois do cursor
Ctrl+U = Apaga tudo depois do cursor
Ctrl+Y = Desfaz o apagar
ALT+F = Avança uma palavra/argumento
ALT+B = Volta uma palavra/argumento
ALT+T = Troca palavra/argumento pelo anterior

Ctrl+P ou Seta para cima e Ctrl+N ou Seta para baixo = Navega entre os últimos comandos digitados.
Ctrl+R = Pesquisa recursiva pressione Ctrl+R e digite uma parte do comando e ele procurará nos últimos comandos digitados.

Ctrl+L = Clear
Ctrl+D = Logout

ALT+L = Troca o comando para minúsculo
ALT+U = Troca o comando para maiúsculo
ALT+C = Troca a primeira letra para maiúsculo

Dicas Linux: listar arquivos organizados por tamanho

Para listar os arquivos de um diretório ordenados por tamanho, utilizamos o seguinte comando:

ls -l | grep ^- | sort -nr -k 5 | more

Com este comando, ordenaremos em forma decrescente, ou seja, do maior arquivo para o menor, caso você queira o contrário, de forma crescente, do menor arquivo para o maior utilize o comando:

ls -lR | grep ^- | sort -nr -k 5 | more

Categories: Dicas, Linux Tags: , ,

Dicas Linux: listar somente diretórios

Para exibir somente os diretório (pastas) nos sistemas unix utilize o comando:

ls -l | grep "^d"

se quiser exibir também os diretórios ocultos, acrescente a opção -a no ls:

ls -al | grep "^d"

;)

Categories: Dicas, Linux Tags: , , ,

Criando um storage iSCSI com FreeNAS (iSCSI Target)

iSCSI encapsula comandos SCSI em um pacote IP, permitindo que uma máquina cliente (chamado de iSCSI Initiator) acesse uma storage (chamado de iSCSI Target) via ethernet em qualquer lugar do mundo.

Para montar uma storage iSCSI (iSCSI Target) com baixo custo, vamos utilizar um sistema operacional chamado FreeNas que é um sistema operacional de servidor NAS (Network Attached Storage) open source baseado no FreeBSD portanto é compatível com uma grande quantidade de hardware, inclusive roda muito bem e hardwares antigos, portanto é hora de desenterrar o seu antigo pc e dar uma boa finalidade para ele.

Hardware que utilizei para minha storage caseira:

Processador: Intel(R) Pentium(R) 4 CPU 3.00GHz
Memória RAM: 2148007936 (2048 MB)
Placa de Rede: Broadcom NetXtreme Gigabit Ethernet Controller, ASIC rev. 0×004001
Dois discos SATA, um de 80 GB para instalação do FreeNAS e um de 250 GB para utilização da storage.

OBS: Não pode utilizar o mesmo disco para instalação do FreeNAS e para armazenamento da storage, o que se pode fazer também é instalar o FreeNAS em um pendrive pois a instalação do FreeNAS ocupa em média 550 MB

INSTALAÇÃO:

Para captura das telas de instalação, utilizei o VMware, portanto não será o mesmo hardware descrito acima.

  • Baixe o FreeNAS de acordo com a sua plataforma;
  • Inicie pelo CD do FreeNAS e aguarde para que inicie com a opção 1 Boot FreeNAS [default];

  • Selecione a opção Install/Upgrade to hard drive/flash device etc;

  • Selecione o disco onde será feita a instalação do FreeNAS;

  • Confirme o aviso;

  • Aguarde a instalação completa;

  • Já esta pronta a instalação do FreeNAS, remova o disco de instalação e reinicie o sistema;
  • Após reiniciar, caso haja algum servidor DHCP na rede, este ja será configurado e ja estará pronto para ser acessado pela web, caso necessite fazer as configurações de rede utilize as opções do menu:

Exemplo de configuração da rede:

Para acessar o seu FreeNAS utilize um browser em outro computador e digite o endereço IP da sua storage e usuário admin e senha freenas por padrão.

CONFIGURAÇÃO iSCSI

Pronto, agora que já temos nossa storage instalada e funcionando, vamos configurar o iSCSI, para isso primeiro precisaremos formatar e criar um volume no disco que utilizaremos para armazenamento, caso possua vários discos é possível configurar RAID no FreeNAS, para isso, acessamos no menu, Storage/Volumes/Create Volume, preencha o nome do volume, selecione os discos que faram parte deste volume e o sistema de arquivos que será formatado:

Agora que ja temos nosso volume criado, vamos em Services, selecione iSCSI e clique em configure, na aba Target Global Configuration, configure o nome do seu iSCSI, para saber mais sobre o padrão de nomes iSCSI leia o artigo na Wikipédia aqui e clique no botão OK.

 

Agora clique na aba extents e no botão add extents, e preencha o nome do extent, o path para o extent, neste caso nao esqueça de crialo dentro do volume que foi criado anteriormente como o volume que eu tinha criado anteriormente se chamava iSCSI, ele ficou montado em /mnt/iSCSI então criei o extent em /mnt/iSCSI/iscsi.file e preencha o tamanho do extent que será o tamanho do seu disco.

O FreeNAS não cria o arquivo no disco, portanto devemos criar o arquivo do nosso extent, para isso volte para sua storage selecione a opção shell no menu do FreeNAS, no caso a opção 7, entre no seu volume:

cd /mnt/iSCSI

e utilize o comando touch para criar o arquivo

touch iscsi.file

observe que o tamanho do arquivo ficou com 0 bits, isto é normal.

Agora clique na aba Portals e clique no botão Add Portal preencha o Portal Group ID e em Portal preencha com o ip que o servidor ouvira as requisições de conexão e a porta ou preencha com 0.0.0.0 para que o servidor ouça em qualquer endereço IP e a porta padrão do iSCSI 3260

Agora clique na aba Authorized Initiator, e preencha o ID, e em Initiators e Authorized Network preencha com ALL para aceitar conexões vindas de qualquer rede, ou especifique a rede que terá permissão para acessar a storage

Agora clique na aba Target e clique no botão Add Target e preencha conforme abaixo:

Agora clique na aba Associated Targets e associe o Target ao Extent:

Agora vá no menu Services e inicie o serviço iSCSI.

Pronto, seu servidor iSCSI (iSCSI Target) já esta configurado e pronto para ser utilizado, verifique que após iniciar o serviço iSCSI o tamanho do nosso extent file já esta com o tamanho que definimos na criação dele.

Pronto, agora só utilizar iSCI Initiator para acessar sua storage, no caso do Windows 7 e 2008 já vem com o Software instalado, em versões anteriores você pode fazer o download direto da Microsoft neste link, em breve escreverei novos posts ensinando como acessar sua storage através das várias versões do Windows, do Linux e do VMware ESX.

Derrubando conexão/sessão no TS remotamente

Quem nunca se deparou com esta mensagem?

Isto porque no modo administrador o Windows server suporta apenas 2 conexões remotas e 1 console.

Muitas vezes as pessoas fecham a janela e não fazem logoff na conexão, ficando conexões presas e não pode conectar para administração do servidor.

Para resolver este problema temos que abrir uma sessão do prompt de comandos como administrador do domínio em qualquer estação ou em algum servidor membro do domínio.

Para vermos as sessões abertas, temos dois comandos que podemos utilizar, o qwinsta ou o query session, com os dois comandos temos o mesmo resultado. A sintaxe é a seguinte:

qwinsta /server:NomeServidor



query session /server:NomeServidor

Agora que já sabemos as sessões que estão abertas, como ID podemos encerrar elas, também temos dois comandos que podem ser utilizados, o rwinsta ou o resset session, e a sintaxe de cada comando é a seguinte:

rwinsta /server:NomeServidor IDconexao

reset session IDconexao /server:NomeServidor

Pronto, as sessões já estão encerradas e já é possível fazer o logon.

Redirecionamento de portas no Windows (Port Forwarding)

Tenho uma máquina virtual rodando Solaris 10 em casa e do meu trabalho eu precisava conectar nesta máquina para rodar alguns testes, mas para isso eu precisava conectar via ts no meu Windows para poder abrir o putty e conectar no Solaris, então resolvi pesquisar sobre port forwarding no Windows, assim eu poderia redirecionar as portas do ssh para o host Solaris e fazer a conexão direta do meu trabalho para a máquina virtual hospedada no computador de casa.

Em minha pesquisa encontrei o software Port Forwareding basta você fazer o download e renomear pois ele vem com a extenção .ex_, apenas renomeie para .exe, (caso queira, esta disponível o código-fonte neste mesmo site) abra o programa e clique em Direction/Add, Adicionar a porta de origem, o IP e a porta de destino e pronto, o redirecionamento já esta feito e funcionando.

Agora já é possível fazer a conexão direta, sem passar pelo Windows.

Restrição de Software com AppLocker no windows 7

Neste artigo, vou demonstrar como fazer restrição de software através do AppLocker no Windows 7, lembrando que o AppLocker esta disponível apenas nas versões Ultimate e Entreprise do Windows 7. (para saber mais sobre as diferenças nas versões do Windows 7 leia: Versões do Windows 7)

Para utilizarmos o AppLocker, mudar o serviço Application Identity para automático e iniciar este serviço:
Iniciar/Pesquisar e digite services.msc e pressione enter.



Procure pelo serviço Application Identity, altere o Startup Type para Automatic, e clique em Start para iniciar o serviço:



Agora vamos abrir o editor de Group Policy, Iniciar/Pesquisar e digite gpedit.msc e pressione enter.
Navegue para: Computer Configuration / Windows Settings / Security Settings / Application Control Policy / AppLocker / Executable Rule
Clique com o botão direito do mouse em Executable Rule e clique em Create New Rule…



Será iniciado o Wizard: Create Executable Rules, na primeira tela, podemos clicar em Next >, e selecione a ação da regra, Allow para liberar a execução do aplicativo ou Deny para bloquear, no meu caso vou bloquear a execução do jogo Solitaire.



Agora devemos selecionar em que a regra será baseada, Publisher é baseado na assinatura da empresa que desenvolveu o software, Path é baseado no caminho do aplicativo e File hash é baseado na assinatura do executável , neste caso, vamos fazer a regra baseado na assinatura (Publisher) e clique em Next > , clique em Browse… e selecione o executável que deseja criar a regra.



Na próxima tela, podemos arrastar o slider para selecionar como a regra será aplicada, se movermos para baixo, ela será mais específica, se movermos para cima (Any Publisher), ela será aplicada a todos os softwares assinados, deixe em file version e clique em Create.



Será exibido uma mensagem falando que as regras padrões ainda não foram implementadas, se você deseja fazer isto agora, clique em Yes, assim serão criadas as regras padrões e a regra que acabamos de fazer.



Reinicie o computador e tente executar o aplicativo:



Para remover as regras, basta excluir através da gpo ou parar o serviço Application Identity.

Habilitando e Desabilitando barra de inicialização rápida via GPO

Para habilitar ou Desabilitar a barra de inicialização rápida (Quick Launch) utilizamos um aplicativo chamado toggleql.exe, você pode fazer download deste aplicativo através do link:

Toggleql.exe

A sintaxe é muito simples:

toggleql.exe 1 (para habilitar)
toggleql.exe 0 (para desabilitar)

Para facilitar podemos criar um compartilhamento no servidor e executar através de scripts de inicialização, por ex, criamos um arquivo toggleql.bat com o conteúdo:

\\servidor\configuracoes$\toggleql.exe 1

E adicione ou altere a GPO: User Config – Windows Settings – Scripts – logon

Alterando a senha de administrador – Windows 2008

Você perdeu a senha do administrador do domínio no Windows 2008 ? ou precisa alterar a senha do DSRM ( Modo de restauração do Active Directory ), vamos as alternativas…

Alterando a senha do DSRM:

Para alterar a senha de administrador do modo de recuperação do Active Directory siga os seguintes passos:

START – RUN – CMD e pressione ENTER

NTDSUTIL
Set DSRM Password
Reset Password on server nomedoservidor

Digite a senha e pressione ENTER
Repita a senha e pronto, a senha já foi alterada.

Alterando a senha de Administrador do domínio:

Para alterar a senha de administrador do domínio quando você perde a senha, ou o administrador antigo não deixou a senha, podemos utilizar o DVD do Windows 2008 para isso e alterar o sistema de Acessibilidade:

Reinicie o Servidor com o DVD do Windows 2008
Clique em Repair your computer
Clique em Next
Clique em Command Prompt

No prompt de comando digite

c:
cd Windows
cd System32
copy Utilman.exe Utilman.bak
copy cmd.exe Utilman.exe

Reinicie o servidor e na tela de login, clique em Ease of Access, ou pressione a tecla Windows + U:

Será aberto um prompt de comando como usuário System, para alterar a senha utilize o comando:

net user administrator Pa$$w0rd

OBS: Altere Pa$$word por uma senha compatível com as diretivas de segurança de seu domínio.

No meu caso eu tive um grande problema, como eu utilizo uma placa controladora de RAID que o Windows não tem nativamente, ao iniciar pelo DVD e acessar o prompt de comando para copiar os arquivos, eu não tinha acesso ao Drive C:
A sorte é que eu tinha pelo menos a senha do DSRM, então entrei em modo de recuperação do Active Directory, tomei posso dos arquivos e mudei as permissões para que fosse possível a copia:

Start – Run – CMD e pressione Enter

cd Windows
cd System3
takeown /F Utilman.exe
icacls "Utilman.exe" /grant Administrator:(F,WDAC)
copy Utilman.exe Utilman.bak
copy cmd.exe Utilman.exe

Pronto… agora é só logar novamente no seu domínio… ;)

Pacotes da instalação do OpenBSD

Na instalação do OpenBSD você seleciona os pacotes que deseja instalar:

Para selecionar os pacotes basta digitar o nome do pacote, por exemplo, para marcar o pacote xbase: xbase45.tgz, e para remover a seleção de um pacote basta colocar um símbolo de – antes do nome do pacote: -xbase45.tgz.

Select sets by entering a set name, a file name pattern or ‘all’. De-select
sets by prepending a ‘-’ to the set name, file name pattern or ‘all’. Selected
sets are labeled ‘[x]‘.

[X] bsd
[X] bsd.rd
[ ] bsd.mp
[X] base45.tgz
[X] etc45.tgz
[X] misc45.tgz
[X] comp45.tgz
[X] man45.tgz
[X] game45.tgz
[ ] xbase45.tgz
[ ] xetc45.tgz
[ ] xshare45.tgz
[ ] xfont45.tgz
[ ] xserv45.tgz
Set name? (or ‘done’) [bsd.mp] all

Mas quais pacotes devo selecionar?

* bsd – Este é o Kernel (NECESSÁRIO)
* bsd.mp – Kernel para multiprocessamento (Em algumas plataformas)
* bsd.rd – RAM disk kernel
* base45.tgz – Contém a base do sistema OpenBSD (NECESSÁRIO)
* etc45.tgz – Contém todos os arquivos do diretório /etc (NECESSÁRIO)
* comp45.tgz – Contém compiladores e suas ferramentas (Recomendado)
* man45.tgz – Contém os manuais (Recomendado)
* misc45.tgz – Contém informações e documentos de instalação
* game45.tgz – Contém jogos
* xbase45.tgz – Contém a base, bibliotecas e utilitários para o X11
* xetc45.tgz – Contém arquivos de configuração do /etc/X11 e /etc/fonts
* xfont45.tgz – Contém as fontes
* xserv45.tgz – Contém o servidor X
* xshare45.tgz – Contém os manuais, configurações locais, etc para o X

Caso tenha esquecido de marcar algum pacote durante a instalação, existem 2 maneiras de se fazer:

- Usando o processo de atualização
Inicie o sistema com o CD ou Disquete de boot do OpenBSD e selecione a opção de atualização (Upgrade), selecione os pacotes que faltam e será instalado para você

- Usando tar
Estes arquivos de instalação são simplesmente arquivos comprimidos pelo tar, tudo que você tem que fazer é descompactar os arquivos:

# cd /
# tar xzvphf comp45.tgz

OBS: Não se esqueça da opção ‘p’ para preservar as permissões.

Se você estiver instalando o pacote xbase através do tar e sem reiniciar o sistema você precisa atualizar a cache das bibliotecas:

# ldconfig -m /usr/X11R6/lib

Ou simplesmente reinicie o sistem que o script de inicialização rc faz isso para você ;)

Categories: BSD Tags: , , ,