Archive

Posts Tagged ‘samba’

no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory

Il messaggio

no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory

si presenta in ubuntu 14.04 con la nuova versione di samba.

Nel mio caso ubuntu server 14.04 per ovviare alla comparsa del messaggio il trick è stato lanciare

> pam-auth-update

e dare OK

pam-auth-update

pam-auth-update

 

Risorse :

Thread: “no talloc stackframe at ../source3/param/loadparm.c:4864, leaking memory”

ssh tunnel per accedere a servizi http, postgresql, samba in remoto

Con i tunnels ssh è possibile trasportare sessioni TCP all’interno di connessioni criptate.  In questo modo possiamo mettere in sicurezza comunicazioni che si svolgono in chiaro oppure raggiungere computers e/o servizi che sono posti dietro firewalls. In questo primo posti i comandi per generare tunnels per accedere in sicurezza ai servizi http, postgresq, samba su computers remoti e i comandi per visualizzare e chiudere i processi ssh attivi.

Comininciamo con l’ elencare le connessioni “ssh” attive.
Per lanciare taluni comandi come root verrà utilizzato il comando sudo tipico di Ubuntu si può optare anche per passare a root con  sudo su.

sudo ps -afx | grep [s]sh     # preferibile

o

sudo netstat -anpt | grep -E "ssh"

per chiudere  una connessione ssh basta killare  il processo  indivudato con  sudo ps -afx | grep  [s]sh .

kill 6726   # se il processo è dell'utente     
o    
sudo kill 6726   # va bene per tutti i processi

per chiudere tutti le connessioni ssh possiamo fare il “killall” di tutti i processi ssh

sudo killall ssh

Tunnel ssh per accedere a un web server – http  port  80

1) Il computer remoto ospita un web server ma il suo firewall blocca la porta 80 la porta 22 è accessibile.
Effettuiamo una connessione ssh è utilizziamo un local port forwarding ( -L )  per navigare il web server del computer remoto.

ssh -fNgq root@192.168.1.9 -L 8080:localhost:80

-L porta-locale:host-remoto:port-remota  (-L  Local port forwarding )
-f ssh va in background (demonize)
-g permette al computer remoto di connettersi alle porte locali inoltrate
-q quiet mode. Molti warning e messaggi vengono soppressi
-N informa OpenSSH che non si intende eseguire un commando nel host remoto
-v verbose

quindi facciamo puntare il browser all’indirizzo 127.0.0.1:8080

2) Il firewall della nostra rete impedisce l’accesso a un sito specifico (es. http://www.inter.it) è disponibile tuttavia un computer raggiungibile via ssh che non ha questa limitazione. Possiamo utilizzare quest’ultimo computer (agirà da “gate”) per raggiungere il web server bloccato.

ssh -nFg  root@192.168.1.9  -L 8081:inter.it:80

o

 ssh -fN root@192.168.1.9 -L 8081:79.125.120.241:80   # host remoto specificato con IP

sempre -L (Local port forwarding) :  – L local-port-listen:remote-host:remote-port    192.168.1.9 ( gate )

Se il sito web utilizza rewriting potrebbero esserci poblemi nel visualizzare correttamente la pagina.

Tunnel ssh  per utilizzare un server postgresql remoto 

1)  utilizzare  postgresql in sicurezza utilizzando un tunnel ssh
[ local machine]    ——–>  [ 182.193.135.162 ]

ssh -fNg  pluto@182.193.135.162  -L54321:localhost:5432 
psql  -p 54321 postgres postgres

2) utilizzare  il server postgresql 10.0.1.49 passando per  gate
[local machine] ——–> [182.193.135.165 – gate] ———> [10.0.1.49: server postgresql- remote LAN]

ssh -fNg    -L54321:10.0.1.149:5432 root5@182.193.135.162 
psql -p 54321 -h 127.0.0.1 -U postgres

in pgadmin editiamo host= 127.0.0.1 e port= 54321

altro post  Tunnel via ssh per gestire il server postgresql con pgAdmin

Tunnel ssh per protocollo samba  – samba(smb)  porte 139 o 445

1)  creare un tunnel ssh per raggiungere dal pc ubuntu il serverr windows 2008 attraverso il gate centos
[ local-machine(ubuntu 12.04) ]  ——>  [ 28.93.35.65 gate (centos) ] ———>   [10.0.1.103: windows server 2008 ]

Prima di aprire il tunnel ssh fermare il service samba attivo nel pc locale con ubuntu

sudo service smbd  stop 

Dettagli su samba sono disponibili in Samba in debian squeeze e ubuntu linux via terminale.

Per aprire il tunnel sarebbe utile conoscere la porta. Comunque poichè in genere si tratta della porte 445 o 139  non resca che provare prima 445 e poi 139 .Apriamo il “ssh tunnel for samba( Local port forwarding )”

ssh -fNgq -L 139:10.0.1.103:139  user-centos@28.93.35.65

