Exemplo de smb.conf

[global]
comment = Servidor SAMBA
workgroup = EMPRESA
security = user
os level = 100
announce as = NT Server
domain logons = yes
logon script = %U.bat
logon path = //%L/Profiles/%U
domain master = yes
local master = yes
preferred master = yes
guest account = nobody
encrypt passwords = yes
#wins server = 192.168.0.2
wins support = yes
keep alive = 20
debug level = 3
winpopup command = csh -c ‘xedit %s;rm %s’ &
log file = /var/log/samba_log.%u
null passwords = no
1 password sync = yes
socket options = IPTOS_LOWDELAY TCP_NODELAY
printing = bsd
printcap name = /etc/printcap
load printers = yes
hosts allow = 192.168.0. 127.
hosts deny = 192.168.0.3 192.168.0.4

[homes]
comment = Pastas dos Usuarios
public = no
browseable = yes
writeable = yes
hosts deny = 192.168.0.250

[printers]
comment = Impressoras Linux
public = no
browseable = yes
printable = yes
read only = yes
create mode = 0700
path = /var/spool/samba
admin users = admin, usuario1

[netlogon]
comment = Compartilhamento de Scripts
path = /etc/scripts
public = no
browseable = yes
writeable = no

[diretoria]
comment = Grupo Diretoria
path = /home/diretoria
public = no
browseable = yes
valid users = @diretoria
writeable = yes
write list = @diretoria
force create mode = 0777
force directory mode = 0777

[comercial]
comment = Grupo Comercial
path = /home/comercial
public = yes
browseable = yes
writeable = yes
write list = @comercial
read list = @marketing
force create mode = 0777
force directory mode = 0777

[transf]
comment = Area de Transferencia
path = /home/transf
public = yes
browseable = yes
writeable = yes
write list = @todos
force create mode = 0777
force directory mode = 0775
max disk size = 200

[oculto$]
comment = Especifico do Admin
path = /home/admin/oculto
copy = homes
max connections = 1

Posted in Sem categoria

Mudando assinatura do Apache

Para mudar a assinatura do servidor web Apache 2.

Antes de compilar o Apache encontre no diretório include o arquivo ap_release.h, encontre pela linha

#define AP_SERVERBASEPRODUCT “Apache”

descomente a linha e no lugar do Apache substitua pela string que voce quiser exemplo:

define AP_SERVERBASEPRODUCT “Jaccon WebServer”

Salve o arquivo e compile normalmente utilizando as sua flags.

Posted in Sem categoria

Reproduzindo soms de animações em flash no Debian 3.1

Artigo retirado do site VivaoLinux.com.br

Bom, vou tentar ser o máximo objetivo possível. O problema em si ocorre por que os aplicativos vem em sua grande maioria configurados para usarem o OSS, mas a saída de áudio no Gnome por padrão é o eSound. Então vamos ao que interessa! 🙂

Finalize os processos do ESD, digitando no terminal:

# killall esd

Verifique se ainda restou algum aplicativo usando o ESD, digite:

# lsof /dev/dsp

Verifique também o OSS:

# lsof /dev/snd/*

Caso todos os processos estejam finalizados, vamos configurar o som.

Edite o arquivo /etc/esound/esd.conf digitando:

$ sudo vi /etc/esound/esd.conf

ou por um editor texto mais amigável:

$ sudo gedit /etc/esound/esd.conf

Deixe o arquivo da seguinte forma:

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=

Agora você reinicia sua sessão.

Ainda não terminou…

1. Verifique o mixer usando o comando alsamixer;
2. Caso tenha algum problema, execute o comando lsof (citado acima).

Posted in Sem categoria

Configurando o XGL no Debian

How To Install XGL on Debian Etch (Testing) by sonique

WARNING : This software and documentation are ABSOLUTELY NO WARRANTY,
Author of this docucumentation can’t be in charge of any bug, crash, errors…
Release v1.2 – June, 6 2006

News
Before Anything
Download Packages
Xorg configuration (optional)
Packages Rpm to deb
Installing Libraries
Script to launch Xgl
Launch Xgl
Xgl by default
Back to Xorg
Compiz at startup
Compiz shortcuts
Screenshots
F.A.Q.

Xgl new X server for Linux and other unix.
documentation inspirate by wunslov’s blog
You can help me by leaving comments, thanks
demo here :
– google novell official video
– linuxedge screenshot
For the Lastest News : Look my blog

