Linux ACL permissions

Um belo dia, resolvi testar o Fedora, visto que o Ubuntu Natty ficou uma MERDA. Depois de testado, aprovado (nem tanto) e percebido que o Gnome3, apesar de MUITO bonito e com uma usabilidade MUITO boa, ainda está com muitos bugs e algumas coisas ainda precisam ser melhoradas.
Não, eu não estou criticando o Gnome3, só estou dizendo que, no atual momento, o Gnome3 ainda não está maduro o suficiente para EU usá-lo.
Depois disso tudo, eu não queria voltar para o Ubuntu, visto que, no meu notebook, a placa de vídeo não está inicializando (só no Natty), então fui para seu pai, o Debian.
Instalei o Debian, configurei tudo bonitinho (ainda com Gnome2) e precisei fazer alguma coisa no terminal que não me lembro agora.
Ao listar os arquivos da minha pasta ‘home’, me deparei com a seguinte notação:

[email protected]:~$ ll
total 40
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Documents/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Music/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Pictures/
drwxr-xr-x+ 2 alucard alucard   4096 2011-06-14 07:36 Public/

Daí pensei QUE MERDA DE ‘+’ É ESSE??
Como não estava me atrapalhando, deixei pra lá e nem quis saber o que era.

Após algum tempo, aqui no meu trabalho, precisei resolver umas coisas no server de um dos nossos sites e me deparei com o mesmo ‘+’ maltido.
Com uma rápida pesquida no Google, descobri que isso se dá, devido a ACL’s ‘anexadas’ ao arquivo/diretório, e que com o programa ‘getfacl’ eu consigo pegar a ACL de um determinado arquivo/diretório e com o ‘setfacl’ eu determino qual ACL para o mesmo.
Percebi também que, nesse servidor, se eu criar um diretório, nenhuma ACL é atrelada a ele. Então, de acordo com o manual do programa ‘setfacl’ posso rodar o seguinte comando no terminal para copiar uma ACL de um arquivo/diretório e passar para outro:

getfacl <diretorio_origem/arquivo_origem> | setfacl -R --set-file=- <diretorio_origem/arquivo_origem>

Espero que ajude alguém.
=]

Invalid UTF-8 sequence

‘Voltando’ com o blog novamente.

Hoje tive um problema com versionamento (SVN) na empresa que trabalho (já troquei de empresa 2x nesses últimos meses sem passar por aqui, agora estou na Bolt Brasil Comunicação Digital).

Estou mexendo num determinado projeto que, no momento, não estava versionado. Então fui ao servidor e, via SSH, criei um TAR do site inteiro para criar o versionamento do projeto no servidor local da empresa.
Após criar o repositório no SVN, e criar o projeto localmente, ao rodar o comando ‘svn add *’ recebi o seguinte erro em determinado arquivo:

svn:  Valid UTF-8  data
(hex: 4b)
followed by invalid UTF-8 sequence
(hex:  fc 63 68  65)

Pesquisando (não vou citar sites, pois foram muitos, mas basicamente, foi o nosso pai Google), descobri o seguinte comando:

convmv --notest -f latin-1 -t utf8 -r .

Onde, no parâmetro ‘-f’ você colocará o charset que você quer que o arquivo seja renomeado. Por exemplo:
Você tem um arquivo, num formato X e precisa convertê-lo para UFT-8 com o charset ‘latin1’
Com isso, um arquivo nomeado dessa maneira: ‘C?pia.rar’ será convertido para UTF-8 e renomeado para ‘Cópia.rar’. Se você colocar ‘shiftjis’ por exemplo, ele colocará o correspondente chinês para ‘ó’.

Espero ter ajudado alguém (pois ME ajudei =P).

=]

Criando ‘snippets’ no ‘Zend Studio for Eclipse 6’

Olá pessoal, essa noite, conversando com o Breno (@brenowd), ele veio me perguntar como funcionam os ‘snippets’ no Zend Studio.

Pra quem não sabe, ‘snippets’ são templates, ou seja, partes de códigos prontas para agilizarmos nosso trabalho. Na minha opinião, snippets nos deixa um pouco preguiçosos, mas dependendo, realmente nos quebram um galhão! Hehehe..

