Archivo | Servidor RSS for this section

OpenERP 7 en Docker con jasper report y python 2.7 cuando pip ya no anda más


Estas notas son para contar la aventura LOCA de montar un servidor viejo de OpenERP 7 en el año 2023. (funciono perfecto en un server por 10 años)

Primero hay que decir que esta versión anda en python 2.7 que hoy ya se dejo de ser soportardo y tiene problemas con instalación de librerías con pip necesarias. ¡ uuuuuuuuu !… si, primer luz roja.

Por esta razón decidí usar la versión docker del servidor (que ya sabemos que anda) y desde ahí montar el código fuente. (no se hasta cuando va a funcionar o se va a encontrar… trabajito extra: hacer copia por las dudas que desaparezca)

También quiero poder modificar el código así que necesito instalar el fuente o que ande el fuente en el docker de alguna forma.

En su momento usé JasperReport para la generación de reportes. Se instalaba un server de reportes (creo que usaba apache y tomcat server)….uffffff!

Debe ser por estas cosas que se privilegia actualizar la versión ANTES de hacer las modificaciones.

Logre generar un banco de trabajo con Docker y poder hacer modificaciones, incluso modificar codigo andando… asi que es posible.

Lo bueno de utilizar docker es que es replicable y estable.

Ahora empieza la aventura de importar los datos y actualizar versiones.

Si te sirvió este apunte y quieres invitarme un café o una refrezco puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Configurar un redireccionamiento dinamico de dns (DynamicDNS) en Ubuntu 16.04 18.04 con ddclient


Asumo que ya sabe lo que es un redireccionamiento dinamico de dns y que tiene una cuenta en algun servidor ya funcionando y tiene 4 datos a mano… usuario, pass, su dominio dinamico y el lugar donde alctualizara sus datos. Suponemos un dominio gratuito en NoIP. Tampoco entraremos en profundidad solo lo haremos funcionar.

$ sudo apt install ddclient

Si quiere puede seguir el wizard de configuracion que ya trae el programa por default donde le pedira que configore sus datos de ingreso pero nosotros lo haremos a mano asi que TODO ENTER hasta que se cierre.

$ sudo nano /etc/ddclient.conf

use=web
ssl=yes
protocol=noip
login="USERNAME"
password="PASSWORD"
"YOUR_HOSTNAME"

NOTA: en este caso que usamos NoIP no necesitamos poner el servidor pero en cualquier otro si.

Si tiene otro servidor puede usar el protocol=dyndns2 en conjunto con

protocol=dyndns2
server=members.dyndns.org
web=checkip.dyndns.com/
web-skip='Current IP Address: '

Prueba tu configuración

$ sudo ddclient -daemon=0 -debug -verbose -noquiet

Ahora configuramos el servicio

$ echo 'run_daemon="true"' | sudo tee -a /etc/default/ddclient
$ sudo service ddclient restart
$ journalctl -u ddclient.service
...
systemd[1]: Started LSB: Update dynamic domain name service entries.
ddclient[24631]: SUCCESS:  updating MY_HOST.redirectme.net: good: IP address set to 118.X.Y.Z

NOTA: Ctrl-Z para salir del comando anterior

Si en algun momento te da error relacionado con el cache puedes resolverlo así:

$ sudo rm /var/cache/ddclient/ddclient.cache
$ sudo service ddclient restart

Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua, puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Weblografía

Configurar servidor y cliente VNC desde conexión ssh para conectar a escritorio remoto UBUNTU 16.04 18.04 desktop y controlar la pc en modo gráfico


Tenemos instalado un Ubuntu 16 o 18 desktop en una pc remota y configurado el acceso ssh que por default viene seteado el puerto 22. Entonce desde un terminal cliente en UBUNTU hacemos:

   $ ssh -p 22 usuario@ipremota

NOTA: reempace usuario por el usuario correspondiente y lo mismo con ipremota. Tambien si esta configurado un puerto distinto al 22, ponga el correspondiente.

Ubuntu instala por default como servidor de escritorio remoto el servidor vino (/usr/lib/vino/vino-server)  y se configura desde gnome en modo grafico pero nosotros lo haremos desde el terminal y al final mostrare en donde esta esata informacion en modo grafico.

