Arquivo de março \12\UTC 2007

Montar pastas remotas usando sshfs e sem senhas.

Em função de um artigo anterior “Integrando o nautilus a rede Linux” algumas pessoas ficavam me enviando mensagens particulares perguntando como seria possivel fazer a mesma coisa só que genericamente, isto é, independemente do gerenciador de aquivos. A solução é simples : sshfs !

Primeiramente vamos à um método pouco divulgado que chama-se autenticação por chaves DSA, este método suprime o login e senha e basta ter uma chave correspondente no servidor e o caminho estará livre para compartilhar arquivos ou sessões. Funciona assim :

Digite na sua estação de trabalho :

cd ~
ssh-keygen -t dsa

Se voce não tem nenhuma experiência com o SSH e o uso de chaves então pressione [ENTER] quando solicitado o “passphrases” (palavra chave), com isso será criado um arquivo ~/.ssh/id_dsa.pub que deverá ser enviado a todos os servidores que voce pretende se conectar por ssh. Como enviar este arquivo para os servidores ? Assim :

ssh-copy-id -i ~/.ssh/id_dsa.pub root@ip.do.servidor

Lhe será solicitado a senha do usuário em questão pela última vez. No exemplo acima, a senha a ser utilizada é do usuário “root”.

Vamos testar :

scp root@ip.do.servidor:/etc/issue /tmp/

O exemplo acima vai copiar do servidor ip.do.servidor o arquivo /etc/issue para a pasta /tmp. Se tudo der certo, então nenhuma senha será requerida e tal arquivo será copiado.

Pressupondo que você tenha instalado corretamente as chaves em todos os servidores, agora vamos montar a unidade remota. Existem dois modos, um pelo comando ‘sshfs‘ e outro através do arquivo /etc/fstab.

O uso do sshfs ou /etc/fstab está relacionado além da preferência pessoal, a quantidade de vezes que voce precisa acessar este servidor ou editar arquivos nele ou quanto você confia que sua estação de trabalho será usada apenas por voce mesmo. Suponhamos que raramente você queira acessar arquivos neste servidor, ou a maquina que está usando agora não é muito confiável então eu aconselharia utilizar o comando ‘sshfs’ e até mesmo não usar chaves DSA. Por outro lado, se a máquina for por exemplo, um notebook onde só voce tem acesso, e é rotineiro acessar arquivos remotos então usar /etc/fstab poderá ser bastante benéfico.

Usando o comando sshfs :

sshfs root@ip.do.servidor:/home /media/servidor/ -o allow_other

com o uso do comando ‘man sshfs’ voce perceberá que ‘allow_other’ é para que outros usuários locais e não somente o root poderá acessar a pasta /media/servidor. Existem outras opções, por exemplo, eu uso também ‘umask=000’ para desativar as permissões e atributos de todos os arquivos, faço isso para que todos os arquivos sejam editáveis e nenhum deles seja um executável que possa executado por engano, existem muitas outras opções e cada uma delas é para suprir várias necessidades diferentes.

Usando /etc/fstab :

Dê um ALT+F2 e digite “gksu gedit /etc/fstab” e acrescenta a seguinte linha no final do arquivo :

sshfs#root@ip.do.servidor:/home /media/servidor fuse rw,nosuid,noauto,nodev,allow_other 0 0

As características acima são praticamente as mesmas do uso comum do /etc/fstab, a diferença fica por conta do sistema de arquivos informado como ‘fuse’ e a informação do sistema_arquivos+usuário+servidor mencionado como ‘sshfs#root@ip.do.servidor’. No exemplo acima eu coloquei ‘noauto’ como parametro de montagem e com isso a pasta não será montada automagicamente no momento de boot. Pois é, algumas pessoas são assim, poderiam usar o ‘sshfs’ mas preferem o /etc/fstab mesmo que seja para a mesma finalidade.

