segunda-feira, 10 de maio de 2010

remote desktop - mstsc - credentials - Como retirar mensagem de Credentials?

A seguinte mensagem aparece toda vez que tento logar remotamente em um servidor. Quero desabilita-la, o que faço?

"Enter your credentials for 'SERVIDOR' these credentials will be used when you connect to the remote computer"

Esse "problema" acontece no RDP 6.0, para desabilitar, adicione a seguinte linha ao arquivo de configuração do remote desktop, geralmente se encontra em "Meus Documentos", oculto com o nome "default.rdp":
...
enablecredsspsupport:i:0
...

quarta-feira, 10 de fevereiro de 2010

sudoers + Como proibir usuário de executar alguns comandos?

Preciso dar permissão de administrador para o usuário "usradm" do grupo "admin", porém não quero que ele tenha o direito de mudar senhas com o comando "/usr/bin/passwd", logar como root com o comando "/bin/su" e alterar as configurações pelo "/usr/sbin/visudo".
Para fazer isso, precisamos editar o arquivo "/etc/sudoers" com o comando "visudo":

# visudo

Ir na seguinte linha:

.
.
.
%admin ALL=(ALL) ALL
.
.
.

E altera-la para:

.
.
.
%admin ALL=(ALL) ALL, !/usr/bin/passwd, !/usr/sbin/visudo, !/bin/su
.
.
.

A última palavra ALL indica que todos os comandos são permitidos aos usuários pertencentes ao grupo "admin". Porém, o ponto de exclamação "!" nega os comandos listados.
Ao logar com o usuário "usradm", faça um teste, as seguintes mensagens aparecerão:
...
usradm@srv1:~$ sudo su
Sorry, user usradm is not allowed to execute '/bin/su' as root on srv1.
usradm@srv1:~$ sudo visudo
Sorry, user usradm is not allowed to execute '/usr/sbin/visudo' as root on srv1.
usradm@srv1:~$ sudo passwd
Sorry, user usradm is not allowed to execute '/usr/bin/passwd' as root on srv1.
...

quinta-feira, 4 de fevereiro de 2010

Squid + como retirar a última linha das páginas de erro que exibe data hora e informações sobre o squid?

O squid por padrão imprime a data, hora e sua versão na última linha das páginas de erro.
Podemos retirar somente a exibição da versão pela seguinte variável do arquivo "/etc/squid.conf":
.
.
.
httpd_suppress_version_string on
.
.
.

Porém a última linha continuará sendo exibida. Não sei se existe, mas não achei como retira-la pelo squid.conf, somente fazendo um script. O script explicarei logo abaixo.

Meu squid está configurado para Portugues:
.
.
.
error_directory /usr/share/squid/errors/Portuguese
.
.
.

Executo o script abaixo para inserir uma string no final de cada arquivo de erro dizendo para comentar tudo que tiver "%h (%s)" que é a nossa linha!