1) Habilitar el servidor

$ gconftool-2 --set --type=bool /desktop/gnome/remote_access/enabled true

2) Cofigurar una contraseña de acceso

$ gconftool-2 --set --type=string /desktop/gnome/remote_access/vnc_password suclave

NOTA: cambie suclave por la correspondiente

3) Asegurar el puerto de red de acceso

$ gconftool-2 --set --type=bool /desktop/gnome/remote_access/use_alternative_port true
$ gconftool-2 --set --type=int /desktop/gnome/remote_access/alternative_port 5999

4) hay que recordar habilitar el puerto en el firewall

$ sudo ufw allow 5900

LISTO!…. ahora para ver las variables seteadas hacemos

$ gconftool-2 -a /desktop/gnome/remote_access

Con esto hecho en el servidor ya podemos conectarnos desde nuestro cliente UBUNTU con la aplicacion vinagre

Si tenemos acceso fisico al escritorio cliente, podemos configurar el acceso desde:

… YAPA y fueeeeera de programa:

hay otras variables que pueden ser seteadas la misma manera como por ejemplo:

gconftool-2 -a /desktop/gnome/remote_access
 use_upnp = false
 vnc_password = 
 authentication_methods = [vnc]
 network_interface = 
 require_encryption = false
 disable_background = false
 enabled = true
 use_alternative_port = false
 mailto = 
 disable_xdamage = false
 lock_screen_on_disconnect = false
 icon_visibility = always
 view_only = false
 prompt_enabled = true
 alternative_port = 5900

para saber que hace cada, puedes hacer con cada clave en el terminal:

$ gconftool-2 --long-docs /desktop/gnome/remote_access/alternative_port

       The port which the server will listen to if the
       'use_alternative_port' key is set to true.
       Valid values are in the range from 5000 to 50000.

 

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

 

Weblografía

Configurar el email (correo electrónico) del servidor UBUNTU 18.04 para que nos notifique via el servidor de correo de GMAIL


En este articulo NO profundizaremos solo lo haremos funcionar.

$ sudo apt-get install ssmtp
$ sudo pico /etc/ssmtp/ssmtp.conf 

root=username@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=fileserver.local
UseSTARTTLS=YES
AuthUser=username
AuthPass=password
FromLineOverride=YES

NOTA: cambiar username@gmail.com por el que corresponda

ahora creamos la lista de destinatarios

$ sudo pico /etc/ssmtp/revaliases

root:username@gmail.com:smtp.gmail.com:587
youruser:username@gmail.com:smtp.gmail.com:587

NOTA: cambiar username@gmail.com por el que corresponda y youruser por su usuario correspondiente

 

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Crear un RAID1 de una partición BTRFS con datos y una nueva en Ubuntu 18.04


De tan sencillo, complica. Este articulo lo hago para recordar y ayudar a aquellos -que como yo- perdieron un buen rato de su vida por algo simple.

Partimos teniendo un disco andando y ahora agrego otro para hacer una partición BTRFS en espejo en RAID1. En mi caso es el /home que está en sdb6. El disco que agrego tiene una particion del mismo tamaño en sda6.

Un requisito indispensable es que tengan el UUID de disco distintos. Los vemos haciendo:

$ sudo blkid
...
/dev/sda6: UUID="e12c98df-7c8e-4f50-be39-e208597f71a7"
.....
/dev/sdb6: UUID="e12c98df-7c8e-4f50-be39-e208597f71a7"

Nota: Si hace copia de las particiones al disco nuevo, el UUID quedaran iguales en las dos y el sistema puede volver inestable.

Si queremos cambiarlo, primero generamos uno nuevo:

$ sudo uuidgen
a6a1fc9a-48e5-4cff-82b9-04f0afa925e3

y ahora se lo asignamos a la particion que necesitamos cambiarle… en mi caso la sda6

$ sudo tune2fs -U a6a1fc9a-48e5-4cff-82b9-04f0afa925e3 /dev/sda6

Mi disco con datos (sdb6) está montado en el /home y es un disco con tabla de partición BTRFS al que le puedo agregar discos nuevos «en caliente», haciendo