Look my blog, and read the lastest news, users comments, and F.A.Q..
sonique6784.blogspot.com
Before anything :

– you need a fast computer (1Ghz minimum)
– you need a graphic card in this list
– install laster Nvidia (or ATI) drivers
– upgrade your distrib (apt-get update && upgrade)
– having gnome 2.12 or higher (apt-get install gnome-desktop-environment)
– be sure you have Xorg 6.8 or 6.9 NOT Xorg 7.0 some problem for the moment.
– install alien (apt-get update && apt-get install alien)
– install libdrm2 libpng3 libxdamage1 libxcomposite1 libxfixes3 libxrender1 (apt-get install libdrm2 libpng3 libxdamage1 libxcomposite1 libxfixes3 libxrender1)

NEW !!! I have been writed an Auto-Install script ! Download and run it, and Xgl is installed !
– Download it here (english) or here (french)
– Try it (sh setupxglen.sh) and leave comment please (here)
Ready ? Go !

download this packages : search them in listing for lastest release here
or directly here (June 3 2006)
sonique mirror(June 3 2006)
compiz
glitz
glitz-dev(devel)
libsvg
libsvg-dev(devel)
libsvg-cairo
libsvg-cairo-dev(devel)
xgl-cvs
xgl-libs.tgz
Xorg Configuration (optional)

You need add this lines in /etc/X11/xorg.conf :
Section “Extensions”
Option “Composite” “true”
EndSection
and in Device Section (optional):
Option “RenderAccel” “true” # nvidia
Option “backingstore” “true” # nvidia and Ati
RPM to Deb

Log you as root
su
move evry file in a same folder
this command create deb packages form rpms
alien *.rpm
this command install deb packages generate by alien
dpkg -i *.deb
Install XGL libraries
You need Glitz Library, Fontenc Library and xfont Library (from Ubuntu)

cd /usr/lib
tar xfvz folder_where_are_all_files/xgl-libs.tgz
Write a script to launch XGL

back in root folder
cd /root/
Xgl is now installed on your system, you need to launch it !

Try XGL now !!!
Write this script

———– c0de : xgl.sh ———–
#!/bin/bash
##### Launch XGL Xserver ####
Xgl -accel glx:pbuffer -accel xv:fbo:1 & sleep 5;
##### Launch Gnome ####
DISPLAY=:0 gnome-session &
#### Launch Compiz (this thing create effect (cube fade…) ####
sleep 30; DISPLAY=:0 compiz –replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place switcher menu water &
#### Launch gnome decorator to actualise ####
DISPLAY=:0 gnome-window-decorator
———– c0de : xgl.sh ———–
Now launch Xgl

You must stop Xorg before
CTRL – ALT – F1
log you as root

———– c0de ———–
/etc/init.d/gdm stop
sh xgl.sh
———– c0de ———–

wait about 45 secondes you will see effects 😉
any error, bug, crash ? please report them here
Evrything work ? Use Xgl by default
You can replace Xorg by Xgl, and you can back to Xorg when you want :
Using symbolic link

———– c0de ———–
cd /etc/X11
ls -l
# you can see X is linked to Xorg
rm X
ln -s /usr/X11R6/bin/Xgl X
———– c0de ———–
If you want back to Xorg

———– c0de ———–
cd /etc/X11
ls -l
# you can see X is linked to Xgl
rm X
ln -s /usr/X11R6/bin/Xorg X
———– c0de ———–
You can do that with gdm

Edit /etc/gdm/gdm.conf
Add a server-Xgl and set 0 to Xgl in server section

[servers]
0=Xgl # replace X by Xgl

#——– New c0de ——–
[server-Xgl]
name=Xgl
command=/usr/X11R6/bin/Xgl :0 -fullscreen -ac -accel glx:pbuffer -accel xv:fbo
#——– New c0de ——–

pbuffer : pixel buffer
fbo : Frame Buffer Object (extention OpenGL)
Load Compiz at gnome startup

to look Compiz effect at gnome startup you need launch it with “startup programs”.
You can found it in desktop > preferences > sessions > startup programs.

you need write this script, (in this example script is named “.xgl” and it’s saved in home directory) :
———– c0de ———–
#!/bin/bash
gnome-window-decorator&
sleep 2
compiz –replace gconf decoration wobbly fade minimize cube rotate zoom scale move resize place menu switcher water &
———– c0de ———–
Change Shortcuts in gnome (Gconf)