Bem, o Breno estava acostumado a usar o Dreamweaver, e queria passar a usar o Zend, e estava querendo criar um snippet para um SELECT de uma query MySQL. Então, mãos à obra.

Para criar um snippet no Zend Studio for Eclipse 6, vamos no menu Window > Preferences:

Window > Preferences

Na janela que abre, no campo de pesquisa, digite snippet, logo em seguida em PHP > Templates:

captura_de_tela-3png

Vou dar o exemplo aqui, da criação de um snippet de uma query em MySQL, um SELECT pra ser mais preciso. Clicando em New, temos essa tela:

captura_de_tela-4pngEm ‘name’ você coloca uma palavra para identificar o snippet que está criando, e ao mesmo tempo, a palavra que vai iniciar seu snippet. Em Context é o contexto da linguagem, PHP, PHPDoc ou New PHP (não me pergunte o que é New PHP), e em Pattern, o padrão do nosso snippet. Coloquei assim:

SELECT {$campos} FROM {$tabela};

Onde ‘{$campos}’ e ‘{$tabela}’ são, simplesmente, onde você quer que o cursos de posicione quando você acionar o snippet. O cursor ficará com o ‘{$campos}’ selecionado primeiro, e depois que você digitar qualquer coisa e der tab, ele pulará diretamente para o ‘{$tabela}’. Nesse print, esqueci de colocar o ‘{$END}’ que é onde você quer que o cursor pare depois que der o último tab:

captura_de_tela-6png

Na imagem anterior, mostro como usar o snippet dentro da função ‘mysql_query’, por exemplo. E o snippet é acionado pelo ‘name’, ao digitar, no meu caso, ‘select’ e teclar ctrl+espaço:

captura_de_tela-5png

Então, esse é o meu tutorial sobre snippets. Espero que sirva para alguém! =D

Como um programador mata um Dragão???

Java
Chega, encontra o dragão. Desenvolve um framework para aniquilamento
de dragões em múltiplas camadas.
Escreve vários artigos sobre o framework, mas não mata o dragão.

.NET
Chega, olha a idéia do Javanês e a copia, tenta matar o dragão, mas é
comido pelo réptil.

ASP
Os componentes necessários para levantar a espada são proprietários e
caros. Outros tantos componentes proprietários para achar a
localização do dragão, e mais outros tantos a localização da
princesa. Chama então seu amigo programador de PHP.

C
Chega, olha para o dragão com olhar de desprezo, puxa seu canivete,
degola o dragão. Encontra a princesa, mas a ignora para ver os
últimos checkins no cvs do kernel do linux.

C++
Cria um canivete básico e vai juntando funcionalidades até ter uma
espada complexa que apenas ele consegue entender … Mata o dragão,
mas trava no meio da ponte por causa dos memory leaks.

COBOL
Chega, olha o dragão, pensa que tá velho demais para conseguir matar
um bicho daquele tamanho e pegar a princesa e, então, vai embora de
volta ao seu
mundinho.

Pascal
Se prepara durante 10 anos para criar um sistema de aniquilamento de
dragão… Chegando lá descobre que o programa só aceita lagartixas
como entrada.

VB
Monta uma arma de destruição de dragões a partir de vários
componentes, parte pro pau pra cima do dragão e, na hora H, descobre
que a espada só funciona
durante noites chuvosas…

PL/SQL
Coleta dados de outros matadores de dragão, cria tabelas com N
relacionamentos de complexidade ternária, dados em 3 dimensões, OLAP,
demora 15 anos para processar a informação. Enquanto isso a princesa
virou lésbica.

PHP ( eu me encaixo aqui? ah nao! 😛 )
Pesquisa bancos de scripts e acha as classes de construção de espada,
manuseio da espada, localização da princesa e dragão. Remenda tudo e
coloca umas firúlas próprias.
Mata o dragão e casa com a princesa. Como tudo foi feito com
gambiarras, o dragão um dia vai ressuscitar e comer os dois.

