30/01/2014

Desagrupar Alt+TAB do Gnome3

     Bom, várias configurações do Gnome3 são diferentes do que estamos acostumados, e eu até tentei utilizar sem reclamar, pois o ser humano é contrário a qualquer mudança que o tire da sua "zona de conforto".
     Tentei tanto que consegui me adaptar e até concordo que muitas modificações foram melhorias mesmo, mas para algumas delas, não teve jeito, tive que voltar a configuração anterior, uma delas é o Alt+TAB agrupado por programas.
     Isso foi mais fácil de fazer do que eu imaginava. Basta acessar o Gnome Tweak Tool e na opção Extensões do shell, habilitar o item Extensão Alternate Tab.



Pronto

23/01/2014

Autenticação via LDAP na Mediawiki com Postgres

Segue abaixo a compilação de várias formas de configuração, a qual funcionou para o meu ambiente.

Procedimentos iniciais

  1.  Descubra a versão da sua wiki. Para isso acesse o Link Páginas especiais e procure por versão.
  2. Faça download da extensão do LDAP de acordo com sua versão.
  3. Descompacte no diretório extensions da dua wiki:
    • $ tar -xzvf LdapAuthentication-MW1.13-r36354.tar.gz -C /var/www/mediawiki/extensions/LdapAuthentication/

Configuração do LDAP

Edite o arquivo LocalSettings.php e inclua o código abaixo:
## Habilitando o plugin do LDAP
require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );
$wgAuth = new LdapAuthenticationPlugin();
## Definição do domínio
$wgLDAPDomainNames = array("NOME");
## Pode ser o ip ou hostname (servidor.dominio.com.br
$wgLDAPServerNames = array("NOME"=>"172.16.100.69");
$wgLDAPEncryptionType = array("NOME"=>"clear");
## Impede usuário local de logar
$wgLDAPUseLocal = false;
$wgMinimalPasswordLength = 1;
##
## Base LDAP onde a mediawiki ira procurar os usuários
$wgLDAPBaseDNs = array("NOME"=>"ou=grupogeral,dc=domino,dc=com,dc=br");
##
## Atributo para check, pesquisa e compara o que o usuário digitou para realizar
## o login no wiki, utilizando um tipo de atributo ldap (samaccountname, mail, uid...)
## que corresponde ao nome de usuário. Deve ser adaptado para suas configurações
$wgLDAPSearchAttributes = array("NOME"=>"uid");
## Aqui o complemento do forum, como meu LDAP utiliza uid, precisei definir o campo abaixo
## uid=USER-NAME.
$wgLDAPSearchStrings = array("NOME"=>"uid=USER-NAME,ou=grupogeral,dc=dominio,dc=com,dc=br");
## Transforma o login para minusculas
$wgLDAPLowerCaseUsername = array( 'NOME' => true );
##
## Restringe acesso aos membros deste grupo para logar na wiki :
$wgLDAPGroupDN = "cn=admin,ou=grupogeral,dc=dominio,dc=com,dc=br";
##
## Usuário proxy para leitura da base ldap: Não utilizei
## $wgLDAPProxyAgent = array("NOME"=>"cn=winbind.user,cn=users,dc=dominio,dc=com,dc=br");
##
## Senha deste usuário proxy. Não utilizei
## $wgLDAPProxyAgentPassword = array("NOME"=>"linux123");
##
## Checar se o usuário não estar desabilitado no ad:
$wgLDAPRequireAuthAttribute = array("NOME"=>true);
##
## A última linha da postagem base foi removida pois não permitia login.

PostgreSql

Essa configuração funciona perfeitamente em uma base MySQL, mas a mesma configuração não funciona quando a base de dados é Postgres. Um bug já reportado e que foi possível solucionar com o SQL abaixo:

CREATE TABLE ldap_domains (
      domain_id serial primary key,
      domain varchar(255) not null,
      user_id int not null
);

CREATE INDEX user_id on ldap_domains (user_id);

Links

17/01/2014

Primeiro e último dia do mês em Shell Script

Mais um Ctrl+C, Ctrl+V logicamente sitando a fonte.
 
# primeiro dia do mes passado
echo $(date --date "last month" +01/%m/%Y)

# ultimo dia do mes passado
echo $(date --date "`date +%m/01/%Y` yesterday" +%d/%m/%Y)

# primeiro dia do mes atual
echo $(date --date "now" +01/%m/%Y)

# ultimo dia do mes atual
echo `date +$(/usr/bin/cal | awk '{print $NF}' | tail -1)/%m/%Y`