Compartilhando um diretório do Windows (Active Directory) no Linux

Maneira simples de acessar compartilhamentos Windows em um servidor Linux.

Imagine a seguinte situação:

  1. Você tem uma infraestrutura com Active Directory da Microsoft ou LDAP, com pastas compartilhadas na rede, tudo funcionando de boa;
  2. Você também tem um servidor web (apache ou nginx) rodando tranquilamente, servindo sua intranet ou site na internet…;
    1. Aí alguém chega pra você e fala:
      – Sabe essa pasta compartilhada do setor XXX, então, precisamos colocar esses arquivos disponíveis TAMBÉM na Web (intranet ou internet).
      – Ah, mas esses arquivos devem continuar sendo acessível normalmente pelo compartilhamento do Windows. 

Isso é bem fácil de resolver, basta utilizar o cliente CIFS de sistemas de arquivos do Windows.

1° passo

Criar um ponto de montagem no servidor web. Usualmente utilizamos o /mnt, mas fica a critério de suas necessidades. No nosso exemplo, vamos criar esse ponto de montagem direto na pasta DocumentRoot de nosso servidor, que roda Apache e posteriormente definir o usuário apache como dono do diretório criado.

[root@servidor ~]# mkdir /var/www/html/arquivos

[root@servidor ~]# chown apache:apache /var/www/html/arquivos/ -R

2º passo

Criar um arquivo com as credenciais de acesso do Active Directory à pasta compartilhada. Vamos criar dentro do home do usuário Root:

[root@servidor ~]# vim /root/.shared_credencial

Insira essas informações, tão como informados:

username=nome_usuario_ad
password=senha_usuario_ad
domain=dominio.de.seu.ad

3º passo

Editar o fstab, inserindo o ponto de montagem para a pasta /var/www/html/arquivos, passando as credencias de acesso que foram registradas em /root/.consu_credencial.

[root@manjuba ~]# vim /etc/fstab

Inserir a seguinte linha no final do arquivo, substituindo o IP do servidor de arquivos e o caminho da pasta compartilhada do exemplo dado (192.168.0.10/SETORX/arquivos) pelas informações de seu compartilhamento windows.

//192.168.0.10/SETORX/arquivos /var/www/html/arquivos/ cifs credentials=/root/.shared_credencial,iocharset=utf8,sec=ntlm,nobootwait,uid=apache,gid=apache 0 0

4º passo

Se você fizer uma nova entrada no fstab, ela não será montada automaticamente. Portanto, você deve recarregar/atualizar as entradas. Uma reinicialização no Linux fará isso, mas essa não é uma maneira amigável. Uma maneira rápida de recarregar novas entradas em /etc/fstab é usar o comando mount:

[root@manjuba ~]# mount -a

Após isso, se você acessar a pasta montada, irá ter acesso aos arquivos compartilhados e como foi montado dentro do DocumentRoot do apache, os mesmos também estarão acessíveis na Web.

[root@manjuba ~]# ls /var/www/html/arquivos/

http://192.168.0.10/arquivos/

 

 

Geradores de sintaxe Crontab

Se você quiser executar periodicamente uma tarefa (por exemplo, enviar e-mails, fazer backup de banco de dados, fazer manutenção regular etc.) em horários e datas especificadas, é bem provável que você irá utilizar o CRON disponível nos sistemas Unix / Linux para isso.

A sintaxe de agendamento é simples, mas permite muitas customizações:

# .---------------- minute (0 - 59) 
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ... 
# | | | | .---- day of week (0 - 7) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
# | | | | |
# * * * * *  command to be executed

Para facilitar na hora de definir esse agendamento, existe alguns geradores que poderão ajudá-lo a produzir uma sintaxe de crontab que você possa copiar e colar em seu arquivo crontab (você pode abrir o arquivo usando o comando crontab –e).

Crontab GURU
https://crontab.guru/

Crontab Generator
https://crontab-generator.org/ ou https://crontabgenerator.org/

 

 

Turnkey Linux – Access denied for user ‘root’@’localhost’

Se você estiver utilizando algum Appliance da TurnKey GNU/Linux 15.0 que venha com banco de dados MySQL, saiba que o banco que vem por padrão é o MariaDB e isso é ótimo!

Distributor ID: TurnKey
Description: TurnKey GNU/Linux 9.5 (stretch)
Release: 9.5
Codename: stretch