Ruby
Chega com uma p*t* fama, falando que é o melhor faz tudo, quando vai
enfrentar o dragão mostra um videozinho dele matando um dragão … O
dragão come ele de tédio.

Smalltalk
Chega, analisa o dragão e a princesa, vira as costas e vai embora,
pois eles são muito inferiores.

ASSEMBLY
Acha que está fazendo o mais certo e enxuto, porém troca um A por um
D, mata a princesa e transa com o dragão.

Shell
Cria uma arma poderosa para matar os dragões, mas na hora H, não se
lembra como usá-la.

Shell (2)
O cara chega no dragão com um script de 2 linhas que mata, corta,
stripa, pica em pedacinhos e empalha o bicho, mas na hora que ele
roda, o script aumenta,
engorda, enfurece e coloca álcool no fogo do dragão.

Fortran
Chega, desenvolve uma solução com 45000 linhas de código, mata o
dragão e vai ao encontro da princesa …
mas esta o chama de tiuzinho e sai correndo atrás do programador java
que era elegante e ficou rico.

FOX PRO
Desenvolve um sistema para matar o dragão, por fora é bonitinho e
funciona, mas por dentro está tudo remendado. Quando ele vai executar
o aniquilador de
dragões lembra que esqueceu de indexar os DBF’s.

CLIPPER
Monta uma rotina que carrega um array de codeblocks para insultar o
dragão, cantar a princesa, carregar a espada para memória, moer o
dragão, limpar a sujeira, lascar leite condensado com morangos na
princesa gostosa, transar com a princesa, tomar banho, ligar o carro,
colocar gasolina e voltar pra casa. Na hora de rodar recebe um “Bound
Error: Array Access” e o dragão come ele com farinha.

ANALISTA DE PROCESSOS
Chega ao dragão com duas toneladas de documentação desenvolvida sobre
o processo de se matar um dragão genérico, desenvolve um fluxograma
super complexo para libertar a princesa e se casar com ela, convence
o dragão que aquilo vai ser bom pra ele e que não será doloroso. Ao
executar o processo ele estima o esforço (usando FPAs) e o tamanho do
estrago que isso vai causar, consegue o aval do papa, do Buda e do
Raul Seixas para o plano, e então compra 2 bombas nucleares, 45
canhões, 1 porta aviões, contrata 300 homens armados até os dentes,
quando na verdade necessitaria apenas da espada que estava na sua mão
o tempo todo.

Firefox 3 – Revisão e Opinião

Olá pessoal, estou vendo várias pessoas reclamando, falando bem, criticando o novo Firefox 3 e resolvi dar a minha opinião.
Bem, desde que eu instalei o Ubuntu Hardy no meu notebook, estou usando o Firefox 3. Pra quem não sabe, o Hardy já vem com a versão 3 beta 5 do FF3. Quando o abri pela primeira vez, já achei interessante a tão mencionada “awesome bar”:

Awesome Bar

Ela realmente é AWESOME! Olha só isso na minha imagem: eu queria ir na administração do meu blog, imaginem: http://lucasmezencio.com/wp-admin certo? NÃO! Com a awesome bar, basta digitar wp-admin, como vocês podem ver. Ele busca automaticamente, todas as páginas que você visitou que possuem aquela palavra/expressão no endreceço. Tem coisa melhor? 😛

Outra coisa que me chamou a atenção foi a janela de download. Se você a fecha, fica uma notificação lá em baixo:

Download

A janela de complementos dele também ficou muito boa, com a aba de plugins melhorou 100%:

Plugins

Pois bem, sem falar na velocidade, que melhorou significativamente, a aparência e a robustez do programa também me chamaram a atenção.

“Ovos de páscoa”: como a maioria dos programas possuem, o FF3 não poderia ficar de fora, certo? Pois então, aí vão alguns “ovos de páscoa”:
about:mozilla
about:robots

É isso aí então pessoal!
Abraços!

And… I’m Back! | .htaccess

Pois bem, depois de um bom tempo (17 dias sem postar), estou de volta!