With Compiz you can change desktop, use exposé, zoom…
If you want change shortcuts, you must use GConf. you can found it in Applications > System > GConf Editor
Or launching gconf-editor &
Compiz configuration is in :
/apps/compiz/plugins/ { cube | fade | rotate | … }/screen0/options
In left pannel you can see Keys and Values. You can change Values to reconfigure shortcuts, reconfigure others parameters like speed, number of desktop…

menu GConf

GConf-editor
Default ShortCuts (Compiz from SuSe)

Switch windows = Alt + Tab
Arrange and View All Windows = F12 turns on or off; clicking a window will zoom it to the front
Switch desktops on cube = Ctrl + Alt + Left/Right Arrow
Switch desktops on cube – with active window following = Ctrl + Shift + Alt + Left/Right Arrow
Rotate cube manually = Ctrl + Alt + left-click
Make window translucent/opaque = currently only possible with the “transset” utility
Zoom-in once = Super-key right-click
Zoom-in manually = Super-key + wheel mouse up
Zoom-out manually = Super-key + wheel mouse down
Move window = Alt + left-click
Snap Move window (will stick to borders) = Ctrl + Alt + left-click
Resize window = Alt + right-click
Bring up the window below the top window = Alt + middle-click
Slow-motion = Shift + F10
Water = hold Ctrl + Super key
Rain = Ctrl + F9
Change Opacity = Ctrl + Alt + Wheel mouse (up + | down -)
Film effect – changing dekstop = Ctrl + Alt + Down Arrow (hold the Ctrl+Alt then for changing desktop + Left/Right arrow. You can also hold down the left mousebutton to move the “film”) Can be used in combination with the “Switcher”.
Some Screenshots

exposé

move

cube

contact : sonique_irc (at) yahoo (dot) fr
leave comment here : sonique’s blog no registration need
Cet HowTo en Francais
sonique’s website

visitor since 4 april 2006 :

Posted in Sem categoria

Squid – Implementando controle de banda

Dica retirada do site VivaoLinux.

Com o recurso de limite de banda no Squid você pode priorizar a banda para certo grupo de usuários. Dessa forma não corremos o risco de um diretor da empresa estar necessitando baixar um email importantíssimo pelo link, enquanto um estagiário puxa o último episódio de sua mini-série favorita.

Edite o arquivo de configuração do Squid (squid.conf) e adicione as seguintes linhas:

# Crie uma acl com as extensões que serão aplicadas o filtro
acl download url_regex -i ftp .mov .mpeg .wav .tar .mp3 .exe .zip .rar

# Crie outra acl com os IPs que serão aplicados à regra
acl chefes src 192.168.0.22
acl estagiario src 192.168.0.30

delay_pools 2
# Significa que teremos dois controles de banda

# Primeiro controle
delay_class 1 2

# -1/-1 significa que não teremos limites para a delay pool 1
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow chefes

# Segundo controle
delay_class 2 2

# Limita a sua banda para +- 64Kbits
delay_parameters 2 3000/3000 3000/3000
delay_access 2 allow estagiario

Se você não quer que a pessoa faça download da net é só trocar:

delay_parameters 2 3000/3000 3000/3000

Por:

delay_parameters 2 0/0 0/0

Posted in Sem categoria

Divx,WMV no Linux

Para rodar videos com codecs Divx Xvid entre outros na plataforma Linux, é necessário o pacote de codecs w32codecs, na distribuição Debian minha preferida rs., você pode fazer esta tarefa de forma descomplicada através do apt-get.
para isso adicione o Mirror abaixo em seu sources.list:

deb http://download.gna.org/praksys praksys/
deb http://download.gna.org/praksys praksys-testing/

depois

apt-get update
apt-get install w32codecs mencoder-686 mplayer-fonts mplayer-686 player-doc mplayer-mozilla

Com isso você conseguirá rodar videos em Divx em seu Gnu/Linux.

at;e

Posted in Sem categoria

Sistema de autenticação de usuários em PHP usando sessões e MySQL

Este artigo foi retirado do site: http://www.linhadecodigo.com.br/artigos.asp?id_ac=258

Esse artigo é um passo-a-passo da criação de um simples sistema de autenticação de usuários usando banco de dados MySQL e principalmente, as poderosas sessões do PHP. Mostro também como trabalhar com senhas em MD5 e permissões para os usuários.