Observação Importante #1 : O uso de chaves DSA é seguro, no entanto, você deve ter certeza de guardar seus arquivos ~./ssh/*.pub em local seguro, pois se alguém tiver acesso a estes então poderá também logar-se sem senha. Se estiver inseguro quanto ao uso de chaves, simplesmente não utilize-as e passar a suprir a senha no momento da montagem.

Observação Importante #2 : O pacote ‘openssh-server’ é requerido no servidor, enquanto o pacote ‘sshfs’ é requerido nas estações. Sistemas baseados em debian requerem o carregamento do  modulo fuse (modprobe fuse) na memória, se for este o seu caso, acrescente-o a lista /etc/modules.

10 Comentários

Instalando webcam Ali M506x no Ubuntu Edgy

O chipset Ali M560x é muito encontrado em webcams, especialmente as embutidas em notebooks, algum tempo atrás não havia suporte para essa Webcam e mesmo muita gente reclamando com a Asus (quase todos os notebooks da Asus usam essa webcam) nunca houve um suporte eficiente para essa webcam no Linux. Isso mudou, e a partir de agora já existe um driver (módulo) eficiente para essa webcam e a promessa dessa webcam ser incorporada a versões posteriores do kernel do linux. Fiz uma instação recente dela num notebook de um amigo e resolví detalhar um passo-a-passo com os leitores. Vale lembrar que a promessa para embutir esse módulo era para o kernel 2.6.19, portanto se os planos não foram mudados haverá suporte nativo para essa webcam no Ubuntu Feisty. Eis o passo-a-passo :

1) Atualize sua biblioteca de hardwares PCI e USB :

sudo update-pciids
sudo update-usbids

Os passos acima não garantem nada e podem ser suprimidos, eles apenas atualizam uma biblioteca de informações para que os comandos ‘lscpi’ e ‘lsusb’ descrevam melhor os dispositivos encontrados.

2) Instale algumas dependencias :

sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev
sudo apt-get install subversion
sudo apt-get install linux-source

3) Descompacte os fontes do kernel :

cd /usr/src/
sudo tar jxvf linux-source-2.6.17.tar.bz2
sudo ln -s /usr/src/linux-source-2.6.17 /usr/src/linux

4) Crie um diretorio para manter os fontes e compilar

cd ~
mkdir m560x-source
cd m560x-source

5) Baixe os fontes :

svn checkout https://m560x-driver.svn.sourceforge.net/svnroot/m560x-driver

Se voce precisar atualizar novamente, não é preciso baixar todos os fontes novamente, apenas vá até a pasta m560x-source e digite no prompt :

svn update

6) Para compilar :

cd m560x/trunk/km_m560x
make

Se o compilador reclamar com o erro :

…/m560x/trunk/km_m560x/m560x_core.c:35:29: error: media/v4l2-dev.h: Arquivo ou diretório inexistente
make[2]: ** […/m560x/trunk/km_m560x/m560x_core.o] Erro 1
make[1]: ** […/m560x/trunk/km_m560x] Erro 2
make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.17-11-generic’
make: ** [all] Erro 2

É porque voce está usando uma versão de kernel inferior a versão desejada (2.6.18), mas calma aí, tem um jeito de enganar o programa, faça isso :

sudo ln -s /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-common.h /usr/src/linux-headers-2.6.17-10-386/include/media/v4l2-dev.h

Com isso, voce repete novamente :

make

E depois :

sudo make install

7) Feita a instalação, confirme que os módulos necessários estejam carregados :

sudo modprobe videodev
sudo modprobe v4l1-compat

Se perceber que os módulos acima não estão sendo carregados automaticamente no boot, então acrescente-os à lista /etc/modules, neste caso acrescente apenas os nomes videodev e v4l1-compat, um módulo por linha.

8) Faça um teste com algum programa de sua prefência.

Há toneladas de programas diferentes, eu prefiro usar o camorama por ser mais simples.


			

24 Comentários