for ARQUIVO in /usr/share/squid/errors/Portuguese/*; do echo -e '\n\n<clear="all">\n<hr noshade size=1>\n<!-- %h (%s) -->' >> $ARQUIVO; done;

Ao executar o script, recarregue o squid:
# /etc/init.d/squid reload

E veja o resultado, embora o nome do host e o nome "squid" estejam aparecendo comentados no código fonte de cada página de erro, a data, hora e versão não aparecem mais!

terça-feira, 2 de fevereiro de 2010

TCL TK + como ativar uma nova linguagem em um banco de dados postgres?

Recentemente precisei instalar a linguagem TCL TK no postgres ubuntu. Facilmente com o apt-get consegui baixar os pacotes:

# apt-get install tcl tk

Porém, para que o postgres reconheça os pacotes é necessário executar uma comando: createlang.
Quebrei a cabeça um pouquinho até descobrir que o comando deve ser executado pelo o usuário "postgres" do linux! Então ao logar no servidor postgres, provavelmente como "root", lembre-se de mudar para o usuário "postgres" para executar o comando de criação de linguagens, como ilustram os comandos abaixo:

# su postgres
$ createlang -U postgres pltcl NOME_DO_BANCO_DE_DADOS

segunda-feira, 1 de fevereiro de 2010

SSH Como restringir acesso de usuários do AllowUsers para logar somente de uma rede

Recentemente precisei dar acesso ssh ao usuário "ujoao". Então fui no arquivo "/etc/ssh/sshd_config" e na declaração "AllowUsers" adicionei o "ujoao". Porém, quero que "ujoao" só acesse meu servidor de dentro da minha rede "10.1.1.0/24", de qualquer outro lugar ele não terá permissão. Como fazer isso?
Penando na Internet descobri que simplesmente devemos fazer o que segue abaixo:

===================
- abrir o arquivo "/etc/ssh/sshd_config"
- em "AllowUsers" devemos adicionar "ujoao@10.1.1.*"
===================

Simples não? Pois é, mas foi difícil achar isso.

sexta-feira, 29 de janeiro de 2010

Wish + Interpretador de comandos do linux para criação de janelas em interface gráfica

Um dia fiz um concurso e na prova caiu a pergunta: "Para que serve o comando wish?".
Chutei e acertei! Estou escrevendo esse artigo pois não acho muito pela Internet a explicação sobre esse comando, somente o man, que também não explica muito sobre sua funcionalidade.


[O que é o Wish]
Wish é um comando para criação de janelas para seus scripts feito em bash. Na verdade, o wish é um interpretador de comandos TCL/TK. Se quer saber como utilizar o wish, pesquise sobre TCL/TK, se pesquisar somente sobre o wish não encontrará muita coisa.


[TCL e TK]
TCL é uma linguagem de programação e o TK é um conjunto de funções gráficas para o TCL (criação de botões, labels, select, ...).


[Exemplo de aplicação]
Recentemente tive o seguinte problema: "rdesktop - Como utiliza-lo com interface gráfica?"
Utilizo muito o rdesktop para logar nos servidores Windows. O ruim é que esse é um programa de linha de comando, queria que ele fosse ativado com um clique em um ícone, mas como informar o endereço do servidor que quero logar? Se simplesmente fizer um script que chama o rdesktop não vai dar certo pois você precisa do parâmetro 1 que é o nome do servidor:
===
Script 1 - rdesktop em linha de comando
===
#!/bin/bash
rdesktop ${1}


Eis que surge o wish. Ao executar o script abaixo, uma janela com um input text aparecerá, informe o nome do servidor que queira logar que o rdesktop entrará em ação:
===
Script 2 - rdesktop com interface gráfica
===
#!/usr/bin/wish
#titulo da janela
wm title . "RDW - Nome do servidor"
#tamanho da janela
#larguraXaltura+x+y
#100000 faz ficar colado em baixo
wm geometry . 300x50+200+10000
#criando input text, nomeando variavel inputText e focando cursor do teclado nele
grid [entry .inputText -textvar inputText -just left] -ipadx 50 -rowspan 100
focus .inputText
#associando teclas ao input text e respectivas acoes
bind .inputText RDesktop
bind .inputText Sair

#########
# Funcoes
#########
proc RDesktop {} {
exec rdesktop -u usuario -d dominio -g 90% $::inputText &
exit
}

proc Sair {} {
exit 0
}


[Download]
Baixe o "Script 2 - rdesktop com interface gráfica" clicando em rdw-publico.sh.

quarta-feira, 27 de janeiro de 2010

Capslock no rdesktop do ubuntu não funciona

Comente a linha que inibe o Caps_lock no arquivo /usr/share/rdesktop/keymaps/common:

.
.
.
# COMENTE A LINHA ABAIXO PARA NÃO INIBIR O CAPSLOCK
#Caps_Lock 0x0 inhibit
.
.
.