oppure

ssh -fNgq -L 445:10.0.1.103:445  user-centos@28.93.35.65

-L port-local:host-remote:port-remote  (-L  Local port forwarding )

Ora possiamo usare  nautilus o pcmanfs per gestire il  smb share  o smbclient oppure effettuare il  mount con smbmount.

Il file manager accederà alle cartelle del server windows remoto con un indirizzo di questo tipo

smb://127.0.0.1/dir-share-server

per utilizzare smbclient usiamo il comando:

smbclient --user=user-windows2008  //127.0.0.1/WWW

se tutto ok questo è il prompt atteso

 
:~$ smbclient --user=masterzyn //127.0.0.1/WWWe
Enter masterzyn's password: 
Domain=[HOSTxx-172-001] OS=[Windows Server 2008 R2 Standard 7601 Service Pack 1] Server=[Windows Server 2008 R2 Standard 6.1]
smb: \>

e per visualizzare le cartelle del server windows 2008 provare con:

 
smb: \> ls

possiamo anche montare le cartelle remote con smbmount
creiamo un mount point (ex. /mnt/smb3)  and then we have to use smbmount to do the mounting

sudo mkdir /mnt/smb3

sudo smbmount //127.0.0.1/WWW /mnt/smb3   -o username=user-window2008

Terminare connessione ssh

Elencare le connessioni ssh attive con pgrep

 
sudo pgrep -lf ssh 
807 /usr/sbin/sshd -D
1848 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/startlubuntu
1857 /usr/bin/gnome-keyring-daemon --start --components=ssh
20895 ssh -fNgq -L 54320:localhost:5432 root@28.93.35.65
22493 ssh -fNgq -C -L 54321:localhost:5432 root@28.93.35.66

oppure con netstat

 
sudo netstat -anpl | grep  [s]sh
[sudo] password for maurizio: 
tcp        0      0 0.0.0.0:54320           0.0.0.0:*               LISTEN      20895/ssh       
tcp        0      0 0.0.0.0:54321           0.0.0.0:*               LISTEN      20900/ssh       
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      807/sshd        
tcp        0      0 127.0.0.1:54321         127.0.0.1:55211         ESTABLISHED 20900/ssh       
tcp        0      0 127.0.0.1:54320         127.0.0.1:49669         ESTABLISHED 20895/ssh       
tcp        0      0 192.168.1.6:57730     182.93.35.161:22        ESTABLISHED 20895/ssh       
tcp        0      0 127.0.0.1:54320         127.0.0.1:49667         ESTABLISHED 20895/ssh       
tcp        0      0 127.0.0.1:54320         127.0.0.1:49668         ESTABLISHED 20895/ssh       
tcp        0      0 127.0.0.1:54321         127.0.0.1:55210         ESTABLISHED 20900/ssh       
tcp        0      0 127.0.0.1:54321         127.0.0.1:55206         ESTABLISHED 20900/ssh       
tcp        0      0 192.168.1.6:58023     182.93.35.162:22        ESTABLISHED 20900/ssh       
tcp6       0      0 :::54320                :::*                    LISTEN      20895/ssh       
tcp6       0      0 :::54321                :::*                    LISTEN      20900/ssh       
tcp6       0      0 :::22                   :::*                    LISTEN      807/sshd        
unix  2      [ ACC ]     STREAM     LISTENING     11001    1848/ssh-agent      /tmp/ssh-r7iPA7SsOYBY/agent.1811
unix  2      [ ACC ]     STREAM     LISTENING     11889    1857/gnome-keyring- /run/user/maurizio/keyring-Y

quindi per terminare con kill il processo ssh sulla porta 54321 ID 20900

sudo kill 20900

Risorse:


								

Samba in debian squeeze e ubuntu linux via terminale

Per installare samba in debian squeeze

apt-get install samba samba-common

apparirà una finestra con la richiesta di indicare il WORKGROUP/DOMAIN

default: WORKGROUP

lasciare invariato o modificare secondo le proprie preferenze

Le porte TCP utilizzate sono la 139 e/o 445 e le porte 137 138 per UDP

Installato samba possiamo controllare che il servizio sia correttamente avviato con

:~$ service samba status
nmbd is running.
smbd is running.

quindi possiamo controllare che sia correttaamente settato l’avvio del servizio sysv-rc-conf

:~$ sudo sysv-rc-conf -list | grep "samba"
samba        0:off	1:off	2:on	3:on	4:on	5:on	6:off

Configurare samba

a questo punto sarà possibile vedere il nuovo server samba. Per poter accedere alle cartelle condivise è necessario creare gli utenti samba, impostandone la specifica password.

Creare gli utenti samba

Per aggiungere un utente samba è necessario disporre di un utente locale.

Un utente locale esistente può essere aggiunto al database degli users samba con:

smbpasswd -a username
:~$ sudo smbpasswd -a mira
New SMB password:
Retype new SMB password:
Added user mira.