Após e-mails sem resposta e uma luta insistente com o pessoal da Iw2, consegui, finalmente, voltar com meu blog ao ar.
Estava com problemas no tamanho de arquivos no WordPress. Os arquivos têm seu próprio tamanho, porém, quando eles precisam ser escritos, mesmo que temporariamente, os mesmos “inflam”, ou seja, crescem de tamanho (em bytes, no caso). A maioria dos arquivos de controle do WordPress, inflam para tamanhos maiores que 8mb, e em um servidor Linux com PHP instalado, o gerenciamento de memória (memory_limit) nas configurações do PHP (php.ini) é, por padrão, 8mb.
Quando instalamos o WordPress em servidores com as configurações de limite de memória do PHP em padrão, conseguimos a seguinte mensagem:

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 77824 bytes) in /home/[usuário]/public_html/wp-includes/class-snoopy.php on line 382

Então como usaríamos o WordPress em um servidor Linux com configurações padrão, levando em conta que não podemos editar o arquivo php.ini?
No Apache, existe um arquivo de configuração de acesso às páginas chamado .htaccess. Esse arquivo, controla o modo de acesso às pastas, subpastas e arquivos de uma determinada pasta, no caso, suas páginas.
Quando temos problemas relacionados ao limite de memória e não podemos modificar o arquivo php.ini no servidor, alteramos uma linha no .htaccess para que o limite de memória funcione:

php_value memory_limit  [número]M

Onde [número] pode variar entre 4 e 120, ou seja, você pode definir o limite de memória entre 4mb e 120mb. Então colocaríamos da seguinte maneira:

php_value memory_limit 16M

Porém, no servidor da iW2, isso não estava funcionando.
E o que acontecia? Dava um erro BEM estranho. Ele não permitia acesso a NADA no servidor:


Server Error

O jeito foi falar com o suporte para alterar no php.ini o valor do parâmetro memory_limit.
E hoje, com o parâmetro alterado, estou aqui, postando sem maiores problemas.

E venho agradecer também o pessoal da iW2 pela atenção!

Abraços pessoal, e espero ter ajudado alguém que passou por esse mesmo problema! 😀

Problemas

Depois de um bom tempo sem postar aqui, volto hoje, a postar.

 

Lembram do evento Minas On Rails? Pois é, em um sorteio, ganhei uma hospedagem gratuita de um ano no host IW2, porém, onde meu blog está hospedado atualmente, o host HostPHD, não está colaborando muito comigo. Estou tentando fazer uma transferência de domínio e hospedagem a mais ou menos 1 mês e eles não me respondem em hipótese alguma. Só está faltando uma confirmação por parte deles e, nada. E pra variar, o servidor deles está uma beleza só esses dias.

 

Como eu disse post anterior, estou com problemas também na instalação de qualquer distribuição de Linux no meu notebook, ele é um Compaq Presario V6210BR Notebook PC. É muito estranho o que acontece nele, eu já uso linux há pouco mais de um ano, e nunca tive nenhum problema assim. Quando comprei meu notebook, ele veio de fábrica, com Mandriva Linux 2007.0, funcionando perfeito, tudinho, mas é claro, o kernel é compilado propriamente para ele, junto com drivers, etc. Retirei o Mandriva e instalei o Windows XP Professional SP2, tive um certo problema com a instalação dos drivers do Windows, mas nada que a ajuda de um bom Google e de bons fóruns para resolver os problemas. Tudo instalado e funcionando perfeitamente. Mas, Windows? Não, não queria isso, só instalei porque não gostei muito do Mandriva e porque meus pais queriam mexer no notebook, e colocar Linux pra eles, que usam Windows sempre, ficou difícil. Havia testado o Mandriva Linux 2007.1 em um outro PC e resolvi tentar no notebook. Como no Brasil nem tudo (nada) são rosas, não sou um privilegiado em relação à internet banda larga, então, não possuo o serviço. Com o Mandriva Linux 2007.1 rodando tranquilo, não pude instalar a placa wilreless nem o modem, pois precisava de conexão à internet para baixar alguns pacotes necessários. Instalei então, o openSUSE Linux 10.2, minha distribuição preferida, funcionou perfeitamente também, mas com o mesmo problema no Mandriva: wireless e modem, nada. Foi quando a Mandriva anunciou o Mandriva Linux 2008. Logo pensei: se o 2007.0 e o 2007.1 funcionaram, testarei o 2008. Nada! Ao inicializar o ambiente gráfico o sistema trava completamente, nada funciona, somente desligando manualmente no botão. Aí, a openSUSE anunciou também o openSUSE Linux 10.3, dito e feito, a mesma coisa do Mandriva, trava na inicialização do ambiente gráfico. Tratei então, de procurar pela internet se alguém, no mundo, já passou por alguma coisa parecida com esse notebook. E achei, achei um que instalou o Debian Linux no v6210, antes de tentar seguir os passos dele, resolvi ver o que acontece com o Debian quando o instalo no v6210. Ele trava na mesma ocasião das distros acima, mas ele tem um porém: quando inicializado pelo modo single-user, ele inicializa normalmente, pelo modo texto, e quando damos o comando startx, o ambiente gráfico inicializa tranquilamente. Resolvi, então, seguir os passos dele, mas não deu em nada. Como ele mesmo disse, ele compilou o próprio kernel, e eu não consegui compilar meu próprio kernel. Depois de muita luta, com o Debian, seguindo as instruções do Excidium, com o feed do Viva o Linux assinado, vi uma dica do Tiago Tavares, dizendo que o problema da inialização do ambiente gráfico no Debian está no driver da placa de vídeo (NVIDIA GeForce Go 6150). Segui os passos dele também, mas nada me aconteceu.

 