$ sudo btrfs device add -f /dev/sda6 /home

Nota: el -f es forzar para que si hay datos viejos en la particion nueva la sobreescriba

Pero esto solo agrega mas espacio a esa carpeta y yo quiero que esa partición sea en raid1… entonces ahora convierto ese «arreglo» de discos en raid1

$ sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /home

Esto tarda un rato y terminado, ya estará listo. Podemos ver su estado haciendo

$ sudo btrfs fi show

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Crear una VPN en UBUNTU server 14.04


Estos son loas pasos que estoy dando para crear una VPN. Aun en un trabajo en proceso y no totalmente funcional.

Instalación

$ sudo apt-get install openvpn easy-rsa

Configuración 

Inicialmente tomaremos el ejemplo de archivo de configuració  que viene con la instalación

$ sudo su
# gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

El archivo /etc/openvpn/server.conf tiene la configuracion de funcionamiento de laVPN y es la columna vertebral de nuestra configuracion. Hay que hacer un monton de cambios. EMpecemos por los basicos

  1. Aumentar al doble el largo de las llaves que vamos a generar para aumentar la seguridad. Hacer:

Reemplazar

dh dh1024.pem

con esta:

dh dh2048.pem
  1. Redireccionar el trafico web al cliente. Buscar
;push "redirect-gateway def1 bypass-dhcp"

quitar el punto y coma («;») inicial.

  1. Para indicarle al servidor que le ordene a los clientes conectar con OpenDNS para la resolucion de los DNS cuando sea posible. Esto puede ayudar a prevenir las solicitudes DNS se filtren desde fuera de la conexión VPN. Sin embargo, es importante tambien especificar quien hará la resolución de DNS en los dispositivos cliente también. Aunque OpenDNS es el valor por defecto utilizado por OpenVPN, se puede utilizar cualquier servicio DNS que prefiera. Buscar
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

Quite los punto y coma iniciales a las dos lineas.

  1. De forma predeterminada, OpenVPN se ejecuta como usuario root y por lo tanto tiene pleno acceso de root al sistema. En su lugar vamos a limitar a OpenVPN para el usuario nobody y el grupo nogroup. Se trata de un usuario sin privilegios, sin capacidades de login por defecto. Esto tambien es una practica comun reservada para la ejecución de aplicaciones no confiables como los servidores orientadas a la web. Buscar:
;user nobody
;group nogroup

Quite los punto y coma iniciales a las dos lineas.

Preparación de llaves publicas y privadas

La comunicacion es encriptada y es impresindible crear las llaves PUBLICAS y PRIVADAS tanto del servidor como de los clientes. Aqui veremos solo la generacio de llaves para el servidor. (seguimos como $ sudo su)

# cp -r /usr/share/easy-rsa/ /etc/openvpn

Ahora creamos la carpeta que contendra las llaves

# mkdir /etc/openvpn/easy-rsa/keys

Editamos el archivo vars que esta en easy-rsa

# pico /etc/openvpn/easy-rsa/vars

Tenemos que reemplazar la linea

