Monthly Archives: outubro 2014

Como configurar o Samba no Ubuntu, LinuxMint, Debian e derivados!

tux_apple

Todos sabem que a tarefa de compartilhar arquivos através do samba é muito fácil no kde já que ele possue muitas configurações que facilitam este trabalho. Entretanto, no gnome, a ferramenta nativa shares-admin não é tão intuitiva e acaba exigindo configuração por comandos para poder compartilhar arquivos sem autenticação. Nos comentários deste bug tem vários relatos a respeito do que estou falando. Eu mesmo encontrei um erro. Quando uso o shares-admin a opção browseable é erroneamente definida como browsable. Enquanto não melhoram esta ferramenta, encontrei um ótimo artigo para configurar o samba.

“Antes de começar verifique se sua rede está OK. Para ter certeza, abra um Terminal (Acesse menu -> Aplicações -> Acessórios -> Terminal) e efetue o comando ping (Ex. ping 192.168.1.20). Este ip pode ser da máquina que você pretende acessar pela rede. Se o ping estiver respondendo, quer dizer que está tudo ok. Caso contrário, verifique as definições de IP, mascara, cabeamento, etc…

O SaMBa é o sistema responśavel pela comunicação entre máquinas Unix (Linux) e Windows, usando protocolo TCP/IP.
Quando se fala em servidores de arquivos em rede heterogêneas, na grande maioria dos casos o SaMBa será utilizado, pois ele permite compartilhamento de arquivos, diretório e impresoras, com ou sem controle de acesso (autenticação).

Bom… vamos ao que interessa. Neste tutorial irei explicar como configurar o samba no Ubuntu.

Abra um terminal. (menu -> Aplicações -> Acessórios -> Terminal)

Primeiramente devemos baixar o pacote samba.

$ sudo apt-get install samba

Depois de concluído o download/ instalação do pacote via APT, o sistema irá criar o arquivo smb.conf dentro da pasta “/etc/samba/”. Este é responsável pela configuração do Samba.

Antes de mais nada, vamos fazer um back-up do arquivo:

Particularmente gosto do VI para editar os arquivos .conf, mas use um editor de sua preferência.
Para quem quiser usar o VI, execute o comando para editá-lo:

Comentarei somente os paramentros do arquivo smb.conf que precisaram ser alterados.

Em  [global]

#nome do grupo de trabalho
workgroup = casa

#Como a máquina Linux irá aparecer na rede Windows

netbios name = servidor (está linha pode ser adicionada a baixo do workgroup)

####### Authentication #######
#Modo de acesso aos arquivos do Linux
security = “share” ou “user” (caso exista, remova o ; que está no início desta linha)
#share = para NÃO exigir autenticação
#user = para exigir autenticação
ex: security = user

Agora adicione estas linhas no final do arquivo:
#nome do compartilhamento
[arquivos]

# descrição do compartilhamento
comment = meus arquivos

# caminho da pasta, no Linux, que será compartilhada
path = /media/hdb5 #(Informe o caminho da pasta que você que quer compartilhar, pode ser /home/voce)

#se todos os compartilhamentos poderão ser acessados por todos os usuários
public = yes

# se o compartilhamento será visivel ou oculto na rede (yes para visível)
browseable = yes

# se permitirá escrita
writable = yes

# somente leitura
read only = no

# define a mascara em que os arquivos serão criados
create mask = 0700 #(terão a permissão rwx somente para o root)

# define a mascara em que os diretórios serão criados
directory mask = 0700

Salve o arquivo de configuração, e execute este comando para reiniciar o samba

$ sudo /etc/init.d/samba restart

Caso tenha colocado security = user, no momento que for acessar por uma máquina Windows será exibido uma tela de login e senha. Para cadastrar esta senha no linux execute os seguintes comandos.
Primeiramente adiciona na lista de usuarios do Linux

Este comando adiciona usuario teste na lista de usuários do Linux

$ sudo adduser teste

Este comando adiciona o usuario na lista de usuários do Samba

$ sudo smbpasswd -a teste
Com esta configuração do Samba no Ubuntu, não tem erro…!!!”

Fonte: Sidnei S. Alves sydhnney@4newbies.com.br
http://www.4newbies.com.br/?artigo&ver=62

A minha configuração ficou assim:

[global]
workgroup =SEMPREUPDATE
netbios name = LINUX
server string = SERVIDOR SAMBA
security = share