Eis aqui meu relato sobre os problemas que estou passando no momento. Quem puder me ajudar, agradecerei! 😀

Qual a próxima linguagem a aprender?

Como disse o Ronaldo, em seu post APróxima Linguagem a Aprender, neste ano, pretendo aprender Ruby, com o framework Rails.

Ruby - A Programmer's Best Friend

Mas no momento estou com uma certa dificuldade com meu Compaq Presario v6000 para instalar Linux nele, ainda não tive uma oportunidade de trabalhar com o Ruby direito, afinal, no rWindows nada funciona direito.

Espero que alguém que freqüente meu blog me ajude na instalação dos dois. 😀

Post Graaande

Título estranho não?! Pois é, o título faz jus ao post mesmo!

Install Fest Mandriva Linux 2008

A Mandriva Conectiva, representante oficial da Mandriva no Brasil, realiza no dia 24 de novembro deste ano o Install Fest Mandriva Linux 2008, que consiste num dia “projetado” para garantir a instalação do sistema operacional da Mandriva no maior número de computadores possível. Mas adivinhem só? Minas Gerais? Só em sonho mesmo! Na verdade, só em Manhuaçu! Dá pra acreditar? Não estou menosprezando a cidade de Manhuaçu, mas a capital não vai fazer parte do Install! Dá pra acreditar?

Novo Google?

Uma nova página dentro do site chinês de busca da Google mostra que a empresa está testando alternativas para a interface inicial do site.
Segundo o site TechCrunch, a nova capa abandona a visualização limpa e se assemelha à interface popularizada com o Yahoo.
A interface está em um endereço descoberto pelo blog Blogscoped e ainda não substituiu a capa atual do site ou sequer recebeu um link nela, o que pode indicar que é apenas um teste.
A nova tela traz link para uma série de ferramentas da Google e sugestões de conteúdos para guiar os internautas, bem como uma lista das buscas mais realizadas no dia. A ação pode ser um modo de se equiparar ao Baidu, maior serviço de busca na China, o segundo maior mercado de internet.
A capa do serviço em chinês pode ser vista pelo atalho tinyurl.com/38on87.

Free Magenta

De acordo com o site Blue Bus, a empresa de telefonia T-Mobile disse que tem o registro da cor magenta e entrou com uma ação para que as empresas que usam a cor não possam usá-la em logos na internet.
O site FreeMagenta(em holandês) protesta contra a posse da cor pela empresa.
Por esse motivo, resolvi trocar a cor do meu blog para magenta!

Cuba defende Linux e critica Windows

Terça-feira, 11 de setembro de 2007 – 15h48

HAVANA – Cuba capacitou quatro mil pessoas para operar o sistema operacional de código aberto Linux.