export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`

Con esto

#export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_CONFIG=/etc/openvpn/easy-rsa/openssl-1.0.0.cnf

También  cambiamos lo que esta en oscuro segun prefiamos:

export KEY_COUNTRY="US"
export KEY_PROVINCE="TX"
export KEY_CITY="Dallas"
export KEY_ORG="My Company Name"
export KEY_EMAIL="sammy@example.com"
export KEY_OU="MYOrganizationalUnit"

En la misma edicion buscamos :

export KEY_NAME="server"

y reemplazamos server con el nombre corto e nuestro servidor. Ej: mafalda

Guardar y salir. Ahora tenemos que generar el archivo de parametos Diffie-Hellman que va a tomar algunos tiempo, haciendo:

# openssl dhparam -out /etc/openvpn/dh2048.pem 2048

Ahora hacemos:

# cd /etc/openvpn/easy-rsa/
# . ./vars

esto devuelve:

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

Ahora limpiamos (por si hicimos alguna prueba antes) y generamos nuestra llave

# ./clean-all
# ./build-ca

Ahora nos pide lo mismo que le pusimos por defecto en el archivo vars asi que solo pulsamos enter a todo … o modifica lo que corresponda.

En este punto ya tenemos construidos los archivos ca.crt y ca.key (certificate authority)  en la carpeta /etc/openvpn/easy-rsa/keys que son requerido interactivamente por OpenSSL para la encriptación del canal.

Generacion de un certificado y clave para el servidor

Todavía trabajando en la carpeta /etc/openvpn/easy-rsa, ahora introduzca el comando para construir la clave del servidor. Donde se ve mafalda marcada en negro es la variable de exportación KEY_NAME fijamos en vars de Easy-RSA que seteamos anteriormente.

# ./build-key-server mafalda

De la misma forma que nos paso al hacer el comando ./build-ca , nos pedira ingresar cosas que ya definimos por defecto asi que cotestamos ctodo con ENTER a excepcion de las ultimas dos preguntas que tendremos que responder con y

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

al final nos dirá:

Write out database with 1 new entries
Data Base Updated

Copiar el certificado del servidor y llaves

OpenVPN espera que el certificado CA y la llave esten en la carpeta /etc/openvpn , entonces las copiamos desde la carpeta donde las generamos:

# cp /etc/openvpn/easy-rsa/keys/{mafalda.crt,mafalda.key,ca.crt} /etc/openvpn

Verifiquemos el contenido de /etc/oenvpn

# ls /etc/openvpn
ca.crt  dh2048.pem  easy-rsa  mafalda.crt mafalda.key  server.conf  update-resolv-conf

ca.crt dh2048.pem easy-rsa igoritoria.crt igoritoria.key server.conf update-resolv-conf


Seguridad y Configuracion de cortafuego

Normalmente Ubuntu tiene el cortafuegos habilitado y sino mejor habilitarlo. Hay que decirle que deje pasar protocolo VPN:

$ sudo ufw status verbose 
$ sudo ufw enable
$ sudo ufw allow openvpn

Activación y testeo

Para activarlo debemos hacer (siempre como sudo su)

# service openvpn start
# service openvpn status

Si todo anduvo bien la salida debe ser:

VPN 'server' is running

Si te sirvió este apunte y quieres invitarme una café, gaseosa o agua (todo sirve), puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Bibliografía

Servidor de archivos con Samba en UBUNTU


No es una receta, no partimos de cero y es como recordatorio para nivel INTERMEDIO en LINUX. Se probo varias veces en distintos ubuntu y el ultimo versión 18.04 pero debería mantener consistencia como lo viene haciendo.

Lista de tareas:

  1. Adaptar cortafuego de sistema para que acepte Samba e impresoras
  2. Configuración común de Samba
  3. Seguridad
  4. Agregar usuarios y grupos
  5. Configurar la forma de compartir carpetas
  6. Ejemplo
  7. Compartir Impresoras conectadas al server
  8. Negar el almacenamiento a ciertas extenciones de archivos
  9. Reiniciar servicio samba
  10. Probar

Cortafuego para que acepte samba e impresoras

Normalmente Ubuntu tiene el cortafuegos habilitado y sino mejor habilitarlo. Hay que decirle que deje pasar protocolo samba y cups:

$ sudo ufw status verbose 
$ sudo ufw enable
$ sudo ufw allow Samba
$ sudo ufw allow Cups

Configuración común de Samba

Primero es fundamental que sepas que TODA la configuración de samba se hace en un solo archivo /etc/samba/smb.conf y es recomendable hacer una copia del original

Hay 2 maneras de configurar este archivo: Gráfico o Manual

  • 1)      Método Gráfico

Hay que instalar estos programas que contienen toda la configuración necesaria:

$ sudo apt-get install samba samba-common python-glade2 system-config-samba
$ sudo touch /etc/libuser.conf

y para lanzarlo desde terminal:

$ sudo system-config-samba

Dentro del programa puede hacer todo lo que describo a continuación en forma manual. TENGA EN CUENTA: lo que puede hacer manualmente es mucho mas poderoso que lo limitado en la forma gráfica.

Ahora puedes ayudarme a continuar para hacer y juntar apuntes útiles: Pulsa AQUI para dar una DONACION simple.

  • 2)      Método Manual

Edite el archivo /etc/samba/smb.conf:

$ sudo pico /etc/samba/smb.conf

Dentro de este archivo, encontrará información que será de utilidad y que está comentada con almohadillas (símbolo #) y varios ejemplos comentados con punto y coma (símbolo ;), siendo estos últimos los que se pueden tomar como referencia para configurar.

Opción workgroup.

Se utiliza para establecer el grupo de trabajo. El valor puede estar indistintamente en mayúsculas o minúsculas y debe tener una longitud del nombre debe ser de hasta 12 caracteres. Ejemplo:

workgroup = MIGRUPO

Opción netbios name.

Permite establecer arbitrariamente un nombre de anfitrión distinto al detectado automáticamente. Este nombre de anfitrión deberá corresponder con el establecido en el archivo /etc/samba/lmhosts. El valor puede estar indistintamente en mayúsculas o minúsculas y debe tener una longitud del nombre debe ser de hasta 12 caracteres. Ejemplo:

netbios name = servidor

Opción server string.

Es de carácter informativo para los usuarios de la red de área local. Permite definir una descripción breve acerca del servidor.

server string = Servidor Samba %v en %L

Opción hosts allow.

Permite establecer seguridad adicional estableciendo la lista de control de acceso de anfitriones. En ésta se pueden definir direcciones IP individuales o redes que tendrán permiso de acceso hacia el servidor. Si, por mencionar un ejemplo, la red consiste en las anfitriones con dirección IP que van desde 192.168.70.1 hasta 192.168.70.254, el rango de direcciones IP que se definirá en hosts allow será «192.168.70.», de modo tal que sólo se permitirá el acceso dichas máquinas. En el siguiente ejemplo se definen las redes 192.168.70.0/24 y 192.168.37.0/24, especificando los tres primeros octetos de la dirección IP de red, así como cualquier dirección IP de la red 127.0.0.0/8 (retorno del sistema o loopback), siendo necesario definir sólo el primer octeto de dicho segmento:

hosts allow = 127., 192.168.70., 192.168.37.

Agregar usuarios y grupos

Las cuentas de usuario que se utilizarán para acceder hacia Samba pueden prescindir de acceso al intérprete de mandatos. Se puede definir /sbin/nologin o /bin/false como intérprete de mandatos para la cuenta de usuario involucrada.

$ sudo useradd -s /sbin/nologin fulano
$ sudo smbpasswd -a fulano

Es opcional e innecesario asignar contraseña con passwd, por lo cual las cuentas correspondientes estarían inactivas para el resto de los servicios.

Es MUY recomendable cuando se tienen muchos usuarios usar grupos para administrar los permisos de acceso mas rapidamente. Se usan los grupos del sistema y se agregan asi

$ sudo groupadd departamento_contable
$ sudo groupadd departamento_grafico

Y para agregar usuarios al grupo se hace

$ sudo useradd -g departamento_contable -m fulano
$ sudo useradd -g departamento_grafico -m mengano

Seguridad

Hay varios aspectos para ver de la seguridad. El principal es configurar correctamente el dueño y grupo de la carpeta y archivos del sistema. Podemos hacerlo al crear una carpeta

$ sudo mkdir algo
$ sudo chown usuario:grupo -R algo

Si queremos cambiar solo el grupo hacemos

$ sudo chgrp grupo /algo
Mas al respecto acá

Configurar la forma de compartir carpetas

Para los directorios o volúmenes que se irán a compartir, en el mismo archivo de configuración encontrará distintos ejemplos para distintas situaciones particulares.

$ sudo pico /etc/samba/smb.conf

Lo siguiente corresponde a un ejemplo básico:

[lo_que_sea]
        comment = Comentario que se le ocurra
        path = /cualquier/ruta/que/desee/compartir

Procure que los nombres de los recursos a compartir tengan un máximo de 12 caracteres, utilizando sólo caracteres alfanuméricos de la tabla de caracteres ASCII.

El volumen puede utilizar cualquiera de las siguientes opciones:

Opción Descripción
guest ok
Define si se permitirá el acceso como usuario invitado. El valor puede ser Yes o No.
public
Es un equivalente de guest ok, es decir define si se permitirá el acceso como usuario invitado. El valor puede ser Yes o No.
browseable
Define si se permitirá mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No.
writable
Define si se permitirá la escritura. Es la opción contraria de read only. El valor puede ser Yes o No. Ejemplos: «writable = Yes» es lo mismo que «read only = No». Obviamente «writable = No» es lo mismo que «read only = Yes»
valid users
Define los usuarios o grupos, que podrán acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores
write list
Define los usuarios o grupos, que podrán acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores
admin users
Define los usuarios o grupos, que podrán acceder con permisos administrativos para el recurso. Es decir, podrán acceder hacia el recurso realizando todas las operaciones como super-usuarios. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: fulano, mengano, @administradores
directory mask
Es lo mismo que directory mode. Define qué permiso en el sistema tendrán los subdirectorios creados dentro del recurso. Ejemplos: 1777
create mask
Define que permiso en el sistema tendrán los nuevos archivos creados dentro del recurso. Ejemplo: 0644

IMPORTANTE!

No basta con definirla en el archivo de configuración, también hay que definir los permisos del sistema en ella con «chown»

permiso_samba

Ejemplo

En el siguiente ejemplo se compartirá a través de Samba el recurso denominado ejemplo, el cual está localizado en el directorio /srv/samba/ejemplo de la unidad de almacenamiento. Se permitirá el acceso a cualquiera, pero será un recurso de sólo lectura excepto para los usuarios fulano y mengano, quienes tendrán privilegios de lectura y escritura. Todo nuevo directorio que sea creado en su interior tendrá permiso 755 (drwxr-xr-x) y todo archivo que sea puesto en su interior tendrá permisos 644 (-rw-r–r–).

Suponemos que aun no se agregaron los usuarios, entonces, los agregamos al sistema:

$ sudo useradd -s /sbin/nologin fulano
$ sudo smbpasswd -a fulano
$ sudo useradd -s /sbin/nologin mengano
$ sudo smbpasswd -a mengano
$ sudo groupadd los_fulanos
$ sudo useradd -g los_fulanos -m fulano
$ sudo useradd -g los_fulanos -m mengano

Genere el nuevo directorio /srv/samba/ejemplo ejecutando lo siguiente:

$ sudo mkdir -p /srv/samba/ejemplo

Configure el permisos se esta carpeta

$ sudo chown nobody:nogroup /srv/samba/ejemplo

Edite el archivo /etc/samba/smb.conf:

$ sudo pico /etc/samba/smb.conf

Al final del archivo añada el siguiente contenido:

[ejemplo]
	comment = Recurso de ejemplo
	path = /srv/samba/ejemplo
	guest ok = Yes
	read only = Yes
	write list = @los_fulano   # ó usuarios individuales separado con coma
	directory mask = 0755
	create mask = 0644

Guarde los cambios y salga del editor de texto. Reinicie el servicio smb para aplicar los cambios:

$ sudo service smbd restart

Compartir impresoras conectadas al server

Las impresoras se comparten de modo predeterminado y sólo hay que realizar algunos ajustes. Si se desea que se pueda acceder hacia la impresora como usuario invitado sin contraseña, añada public = Yes — lo mimso que guest ok = Yes— en la sección de impresoras.

Edite el archivo /etc/samba/smb.conf:

$ sudo pico /etc/samba/smb.conf

Localice la sección de impresoras y añada public = Yes a la configuración:

[printers]
        comment = El comentario que guste.
        path = /var/spool/samba
        printable = yes
        browseable = no
	writable = no
	printable = yes
        public = yes    
        guest ok = yes    # OJO!

Negar el almacenamiento a ciertas extensiones de archivos he iniciados con «.»

En algunos casos puede ser necesario denegar el acceso a ciertas extensiones de archivos, como archivos de sistema y archivos de multimedios como MP3, MP4, MPEG y DivX.

El parámetro veto files se utiliza para especificar la lista, separada por diagonales, de aquellas cadenas de texto que denegarán el acceso a los archivos cuyos nombres contengan estas cadenas. En el siguiente ejemplo, se denegará el acceso hacia los archivos cuyos nombres incluyan la palabra «Security» y los que tengan extensión o terminen en «.tmp»:

[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   hide dot files = Yes
   veto files =  /*Security*/*.tmp/

En el siguiente ejemplo, se denegará el acceso hacia los archivos que tengan las extensiones o terminen en «.mp3», «.mp4», «.mpeg» y «.avi» en todos los directorios personales de todos los usuarios del sistema:

[homes]
   comment = Home Directories
   browseable = no
   writable = yes
   hide dot files = Yes
   veto files =  /*.mp3/*.mp4/*.mpg/*.avi/*.tmp/

Reiniciar el servicio samba

Reinicie el servicio smb para aplicar los cambios:

$ sudo service smbd restart

Probar

Acceda con smbclient hacia el servidor Samba con el usuario fulano:

smbclient //127.0.0.1/fulano -Ufulano%123qwe

Lo anterior debe devolver una salida similar a la siguiente:

Domain=[M064] OS=[Unix] Server=[Samba 3.2.0rc1-14.9.el5.al]
smb: >

Utilizando el mandato put del intérprete SMB, suba el archivo prueba.txt al directorio personal de fulano:

smb: > put prueba.mp3

Lo anterior debe devolver una salida similar a la siguiente indicando el mensaje NT_STATUS_OBJECT_NAME_NOT_FOUND como respuesta, lo cual indica que no fue permitido subir el archivo prueba.mp3:

smb: > put prueba.mp3
NT_STATUS_OBJECT_NAME_NOT_FOUND opening remote file prueba.mp3
smb: >

Para salir del intérprete SMB utilice el mandato exit:

smb: > exit

…. continuara!

Ahora puedes ayudarme a continuar para hacer y juntar apuntes útiles: Pulsa AQUI para dar una DONACION simple.

Ubuntu bootear GRUB 2 cuando aparece Grub Minimo


En esos casos nos deja en un prompt de la consola de rescate de GRUB.

Puede parecer un poco complicado pero es sencillo y te puede salvar más de una vez. Primero accedé a la lista de particiones disponibles:

ls

Este comando mostrara las particiones disponibles, asi:

(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)

Ahora hay que descubrir qué partición contiene la carpeta /boot/grub, con todos los datos necesarios para arrancar. Para ello, bastara con ir haciendo un “ls” para cada una de las particiones, así:

ls (hd1,1)/

… lo mismo cabe para el resto de las particiones.

¡No te olvides de la barra / al final!

Una vez descubierta la partición en la que se encuentra la carpeta boot, añadimos el prefijo correspondiente para que GRUB sepa dónde se encuentra:

set prefix=(hd1,1)/boot/grub
No olvides cambiar (hd1,1) por la partición adecuada en tu caso.

Finalmente, ingresá el siguiente comando:

insmod (hd1,1)/boot/grub/linux.mod

Configurá la partición root:

set root=(hd1,1)

Cargá la imagen del kernel Linux:

linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1

Si no sabés qué versión del kernel tenés instalado, podés ejecutar el comando “ls” en el directorio boot para descubrirlo.

La nomenclatura del punto de montaje sdb1, viene dada por el nombre de la partición: (hd1,1) es sdb1, del mismo modo que (hd0,2) sería: sda2.

Ahora falta cargar el kernel:

initrd /initrd.img

Y, finalmente, podés reiniciar:

boot

Una vez dentro del sistema, es recomendable reinstalar GRUB para evitar este error en la próxima carga:

grub-install /dev/sdb

 

Configurar red desde terminal en Ubuntu 14.04 16.04 18.04 (cableada o wifi)


La propuesta es partir de una instalación limpia de una distro Ubuntu Server amd64 (también sirve para la x86) y configurar la red alámbrica e inalámbrica (wifi).

NOTA: para la version de ubuntu 18.04 es necesario hacer antes que nada:

 $ sudo apt install net-tools

Empezamos!. Si hacemos en el terminal

$ ifconfig
lo        Link encap:Bucle local
          Direc. inet:127.0.0.1  Másc:255.0.0.0
          Dirección inet6: ::1/128 Alcance:Anfitrión
          ACTIVO BUCLE FUNCIONANDO  MTU:65536  Métrica:1
          Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:0
          Bytes RX:0 (0 KB)  TX bytes:0 (0 KB)

Esto quiere decir que no están activas las placas de red. Para saber como las designa el sistema hacemos

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state  UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
2: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group
    default qlen 1000
    link/ether d8:cb:8a:70:00:00 brd ff:ff:ff:ff:ff:ff

Como vemos «eth1» esta «state DOWN«. Si no aparecen la que queremos  es posible que no la reconozca o haya algún problema con ella. Nosotros queremos la cableada eth1 y para activarla basta con

$ sudo ifconfig eth1 up

Si esta conectado el cable de red y tenemos un router que nos da IP con un DHCP, le pedimos una haciendo

$ sudo dhclient eth1

Para verificar hacer

$ ifconfig

Esta configuración desaparece si reiniciamos el servidor. Para que sea automático este proceso hay que hacer:

$ sudo pico /etc/network/interfaces

Agregamos (eth1 es la mía, fíjese cual corresponde a usted)

## IP Automatica
auto eth1
iface eth1 inet dhcp

Si es una dirección estática, en vez de lo anterior hay que indicar la dirección fija que es necesaria. Un ejemplo sería:

## IP Estatica
auto eth1
iface eth1 inet static
address 192.168.1.14
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
dns-nameservers 192.168.1.1 8.8.8.8
# el 8.8.8.8 es un servidor de nombre gratuito de google y es opcional

Para verificar que funciona

$ sudo /etc/init.d/networking restart
$ ifconfig

Inalambrica o WIFI

Gracias a Gabriel que compartió en los comentarios la configuración para una placa wifi que se configura igual a excepción de la parte de conexion. Supongamos que nuestra placa esta identificada, en vez de eth1, como wlp1s0 y usamos DHCP para simplificar. Con esto el archivo de configuración quedaría:

# WAN wifi
auto wlp1s0
iface wlp1s0 inet dhcp
wpa-ssid (nombre_red)
wpa-psk (clave_red)

Si te sirvió este apunte y quieres invitarme una gaseosa puede hacerlo pulsa AQUI.
Si en cambio quieres ayudarme a seguir haciendo y juntando apuntes utiles pulsa AQUI.

Agradecimientos por comvidarme una gaseosa (los que me dejaron mencionarlos):

  • Antonio Bermudez (Argentina)
  • Cathaisa Rivero Quintero (España)
  • Hurtado Guillermina (EEUU)

Mas data en:
Network Configuration CommandLine/Automatic

Cambiar disco rigido en un RAID 1 de Ubuntu 14.04


Tengo un array de discos del tipo RAID 1 hecho por soft llamado md0 y necesito cambiar el disco físico «sdb»:

  1. Hay que marcar el disco que quiero retirar como MALO, de esta manera:
    $ sudo mdadm /dev/md0 --fail /dev/sdb1
  2. Le decimos que vamos a retirar el disco, de esta manera:
    $ sudo mdadm --remove /dev/md0 /dev/sdb1
  3. Apagamos y cambiamos el disco roto
    $ sudo shutdown -h now
  4. Copiando el formato de particiones que tiene el que nos quedo, porque deben ser iguales, así:

ATENCIÓN: Preste especial atención a este comando porque si se equivoca puede borrar todo

     $ sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb

5. Añadimos el nuevo disco al array y comienza el trabajo de reconstrucción

     $ sudo mdadm --add /dev/md0 /dev/sdb1

Para ver como se reconstruye hacer:

     $ sudo watch cat /proc/mdstat

Para saber cual es el estado del RAID hacer:

      $ sudo mdadm --detail /dev/md0

Ahora hay que arreglar el boot:

  • Install boot-repair sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update sudo apt-get install -y boot-repair && boot-repair
  • Using advanced options in boot-repair I was able to select /dev/md1 as my operating system (this is the RAID where my ubuntu was installed earlier)
  • Reboot and select Ubuntu on RAID 1

 

Ahora puedes ayudarme a continuar para hacer y juntar apuntes utiles: Pulsa AQUI para dar una DONACION simple.

Espero que les ayude… un poco mas!