[Dicas]
comment = Minhas_Dicas
path = /home/sempreupdate/Dicas
read only = no
public = yes
writable = yes
create mask = 0777
directory mask = 0777
browseable = yes

Também dei permissão de escrita, leitura e execução recursiva para o diretório compartilhado home/jefferson/Dicas para outros usuários com o comando:

Desta forma, não é exigida autenticação e qualquer pessoa pode acessar o diretório e escrever nele.

 

 

Fonte: http://www.sempreupdate.com.br/2014/10/como-configurar-o-samba-no-ubuntu.html?utm_source=twitterfeed&utm_medium=facebook

Checando logs do root do bash

Dica

sudo less /root/.bash_history

 

LPI1 checagem de disco

tux

Qual o comando mais simples e direto para checar a integridade um sistema de arquivos ext2?
a. ext2fsck
b. fsck.ext2
c. fsck -t ext2
d. e2fsck
e. Nenhuma das alternativas

 

Essa questão é decoreba mas  chatinha e eu não tenho costume de ter problemas com discos graças ao vmware onde podemos fazer backups e migrar conteúdos dos discos e apenas comprar outro hehehehe, mas para o lp1… é importante.

Lembrando que o e2fsck é apenas um  alias o comando que verifica a integridade é o fsck outros tipos de partição usam o fsck mas tem outros alias  segue link para referência do assunto e cuidado na hora de testar..

http://www.vivaolinux.com.br/artigo/Checando-seu-sistema-de-arquivos-com-fsck

Questão do lpi1 dpkg

11 – Qual a correta sintaxe para remover um pacote chamado CISCO de um sistema Debian incluindo seus arquivos de configuração?
a. dpkg -R cisco
b. dpkg -r cisco
c. dpkg –purge CISCO
d. dpkg –remove CISCO

O correto é o purge instintivamente vc pensa no remove, pq usa ele com certa frequência mas a questão pede também que os arquivos do software sejam removidos então o -p ou –purge entra em ação abaixo link com mais informações sobre o dpkg

http://debian-handbook.info/browse/pt-BR/stable/sect.manipulating-packages-with-dpkg.html

Usando debugfs

Eu estava dando uma olhada nos tópicos do lp1 e tinha uma pergunta sobre como obter mais debugs usando o debugfs, eu não tinha utilizado o debugfs ainda então encontrei algumas informações abaixo que também te ajudam recuperar partições interessante testem e cuidado com os testes.

Fonte: http://olinux.uol.com.br/artigos/363/print_preview.html

Recuperando arquivos – método II

Vamos agora descrever a segunda maneira de recuperar os dados. Essa é a mais recomendada e eficiente. O maior benefício desse metodo é que você consegue recuperar arquivos com mais que 12 blocos.

Quando se trata de arquivos grandes, esse metodo é o único eficiente. Sugiro que faça uma imagem do seu device de disco em outra partição, para que se houver algum problema, você não perder todos os dados. Para isso:

# cp /dev/hda5 /root/working
#mount -t ext2 -o loop /root/working /mnt

Isso garante que você tenha um backup completo da sua partição, caso destrua completamente seu filesystem e possa voltar-lo.

Feito isso, você deve estar em dúvida para a situação de havendo apenas uma particação no seu disco, e ela no mode read-only, como se poderia recuperar o arquivo apagado? Se você possui várias partições, esse problema está solucionado. Mas se você possui apenas uma partição root e não tem nem partições MS-DOS para usar, voce vai precisar criar um ramdisk. Para usar ramdisk você deve seguir os passos:

# dd if=/dev/zero of=/dev/ram0 bs=1k count=2048
#mke2fs -v -m 0 /dev/ram0 2048
#mount -t ext2 /dev/ram0 /mnt

Isso vai criar um ramdisk de 2MB e montá-lo no diretório /mnt.

Não desmonte esse ramdisk até que todo conteúdo dele seja copiado para uma unidade validade (não volátil). Você pode perder todo o seu trabalho.

Caso tenha alguma unidade ZIP, essa é uma boa escolha, não precisando usar ramdisk.

O nosso próximo passo é perguntar para o filesystem quais os inodes que foram recentemente liberados (apagados). Para isso deve-se utilizar o programa chamado ‘debugfs’. Inicie o programa seguido da partição que voce perdeu os arquivos.