Através desse artigo, espero que você consiga tirar todas suas dúvidas sobre como deve ser um sistema de autenticação. Esse artigo mostra a principal base, o qual você poderá facilmente adaptar às suas necessidades.

As senhas serão criptografadas em hash MD5, aumentando o nível de segurança.

Vou usar como exemplo um sistema de notícias, onde as notícias serão visíveis apenas para usuários registrados. Usuários registrados também poderão enviar novas notícias.

Tópicos:
# 1 – Tabelas no MySQL
# 2 – Conexão com o banco de dados
# 3 – Criando o formulário e script de Login
# 4 – Verificando se usuário está logado no sistema
# 5 – O script de notícias

6 – Sistema em funcionamento

1 – Tabelas no MySQL
Primeiro vamos criar as tabelas no MySQL do nosso sistema de notícias.
As tabelas se chamarão aut_noticias e aut_usuarios, referentes às Notícias e Usuários respectivamente.

Código SQL das tabelas:

O campo “postar” da tabela “aut_usuarios” registra a permissão do usuário se ele poderá postar (valor S) ou não (valor N) novas notícias.

Agora, vamos inserir alguns dados na tabela, para que o exemplo do artigo funcione. Aqui irei dar tudo pronto, mas no seu caso, em seu sistema, você deverá criar uma seção para adicionar usuários, notícias, etc.. Mas, isso fica fora do escopo desse artigo.

Usuários:

Notícias:

Perceba as senhas criptogradas em MD5, para isso, use a função md5(“senha_aqui”) e então salve o valor gerado no banco de dados, no caso, as senhas são senha123 e teste respectivamente. Eu usei o código abaixo para saber o MD5 para salvar no banco de dados:

< ?phpecho md5("senha123");echo "
“;

echo md5(“teste”);

?>

Veja também que a hora na tabela de notícias está em apenas um valor numérico. Para isso, usei a função time() do PHP. Para você saber qual é essa data e hora, use a função date(). Isso será mostrado adiante.

2 – Conexão com o banco de dados
Vamos agora criar o arquivo “comum.php” onde existirá a conexão de banco de dados, usado em todas as páginas.

< ?php// Conecta-se com o MySQLmysql_connect("localhost", "root", "root");// Seleciona banco de dadosmysql_select_db("noticias");
?>

3 – Criando o formulário e script de Login
Página com o formulário onde o usuário digitará o login e senha:

Agora, vamos criar a página “login_vai.php”, o qual recebe os dados do formulário “login.html” e efetua o login do usuário.

< ?php// Conexão com o banco de dadosrequire "comum.php";// Inicia sessõessession_start();// Recupera o login$login = isset($_POST["login"]) ? addslashes(trim($_POST["login"])) : FALSE;// Recupera a senha, a criptografando em MD5$senha = isset($_POST["senha"]) ? md5(trim($_POST["senha"])) : FALSE;// Usuário não forneceu a senha ou o loginif(!$login || !$senha){echo "Você deve digitar sua senha e login!";exit;}/*** Executa a consulta no banco de dados.* Caso o número de linhas retornadas seja 1 o login é válido,* caso 0, inválido.*/$SQL = "SELECT id, nome, login, senha, postarFROM aut_usuariosWHERE login = '" . $login . "'";$result_id = @mysql_query($SQL) or die("Erro no banco de dados!");$total = @mysql_num_rows($result_id);// Caso o usuário tenha digitado um login válido o número de linhas será 1..if($total){// Obtém os dados do usuário, para poder verificar a senha e passar os demais dados para a sessão$dados = @mysql_fetch_array($result_id);// Agora verifica a senhaif(!strcmp($senha, $dados["senha"])){// TUDO OK! Agora, passa os dados para a sessão e redireciona o usuário$_SESSION["id_usuario"] = $dados["id"];$_SESSION["nome_usuario"] = stripslashes($dados["nome"]);$_SESSION["permissao"] = $dados["postar"];header("Location: index.php");exit;}// Senha inválidaelse{echo "Senha inválida!";exit;}}// Login inválidoelse{echo "O login fornecido por você é inexistente!";exit;}?>

Veja o uso da função strcmp na comparação das senhas. Ela está comparando as duas senhas já criptografadas em hash MD5. Lembrando que a função strcmp retorna ZERO caso 2 strings sejam iguais, por isso o uso do operador NOT (!) na frente da mesma.

