Solução para erro do cifs com NAS de drive externo
Após várias tentativas para montar um compartilhamento samba de um drive externo e sempre ter o erro "mount error 20 = Not a directory" descobri um post que tem a solução.
Compile um kernel com suporte a smbfs e cifs. Veja instruções em : http://arvati.blogspot.com/2008/03/compilar-um-kernel-no-ubuntu.html
Execute:
sudo bash
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
Para esta solução ser permanente precisa alterar:
Arquivo /etc/modules, adicionando a linha
cifs
Arquivo /etc/rc.local, adicionando a linha
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
Esta linha tem que ficar antes do exit 0
Sei que é meio estranho isso mas temos um bug com cifs e com smbfs aparecia coisas mais estranhas ainda no conteúdo do diretório montado.
E depois monte o compartilhamento:
sudo mount -t cifs //storage/PUBLIC /storage/public -o rw,guest,codepage=cp850,iocharset=utf8
Para acrescentar este compartilhamento ao fstab acescente a linha:
//storage/PUBLIC /storage/public cifs rw,guest,codepage=cp850,iocharset=utf8 0 0
E depois o comando:
mount -a
Se precisar de acessar por um usuário e senha específico crie um arquivo em /root/.smbcredentials com o conteúdo:
username=winusername
password=winpassword
Execute:
sudo chmod 700 /root/.smbcredentials
E no fstab coloque a linha:
//storage/PUBLIC /storage/public cifs credentials=/root/.smbcredentials,rw,codepage=cp850,iocharset=utf8,nosetuids,noperm,file_mode=0777,dir_mode=0777
0 0
Compile um kernel com suporte a smbfs e cifs. Veja instruções em : http://arvati.blogspot.com/2008/03/compilar-um-kernel-no-ubuntu.html
Execute:
sudo bash
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
Para esta solução ser permanente precisa alterar:
Arquivo /etc/modules, adicionando a linha
cifs
Arquivo /etc/rc.local, adicionando a linha
echo 0 > /proc/fs/cifs/LinuxExtensionsEnabled
Esta linha tem que ficar antes do exit 0
Sei que é meio estranho isso mas temos um bug com cifs e com smbfs aparecia coisas mais estranhas ainda no conteúdo do diretório montado.
E depois monte o compartilhamento:
sudo mount -t cifs //storage/PUBLIC /storage/public -o rw,guest,codepage=cp850,iocharset=utf8
Para acrescentar este compartilhamento ao fstab acescente a linha:
//storage/PUBLIC /storage/public cifs rw,guest,codepage=cp850,iocharset=utf8 0 0
E depois o comando:
mount -a
Se precisar de acessar por um usuário e senha específico crie um arquivo em /root/.smbcredentials com o conteúdo:
username=winusername
password=winpassword
Execute:
sudo chmod 700 /root/.smbcredentials
E no fstab coloque a linha:
//storage/PUBLIC /storage/public cifs credentials=/root/.smbcredentials,rw,codepage=cp850,iocharset=utf8,nosetuids,noperm,file_mode=0777,dir_mode=0777
0 0
Compilar um Kernel no Ubuntu
Trocar o dash para bash:
su
rm -f /bin/sh
ln -s /bin/bash /bin/sh
Instalar Pacotes:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Baixar Kernel e Patch:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.3.bz2
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
Descompactar:
rm -f linux
tar xjf linux-2.6.24.tar.bz2
ln -s linux-2.6.24 linux
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.24.3.bz2 | patch -p1
cp /boot/config-`uname -r` ./.config
Compilar:
make menuconfig
Selecione "Load an Alternate Configuration File" e escolha o arquivo ".config"
Depois Selecione as configurações desejadas e ao final selecione EXIT e salve a nova configuração.
Compile o Kernel:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Instalar o Kernel:
cd /usr/src
ls -l
dpkg -i linux-image-2.6.24.3-custom_2.6.24.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.24.3-custom_2.6.24.3-custom-10.00.Custom_i386.deb
Atualize o lilo ou grub com a nova imagem e kernel.
teste com o comando uname -r após um reboot: shutdown -r now
su
rm -f /bin/sh
ln -s /bin/bash /bin/sh
Instalar Pacotes:
apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Baixar Kernel e Patch:
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.24.3.bz2
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
Descompactar:
rm -f linux
tar xjf linux-2.6.24.tar.bz2
ln -s linux-2.6.24 linux
cd /usr/src/linux
bzip2 -dc /usr/src/patch-2.6.24.3.bz2 | patch -p1
cp /boot/config-`uname -r` ./.config
Compilar:
make menuconfig
Selecione "Load an Alternate Configuration File" e escolha o arquivo ".config"
Depois Selecione as configurações desejadas e ao final selecione EXIT e salve a nova configuração.
Compile o Kernel:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
Instalar o Kernel:
cd /usr/src
ls -l
dpkg -i linux-image-2.6.24.3-custom_2.6.24.3-custom-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.24.3-custom_2.6.24.3-custom-10.00.Custom_i386.deb
Atualize o lilo ou grub com a nova imagem e kernel.
teste com o comando uname -r após um reboot: shutdown -r now
Montando outro Servidor Ubuntu do Zero
Dia 3 de outubro de 2007 comecei este blog quando me aventurei a instalar um servidor ubuntu com as seguintes características:
Não imagino que o processo de aprendizagem terminou mas vou colocar nesta postagem uma série de passos que vou seguir para refazer o servidor em questão pela enésima vez. Um dia pretendo fazer um script ou algo do tipo com a finalidade de falicitar este processo.
Neste caso a versão disponível é a 7.10 - Gutsy Gibbon - lançada em 18 de outubro de 2007.
A instalação é bem simples e no momento de escolher os pacotes a instalar, escolhi:
Troque o texto abaixo....
.... pelo texto
Troque o texto abaixo....
.... pelo texto
Reinicie e teste a configuração:
Outras configurações antes de configurar o BIND.
Troque o texto abaixo....
.... pelo texto
Depois...
Troque o texto abaixo....
.... pelo texto
Depois...
Troque o texto abaixo....
.... pelo texto
Reinicie o servidor de DNS:
Alterar o comportamento de como o sistema checa o DNS ...
Troque o texto abaixo....
.... pelo texto
Edite o arquivo conforme o comando abaixo. Este comando utiliza o nano que é um editor de texto bem simples. Para sair e atualizar o conteúdo tecle control+X e confirme as alterações realizadas (Yes) e salve o arquivo com o mesmo nome anterior (Enter).
Comente com o caractere # a linha que começa com deb cdrom para quem tem conexão com internet e não deseja atualizar pelo CDROM.
Descomente apagando o caracter # da linha identificada como gutsy partner para ter acesso a pacotes de parceiros da canonical e arquivos.
Inclua as seguintes linhas ao final:
Atualize tudo, inclusive verifique os upgrades disponíveis.
Basta utilizar o aplicativo Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/).
Para editar arquivos pode-se utilizar programas como o vi, nano, pico ou o joe.
Em máquinas windows pode-se ainda utilizar o programa WinSCP (http://winscp.net/eng/index.php) para editar os arquivos via SSH.
Caso o Servidor SSH não tenha sido instado instale pelo comando abaixo
Vale a pena checar se voce possui todas as bibliotecas necessárias:
Ao final do processo de instalação o Webmin se encontrará em /usr/share/webmin
Para acessar o webmin digite no browser:
https://localhost:10000/
Para acessar o usermin digite no browser:
https://localhost:20000/
Se precisar abrir a porta do servidor para fornecer acesso ao webmin segue algumas dicas não testadas (link: http://www.ubuntu.rohraff.org/index.php?title=Main_Page#Additional_Repositories_.28Gutsy_Gibbon_7.10.29) :
rule for IPTABLES (to open port 10000): iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
to set up root password: sudo /usr/share/webmin/changepass.pl /etc/webmin root <your passwordhere>
Para adicionar um usuário com todos os opcionais configurados execute:
Para remover algum grupo execute:
o link: http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html tem várias dicas de comandos (não testei todos) para gerenciar usuários e grupos no linux.
Para instalar software de backup Bacula execute:
Configure-o pelo webmin e informe a senha do Mysql quando da instalação.
Link útil: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1910&pagina=2
Siga o tutorial do link http://www.debianhelp.co.uk/baculaweb.htm para instalar uma interface web própria.
Para acessar digite no browser:
https://localhost/bacula-web/test.php
Como o Bacula para fazer funcionar é meio complicado uma boa alternativa é o Restore.
Instruções de como instalá-lo abaixo. Link: http://restore-backup.com/
Instale Swat com o comando:
Para acessar o usermin digite no browser, mas antes faça um shutdown no servidor:
http://localhost:901/
Lista de itens a escrever como fazer:
Configurar Fstab
Configurar Samba
Cups-pdf
apt-get install cups-pdf
Não deixe de conferir nosso novo blog sobre Linux em : Ubuntu "4us"
- administração remota com algumas ferramentas disponíveis como: webmin, phpMyAdmin, phpMyLdapAdmin, Swat e outras que estiverem disponíveis e forem úteis ao meu propósito
- acesso via putty externo
- servidor samba
- servidor ldap
- servidor apache
- servidor de email
- servidor Web-Dav
- servidor Ftp
- servidor aMule interno
- servidor Asterisk
- servidor Impressão PDF
- servidor MySql
- servidor uPnP e Streaming de audio e video
- servidor vmWare
- dentre outros aplicativos ....
Não imagino que o processo de aprendizagem terminou mas vou colocar nesta postagem uma série de passos que vou seguir para refazer o servidor em questão pela enésima vez. Um dia pretendo fazer um script ou algo do tipo com a finalidade de falicitar este processo.
Passo 1 - Instalar o Ubuntu
Fiz o download da imagem Iso da versão atual do Ubuntu em http://www.ubuntu.com/getubuntu/downloadNeste caso a versão disponível é a 7.10 - Gutsy Gibbon - lançada em 18 de outubro de 2007.
A instalação é bem simples e no momento de escolher os pacotes a instalar, escolhi:
- DNS Server
- LAMP Server
- MAIL Server
- OpenSSH Server
- Print Server
- Samba File Server
- senha root do MySQL
- Postfix - Apenas local (depois configuro)
- Postfix - Nome de mail: casa.lan
Passo 2 - Configurar senha do Root
Faça o login no sistema com o usuário informado na instalação e depois digite o comando abaixo.sudo passwd root |
Passo 3 - Configurar endereço IP estático
Edite o arquivo conforme o comando abaixo. Este comando utiliza o nano que é um editor de texto bem simples. Para sair e atualizar o conteúdo tecle control+X e confirme as alterações realizadas (Yes) e salve o arquivo com o mesmo nome anterior (Enter).sudo bash cp /etc/network/interfaces /etc/network/interfaces.old nano /etc/network/interfaces |
auto eth0 iface eth0 inet dhcp |
auto eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 |
Passo 4 - Configurar servidores de DNS
Edite o arquivo conforme o comando abaixo. Este comando utiliza o nano que é um editor de texto bem simples. Para sair e atualizar o conteúdo tecle control+X e confirme as alterações realizadas (Yes) e salve o arquivo com o mesmo nome anterior (Enter).sudo bash cp /etc/resolv.conf /etc/resolv.conf.old nano /etc/resolv.conf |
search virtua.com.br nameserver 201.6.0.112 nameserver 201.6.0.139 |
search casa.lan nameserver 192.168.1.10 nameserver 201.6.0.112 nameserver 201.6.0.139 nameserver 201.6.0.108 nameserver 127.0.0.1 domain casa |
sudo /etc/init.d/networking restart cd /root host ubuntu.com ifconfig > ifconfig.txt /sbin/route > tabela_roteamento.txt netstat -nat > conexões_internet.txt netstat -tulp > portas_abertas.txt |
sudo bash cp /etc/hostname /etc/hostname.old nano /etc/hostname |
server |
server.casa.lan |
sudo bash cp /etc/hosts /etc/hosts.old nano /etc/hosts |
127.0.0.1 localhost 127.0.1.1 server |
127.0.0.1 localhost server server.casa 127.0.1.1 server.casa.lan server server.casa 192.168.1.10 server.casa.lan server server.casa |
sudo bash cp /etc/bind/named.conf.options /etc/bind/named.conf.options.old nano /etc/bind/named.conf.options |
forwarders { }; |
forwarders { 201.6.0.112; 201.6.0.139; 201.6.0.108; }; allow-transfer {192.168.1.0/24;localhost;localnets;}; allow-query { any; }; recursion yes; allow-recursion {192.168.1.0/24;localhost;localnets;}; allow-query-cache {192.168.1.0/24;localhost;localnets;}; listen-on port 53 { 127.0.0.1;192.168.1.10;localhost;localnets;}; version "not currently available"; // para econder a versão do seu bind tcp-clients 10; //quantidade de clientes para utilizar este DNS server |
sudo /etc/init.d/bind9 restart |
Alterar o comportamento de como o sistema checa o DNS ...
sudo bash cp /etc/nsswitch.conf /etc/nsswitch.conf.old nano /etc/nsswitch.conf |
hosts: files |
.... pelo texto
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 |
Passo 5 - Atualizar os pacotes da instalação
Edite o arquivo conforme o comando abaixo. Este comando utiliza o nano que é um editor de texto bem simples. Para sair e atualizar o conteúdo tecle control+X e confirme as alterações realizadas (Yes) e salve o arquivo com o mesmo nome anterior (Enter).
sudo bash cp /etc/apt/sources.list /etc/apt/sources.list .old nano /etc/apt/sources.list |
Comente com o caractere # a linha que começa com deb cdrom para quem tem conexão com internet e não deseja atualizar pelo CDROM.
Descomente apagando o caracter # da linha identificada como gutsy partner para ter acesso a pacotes de parceiros da canonical e arquivos.
Inclua as seguintes linhas ao final:
## Repositório Debian Sarge para instalação do Webmin deb http://download.webmin.com/download/repository sarge contrib |
Atualize tudo, inclusive verifique os upgrades disponíveis.
apt-get update apt-get upgrade |
Passo 6 - Acesso via SSH
Basta utilizar o aplicativo Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/).
Para editar arquivos pode-se utilizar programas como o vi, nano, pico ou o joe.
Em máquinas windows pode-se ainda utilizar o programa WinSCP (http://winscp.net/eng/index.php) para editar os arquivos via SSH.
Caso o Servidor SSH não tenha sido instado instale pelo comando abaixo
apt-get install openssh-server |
Passo 7 - Instalar Webmin e Usermin
Vale a pena checar se voce possui todas as bibliotecas necessárias:
apt-get install libnet-ssleay-perl libauthen-pam-perl libio-pty-perl libmd5-perl webmin usermin |
Ao final do processo de instalação o Webmin se encontrará em /usr/share/webmin
Para acessar o webmin digite no browser:
https://localhost:10000/
Para acessar o usermin digite no browser:
https://localhost:20000/
Se precisar abrir a porta do servidor para fornecer acesso ao webmin segue algumas dicas não testadas (link: http://www.ubuntu.rohraff.org/index.php?title=Main_Page#Additional_Repositories_.28Gutsy_Gibbon_7.10.29) :
rule for IPTABLES (to open port 10000): iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
to set up root password: sudo /usr/share/webmin/changepass.pl /etc/webmin root <your passwordhere>
Passo 8 - Adicionar Usuários
Para adicionar um usuário com todos os opcionais configurados execute:
adduser <username> adduser <username> <group> visudo --para modificar lista de sudoers ou simplemente adicione o usuário ao grupo admin groups <username> --lista os grupos do usuário |
Para remover algum grupo execute:
adduser --backup-to /home/backups/username --remove-home <username> delgroup <username> |
o link: http://www.yolinux.com/TUTORIALS/LinuxTutorialManagingGroups.html tem várias dicas de comandos (não testei todos) para gerenciar usuários e grupos no linux.
Passo 9 - Servidor de Backup
Para instalar software de backup Bacula execute:
apt-get install bacula-common bacula-console bacula-director-common bacula-fd bacula-sd libpg3 mtx mt-st apt-get install bacula-director-mysql |
Configure-o pelo webmin e informe a senha do Mysql quando da instalação.
Link útil: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1910&pagina=2
Siga o tutorial do link http://www.debianhelp.co.uk/baculaweb.htm para instalar uma interface web própria.
wget http://superb-west.dl.sourceforge.net/sourceforge/bacula/brestore_2.2.1-1_all.deb wget http://superb-west.dl.sourceforge.net/sourceforge/bacula/bweb-common_2.2.1-1_all.deb wget http://superb-west.dl.sourceforge.net/sourceforge/bacula/bweb_2.2.1-1_all.deb apt-get install libtime-modules-perl libgtk2-gladexml-perl libexpect-perl libhtml-template-perl libgd-graph-perl dpkg --install bweb-common_2.2.1-1_all.deb dpkg --install bweb_2.2.1-1_all.deb dpkg --install brestore_2.2.1-1_all.deb mysql -p bacula < /usr/share/bweb/bweb-mysql.sql chmod 644 /etc/bacula/bconsole.conf chmod 755 /usr/bin/bconsole nano /etc/apache/conf.d/bweb.conf /etc/init.d/apache2 restart |
Para acessar digite no browser:
https://localhost/bacula-web/test.php
Como o Bacula para fazer funcionar é meio complicado uma boa alternativa é o Restore.
Instruções de como instalá-lo abaixo. Link: http://restore-backup.com/
Welcome to the Restore Repository for Debian/Ubuntu To add this repository, add one of these to your /etc/apt/sources.list: deb http://distro.holonyx.com/restore etch main deb http://distro.holonyx.com/restore edgy main deb http://distro.holonyx.com/restore feisty main deb http://distro.holonyx.com/restore gutsy main Add our repository's signature: # wget -O - http://distro.holonyx.com/restore/restore.asc | sudo apt-key add - To install the packages for Restore Enterprise Edition: # sudo apt-get update # sudo apt-get install restore-ee To install the packages for Restore Data Center Edition: # sudo apt-get update # sudo apt-get install restore-dc |
Passo 10 - Samba com o SWAT
Instale Swat com o comando:
apt-get install swat |
Para acessar o usermin digite no browser, mas antes faça um shutdown no servidor:
http://localhost:901/
Próximo Passo
Lista de itens a escrever como fazer:
Configurar Fstab
Configurar Samba
Cups-pdf
apt-get install cups-pdf
Não deixe de conferir nosso novo blog sobre Linux em : Ubuntu "4us"