Algo que tem ocorrido com essa versão do Appliance é que o acesso ao TurnKey Linux Database Administration Console – Powered by Adminer   – (https://IP:12322), é não permitir o login com usuário root e senha definida na instalação, exibindo o erro:

Access denied for user ‘root’@’localhost’

Para resolver isso o procedimento é simples:

# mysql -u root -p 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 6
Server version: 10.1.26-MariaDB-0+deb9u1 Debian 9.1
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use mysql;
MariaDB [(none)]> update user set password=PASSWORD('INFORME_A_SENHA') where User='root';
MariaDB [(none)]> update user set plugin='' where User='root';
MariaDB [(none)]> flush privileges; 
MariaDB [(none)]> quit;

# /etc/init.d/mysql restart

Lembrando que esse não é um erro, mas uma modificação na imagem Turnkey Linux na versão 9.5. O acesso ao banco de dados MySQL/MariaDB pode ser feito normalmente pelo usuário adminer e senha definida na instalação, sem necessidade de fazer essa alteração acima no console.

OpenWRT – Comandos úteis

Apenas para não esquecer

  • Transferindo a imagem da máquina local para o roteador com OpenWRT
    user@localmachine:~$ scp /caminho/do/arquivo/em/seu/computador root@192.168.1.1:/caminho/do/arquivo/no/roteador
    exemplo:
    # scp openwrt-15.05.1-ar71xx-generic-dir-615-e4-squashfs-factory.bin root@192.168.1.1:/tmp 
  • Atualizando a imagem transferida
    # cd /tmp/
    # mtd writeopenwrt-15.05.1-ar71xx-generic-dir-615-e4-squashfs-factory.bin linux && reboot
  • Restaurando a firmware original do roteador
    Transfira a firmware para o roteador utilizando SCP e rode o comando abaixo:
    # mtd -r write /tmp/original_firmware.bin firmware

 

Livro: DD-WRT – Guia Prático do Usuário Iniciante (Português)

DD-WRT é um firmware baseado em Linux para uma grande variedade de roteadores WLAN e sistemas incorporados.  A ênfase principal reside em fornecer o tratamento mais fácil possível, enquanto ao mesmo tempo, apoiar um grande número de funcionalidades no âmbito da respectiva plataforma de hardware utilizado. É desenvolvido por uma equipe de programadores independentes liderada pelo BrianSlayer.
Compatível com diversos modelos de roteadores wireless: que usam chipsets da Broadcom, Artheros e Ralink e processadores comuns (x86).

Download do Livro – Clique aqui.

Emulador do DD-WRT

Ler o livro online:
Opção 1 – http://pt.slideshare.net/polones/dd-wrt-guia-pratico
Opção 2 – http://issuu.com/opolones/docs/dd-wrt-guia-pratico
Opção 3 – https://www.scribd.com/doc/228202992/Dd-wrt-Guia-Pratico-Do-Usuario-Iniciante

WikiBook – https://en.wikibooks.org/wiki/DD-WRT
http://www.ibm.com/developerworks/br/library/l-wifisecureddwrt/

 

Como desabilitar um usuário no Linux

Existe n maneiras de desabilitar usuários no Linux, embora muitos utilizem a técnica de alterar a senha para um valor inválido, mas esta não é a forma recomendada, pois o usuário irá perder a senha, mas ele ainda poderá utilizar algum outro token de autenticação (chave SSH por exemplo).

Para desabilitar um usuário completamente utilize:

# usermod –expiredate 1 usuario
(Isto irá setar  a data de expiração do usuário para 02/01/1970)

Se quiser habilitar novamente o usuário sem data de expiração:
# usermod –expiredate -1 usuario

Howto: Tunelamento de servidor SVN via ProxyPass – Apache

Caso: Você já tem um servidor SVN em sua empresa rodando de boa internamente e agora precisa colocar o serviço SVN para acesso externo. Existe n maneiras de se fazer isso, porém caso você esteja trabalhando com proxypass para disponibilizar conteúdo da sua rede interna à internet, esta é a forma de fazer com o Subversion.

<virtualhost *:80>
ServerName svn.dominio.com
ProxyPass / http://svn.dominio.com/
<location / >
        ProxyPassReverse / http://svn.dominio.com
        <limit OPTIONS PROPFIND GET REPORT MKACTIVITY PROPPATCH PUT CHECKOUT
               MKCOL MOVE COPY DELETE LOCK UNLOCK MERGE>
          Order Deny,Allow
          Allow from all
          Satisfy Any
        </limit>
</location>

Pronto, já pode-se conectar com seu cliente SVN.
Fonte: http://silmor.de/proxysvn.php

NAT 1:1 ou Proxy Reverso, qual a melhor alternativa?

Genericamente falando, tanto o NAT 1:1 como o Proxy Reverso tem por finalidade ligar um endereço interno específico para um endereço externo.

NAT 1:1 (one-to-one)
Se desejarmos que uma máquina da rede interna possa ser vista de fora da rede, ou seja, possa receber conexões e ter servidores instalados, podemos usar o NAT 1:1. Esse esquema de NAT é bem simples e consiste em criarmos manualmente uma tabela no roteador mapeando o IP privado para um IP público. Esse tipo de NAT também é chamado de NAT estático, uma vez que as informações na tabela permanecem válidas indefinidamente após serem criadas.

Como existe permanentemente uma entrada na Tabela NAT associando o IP 10.1.1.2 ao IP 200.3.3.3, tanto a máquina A pode iniciar a comunicação com alguma máquina da Internet como alguma máquina da Internet é que pode iniciar uma comunicação com a máquina A. A figura acima mostra o caso onde a máquina A enviou um pacote para uma máquina na Internet que possuía o IP 60.6.6.6. Quando esse pacote passa pelo roteador, o IP de origem será trocado para o IP 200.3.3.3. Do mesmo modo, como pode ser visto na próxima figura, sempre que o roteador receber um pacote da Internet para o IP 200.3.3.3 o IP de destino será trocado para 10.1.1.2.

Read More