Se si desidera creare un nuovo utente da usare come user samba generare un nuovo utente locale con useradd impostare la password e poi aggiungerlo a samba ( altre informazioni su Gestire gli users in Linux da terminale ) :

useradd new-username  -m -G users

quindi impostare la password con

passwd  new-username
smbpasswd -a new-username

samba condividere cartelle

Per aggiungere directory da condividere con samba modificare il file di configurazione  smb.conf.

1° controllare che la riga security = user

non sia commentata:

:~$ nano /etc/samba/smb.conf
...
...
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
security = user
...

2° creare la directory per condividere i files e assegnarli il gruppo users

mkdir -p /media/Biblioteca
chown -R root:users /home/samba-share/Biblioteca/
per i permessi di scrittura anche
chmod -R ug+rwx,o+rx-w /home/samba-share/Biblioteca/

3° inserire per ogni nuovo share un blocco di questo tipo:

[Bilbioteca]
        comment = Biblioteca dir
        path = /media/Biblioteca
        create mask = 0660 
        directory mask = 0770

per verificare che non ci siano errori di sintassi nel file smb.conf e possibilie utilizzare il comando:

testparm -s /etc/samba/smb.conf

Uno schema dei numeri usati per precisare i permessi: cioè un decimale per ciascuna rappresenzione binaria delle tre classi di utente, è presente in fondo al post Comandi Linux: elencare, cercare e gestire files e directories 

Riavviare samba

Quando si apportano modifiche al file smb.conf è necessario riavviare samba  con :

service samba restart

per consentire a tutti gli utenti di accedere e modificare la propria home directory

aggiungere il seguente blocco a smb.conf:

[homes]
comment = Home Directories
browseable = no
valid users = @users
writable = yes
create mask = 0700
directory mask = 0700

alternativa per homes

[homes]
comment=Home directory for %S
path=/home/%u
valid users = %u administrator
force user=%u
writeable = yes
browseable = no
Parametri per Samba
  • browseable          definisce se lo schareè mostrato ( yes o not )  default = yes
  • hide dot file        nasconde o mstra i files nascosti ( yes o not )  default = yes
  • path                      percorso directory share
  • create mask         default 0664   per settare i permessi sui nuovi file
  • directory mask   default 0775   permessi da assegnare alle directory
  • guest ok               permette quest access  default = no
  • valid users           quali users hanno il permesso di accedere defaut tutti gli users
  • invalid users
  • read only              rende uno share in sola lettura dafult = yes
  • writeable               rende uno share read/write  default = no
  • read list                 elenco degli users o gruppi con il permesso di lettura
  • write list                elenco degli users o gruppi con il pemesso di scrittua

Mount da teminale di una connessione samba

Il mounting da teminale di una cartella remota condivisa utilizza smb avviene con un comando del tipo:

mount -t cifs -o username=bepi //192.168.1.153/codice /media/codice

oppure la forma contratta

mount.cifs -o user=bepi //192.168.1.153/codice /media/codice

e possibile utlizzare  l’opzione  password= o pass= tuttavia, se non si ha la nìecessità di un mount permanente, meglio digitare la password solo su richiesta.

Esempio comunque di montaggio smb con inserimento della password

mount -t cifs -o user=eurotech,pass=’eurotech’ //192.168.77.7/ext4  /mnt/amd2000asus/ext4
o
mount -t smbfs -o username=eurotech,password=’eurotech’ //192.168.77.7/ext4  /mnt/amd2000asus/ext4

Test di una connessione samba

Per testare una connessione samba si può utilizzare smbclient:

:~$ 
smbclient -L 192.168.1.3 -N
Anonymous login successful
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 3.6.6]
	Sharename       Type      Comment
	---------       ----      -------
	IPC$            IPC       IPC Service (ubuSer1210 server (Samba, Ubuntu))
	scambio-temp    Disk      condividi files e archivio temporaneo
	archivio        Disk      Biblioteca - archivio
	print$          Disk      Printer Drivers

Risorse nel blog:

Samba in Ubuntu con nautilus share

Usare samba in ubuntu utilizzando nautilis-share

– Installare samba

 sudo apt-get install samba

– Condividere “Share” la cartella utilizzando ad esempio la maschera del gestore di file ( vedi nautilius ) opzione share.
In questo caso serve nautilus-share

sudo apt-get install nautilus-share

Importante. Ricordarsi di inserire l’user che accede da remoto
allo Samba User Database.
Da terminale digitare

sudo smbpasswd -a USERNAME

dove USERNAME è un username valido  in Ubuntu system.

per il mount da terminale

mount -t cifs -o username=bepi //192.168.1.153/codice /media/codice

Per il mount di connessione smb salvate in bookmarks di pcmanfm

 grep smb:// ~/.gtk-bookmarks|cut -d ' ' -f 1|xargs gvfs-mount


Risorse nel blog:

Categorie:Ubuntu Tag:,