A iniciativa é parte de batalha do país para por fim à dependência digital com relação ao sistema Windows, da Microsoft, informou na terça-feira a imprensa oficial cubana.

O governo comunista de Cuba decidiu pela adoção do Linux em 2005 e está pregando as vantagens ideológicas do software livre em 600 centros de informática montados pela União de Jovens Comunista em toda a ilha.

“Com a expansão no uso do software livre, Cuba deixaria para trás sua dependência do sistema Windows e as possíveis exigências judiciais de seu proprietário, a gigante norte-americana Microsoft”, afirmou o Juventud Rebelde, diário da União de Jovens Comunistas.

Ainda que a maioria dos computadores em operação no país empregue o sistema operacional da Microsoft, o governo pretende que metade das máquinas nos escritórios e ministérios migre para o Linux nos próximos três anos.

Mais de 3.880 cubanos passaram por cursos de Linux, de acordo com o Juventud Rebelde.

“Diferentemente do programa criado pela empresa de Bill Gates, o Linux oferece, aos usuários que desejem estudá-lo, livre acesso ao seu código-fonte e a possibilidade de modificá-lo e assim reforçar a privacidade das informações”, acrescentou o diário.

O Linux é um sistema operacional de fonte aberta, que pode ser acessada e modificada por programadores e foi desenvolvido pelo finlandês Linus Torvalds. O sistema se transformou em bandeira daqueles que se opõem ao predomínio da Microsoft no mercado.

Cuba dispõe de cerca de 380 mil computadores ou 3,4 máquinas por 100 habitantes. O governo do país acusa os Estados Unidos de prejudicar seu desenvolvimento tecnológico por meio de um embargo comercial que já dura 45 anos e limita a aquisição de equipamentos e o acesso à Internet.

De acordo com as autoridades cubanas, o Linux está sendo usado na alfândega do país e em breve começará também a ser utilizado nos centros de educação superior.

Para as autoridades do país, envolvidas em uma guerra ideológica que já dura quase meio século contra os Estados Unidos, a migração para o Linux é assunto sério. “É um problema de soberania tecnológica, um problema de ideologia”, disse Héctor Rodríguez, chefe de uma equipe de mil pessoas que desenvolve programas Linux na Universidade de Havana.

Reuters

Fonte: PLANTÃO INFO / 09/2007 / TI

O Firefox é mais vulnerável que o IE?

Terça-feira, 28 de agosto de 2007 – 20h18SÃO PAULO – Um estudo do Honeynet Project descobre mais vulnerabilidades no Firefox, porém o IE é mais invadido.A informação parece contraditória, mas é isso mesmo. O Honeynet Project, uma entidade sem fins lucrativos, analisou 300 mil URLs em maio deste ano, usando os browsers Internet Explorer 6 SP2, Firefox 1.5.0 e Opera 8.0.0. A conclusão é a seguinte: o Firefox tinha duas vezes mais vulnerabilidades que o IE. Mas não se registrou nenhum ataque ao Firefox, enquanto o IE foi invadido quase 200 vezes.O Opera foi o navegador que apresentou o menor número de falhas e, como o Firefox, não sofreu nenhuma invasão. Os pesquisadores acreditam que a explicação para a aparente contradição entre os números do IE e do Firefox esteja na liberação mais rápida de correções para o browser.Talvez também se possa acrescentar que, na média, os usuários do Firefox tendem a ser mais conscientes dos riscos que os do IE. Estes, por incluir muitos leigos, possivelmente demorem mais para aplicar as correções de segurança.

Essa suposição faz sentido. Os pesquisadores destacam que a aplicação de correções representa, sem dúvida, um procedimento eficaz de segurança. Na pesquisa, uma versão do IE6 com todos as atualizações visitou 2289 sites maliciosos sem sofrer nenhum dano. Vale lembrar que a pesquisa do Honeynet Project foi feita em maio e não usou as versões atuais dos browser: Internet Explorer 7.0, Firefox 2.0.0.6 e Opera 9.23.

Fonte: PLANTÃO INFO 08/2007 | Tecnologia