# debugfs /dev/hda5

Se você deseja modificar os inodes diretamente, use a opção ‘-w’ para possibilitar acesso de escrita.

# debugfs -w /dev/hda5

O comando para listar os últimos inodes apagados é:

debugfs: lsdel

Isso pode levar alguns segundos (ou minutos), e voce vai sentir que seu HD está em super atividade. Voce vai receber uma lista enorme. Deve ficar claro que voce precisa gravar isso em algum arquivo para poder analisar, para isso:

debugfs: quit # echo lsdel | debugfs /dev/hda5 > path/para/lsdel.out

lsdel.out deve estar em uma partição com direito de escrita, já que a /dev/hda5 está read-only.

Agora vem a parte mágica do trabalho, você deve pegar essa lista e analisar com calma, e anotar os inodes baseados exclusivamente nas informações que lhe são possíveis: hora que o inode foi apagado, o tamanho, o tipo, e números que indicam permissões e owner do inode. Se você tiver apagado esse arquivo a pouco tempo, não vai haver grande dificuldade.

 


O debugfs tem um comando que permite você ter mais detalhes sobre os inodes. Quando você tiver uma lista com todos inodes que você quer recuperar tente o comando: (estou supondo que estou interessado no inode 148003.

debugfs: stat <148003>
Inode: 148003 Type: regular Mode: 0644 Flags: 0x0 Version: 1
User: 503 Group: 100 Size: 6065
File ACL: 0 Directory ACL: 0
Links: 0 Blockcount:
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x31a9a574 — Mon May 27 13:52:04 2000
atime: 0x31a21dd1 — Tue May 21 20:47:29 2000
mtime: 0x313bf4d7 — Tue Mar 5 08:01:27 2000
dtime: 0x31a9a574 — Mon May 27 13:52:04 2000
BLOCKS:
594810 594811 594814 594815 594816 594817
TOTAL: 6

Se você possui muitos inodes para verificar, tente o comando abaixo:

# cut -c1-6 lsdel.out | grep “[0-9]” | tr -d ” ” > path/para/inodes

Vai gerar o arquivo inodes, que vai conter apenas o número dos inodes para recuperar, um por linha. Esse arquivo vai ser útil então para usarmos neste novo comando, para obter os dados extendidos de cada inodes:

# sed ‘s/^.*$/stat <\0>/’ inodes | debugfs /dev/hda5 > path/to/stats

O arquivo stats contém toda informação necessária de cada inode.

Agora com base nestas informações e sabendo quais inodes queremos recuperar vamos enfim recuperar os dados.

Arquivos pequenos (menos de 12 blocks)
Se o arquivo possui menos de 12 blocks, toda a sequência de blocos desse arquivo está gravada dentro de um inode. debugfs tem um comando que permite você recuperar esse arquivo automaticamente. Vamos mostrar abaixo.

Primeiro fazemos o stat denovo:

debugfs: stat <148003>
Inode: 148003 Type: regular Mode: 0644 Flags: 0x0 Version: 1
User: 503 Group: 100 Size: 6065
File ACL: 0 Directory ACL: 0
Links: 0 Blockcount: 12
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x31a9a574 — Mon May 27 13:52:04 1996
atime: 0x31a21dd1 — Tue May 21 20:47:29 1996
mtime: 0x313bf4d7 — Tue Mar 5 08:01:27 1996
dtime: 0x31a9a574 — Mon May 27 13:52:04 1996
BLOCKS:
594810 594811 594814 594815 594816 594817
TOTAL: 6

O arquivo tem 6 blocos, podemos mandar o debugfs grava-lo no arquivo, recovered.000:

debugfs: dump <148003> /mnt/recovered.000

Podemos imaginar que deva existir algum lixo no final do arquivo, se ele não ocupar perfeitamente o tamanho de um bloco. Mas isso pode ser facilmente retificado, por temos o tamanho real do arquivo nas informações do stat, então podemos usar o comando abaixo para gerar um novo arquivo, agora com tamanho real:

# dd count=1 if=/mnt/recovered.000 of=/mnt/resized.000 bs=6065

O novo arquivo /mnt/resized.000 foi gerado, se ele não tiver sido sobre escrito, ele estará idêntico ao original. Para evitar a perda do arquivo, o quanto mais rápido voce fizer o unmount, menos danos voce terá.