4 – Verificando se usuário está logado no sistema
Agora, o script “verifica.php” que verifica a sessão do usuário se ele está logado ou não. Caso não esteja logado, o redireciona para a página de login.

< ?php// Inicia sessõessession_start();// Verifica se existe os dados da sessão de loginif(!isset($_SESSION["id_usuario"]) || !isset($_SESSION["nome_usuario"])){// Usuário não logado! Redireciona para a página de loginheader("Location: login.html");exit;}?>

Em todo script em que você usar sessões, é obrigatório que você inicie as mesmas, chamando a função session_start() no começo dos scripts.

Para as páginas que você quer deixar como restritas, simplesmente inclua o arquivo “verifica.php”.

5 – O script de notícias
Enfim! Chegamos ao principal desse artigo! O script de notícias, onde tudo o que foi criado acima será usado aqui. Esse arquivo é o “index.php”.

< ?php// Verificador de sessãorequire "verifica.php";// Conexão com o banco de dadosrequire "comum.php";// Imprime mensagem de boas vindasecho "Bem-Vindo ” . $_SESSION[“nome_usuario”] . “!
\n”;

// Verifica e imprime quantidade de notícias no nome do usuário

$SQL = “SELECT id

FROM aut_noticias

WHERE autor_id = ” . $_SESSION[“id_usuario”];

$result_id = mysql_query($SQL) or die(mysql_error());

$total = mysql_num_rows($result_id);

if($total)

{

echo “Há um total de ” . $total . ” notícia(s) de sua autoria!\n”;

}

else

{

echo “Não há nenhuma notícia de sua autoria!\n”;

}

/**

* Verifica se usuário tem permissão para postar novas notícias.

* Caso positivo, imprime link para postagem de notícias

*/

if($_SESSION[“permissao”] == “S”)

{

echo ” | Postar nova notícia\n”;

}

// Imprime link de logout

echo ” | Sair do Sistema“;

echo “

\n”;

/**

* Imprime as notícias

*/

$SQL = “SELECT id, titulo, data

FROM aut_noticias

ORDER BY data DESC”;

$result_id = mysql_query($SQL) or die(mysql_error());

$total = mysql_num_rows($result_id);

if($total)

{

// Abre tabela HTML

echo “

\n”;

echo “

\n”;

// Efetua o loop no banco de dados

while($dados = mysql_fetch_array($result_id))

{

echo “

“;

echo “

\n”;

}

// Fecha tabela

echo “

IdTítuloData
” . $dados[“id”] . ““;
echo ” ” . stripslashes($dados[“titulo”]) . “;
echo “
/m/Y à\s H:i:s”, $dados[“data”]) . “

\n”;

}

else

{

echo “Nenhuma notícia cadastrada!\n”;

}

?>

O script de notícias verifica se usuário tem permissão para postar novas notícias, caso sim, imprime o link para a postagem. O arquivo para postar novas não será explicado aqui, pois fica fora do escopo desse artigo, mas, um exemplo de como deve ser feito:

< ?php// Verificador de sessãorequire "verifica.php";// Verifica se usuário tem permissão para postar notíciaif($_SESSION["permissao"] !== "S"){echo "Você não tem permissão para postar notícias!";exit;}// Se o script continuar aqui, é que o usuário tem permissão// Então.. seu formulário de postagem abaixo?>

É sempre recomendável que você coloque um link para que o usuário encerre a sessão de login atual (sessões são encerradas com a função session_destroy()), caso ele não queira mais permanecer na página. No nosso exemplo, a página é a “sair.php”:

< ?php// Inicia sessões, para assim poder destruí-lassession_start();session_destroy();header("Location: login.html");?>

6 – Sistema em funcionamento
Agora é hora de testar tudo! Primeiro, logue-se com o login “einstein” e senha “senha123”. Esse usuário tem permissão para postar novas notícias e tem 2 notícias postadas.

Agora, clique em “Sair do Sistema” e logue-se com o login “admin” e senha “teste”. O usuário não tem permissão para escrita e tem apenas uma notícia postada (por exemplo, como ele não tem permissão para escrita, então deve ter sido um administrador postado a notícia com o nome desse usuário).

Clique aqui para fazer o download dos códigos desse artigo.

Posted in Sem categoria