Añadir usuario NIS / Add NIS user


Ayuda memoria: Añadir un usuario en el servidor NIS:

añadimos el usuario linux:
# useradd -g grupousuario usuario

actualizamos bases de datos NIS:
# cd /var/yp
# make

para cambiar password de usuario NIS:
# yppasswd -p usuario

Implementación de Factura Electrónica utilizando Software Libre


La implementación Factura Electrónica para Mercado Interno o Exportación en Argentina puede  realizarse utilizando SL.
El código fuente desarrollado en Python se encuentra disponible en Google Code.
Este es un desarrollo de la gente de Sistemas Agiles que ha liberado su codigo fuente a la comunidad bajo licencia GPL v3.
Dado que he tenido que implementar esta funcionalidad para algunas empresas dejo estas notas sobre su utilización para WSFEv1 para cualquiera que esté en el mismo baile…
 
 
Servicio Web de Autenticación y Autorización (WSAA)
Este servicio es necesario para acceder al resto de los servicios de negocios (ej. Factura Electrónica) ofrecidos por la AFIP.
Se debe generar un Ticket de Requerimiento de Acceso (TRA), firmarlo criptográficamente (generando un mensaje CMS) que es envía al servicio web para obtener un Ticket de Acceso (TA).
Esta interfase crea el mensaje en XML, lo firma criptográficamente y lo codifica en base-64 como lo requiere la AFIP, por lo que en general no es necesario realizar ninguno de estos pasos.
 
 
 
 
Generar Certificados:
Para poder utilizar la interfase se deben tramitar y asociar los certificados de homologación/producción en la AFIP. 
Pasos para crear el certificado:
  • Generar la clave privada:
    openssl genrsa -out empresa.key 1024
  • Generar el pedido (CSR: certificate signing request) por línea de comando:
    openssl req -new -key empresa.key -out empresa.csr -config afip-openssl.cnf
    • Country Name (2 letter code) [AR]:AR
    • Organization Name (por ej., empresa) [EMPRESA SA]:ingresar nombre de la empresa tal cual figura en la consulta de inscripción, ej.:Empresa S A
    • Common Name (por ej., su nombre) []:ingresar el nombre del servicio, aplicación u unidad operativa, ej:Sistema Facturas
    • Ingrese: CUIT XXXXXXXXXXX (XXXXXXXXXXX es la CUIT sin guiones)ingresarCUIT xxxxxxxxxxx
  • Enviar el empresa.csr a la AFIP para que lo firmen y devuelvan el certificado empresa.crt. Para asociar el certificado de homologación, enviarlo por email a la AFIP (webservices@afip.gov.ar). Para producción, enviarlo por clave fiscal, y descargar el certificado CRT.
 
El archivo afip-openssl.cnf debe configurarse y puede bajarse desde aca.
 
 
 
Paquete de Librerías:
Descargar e instalar en C:\PyAfipWsd el último paquete completo de librerías desde el sitio de descargas por ejemplo http://pyafipws.googlecode.com/files/instalador-PyAfipWs-1.25c-homo.exe
 
 
 
 
 
Uso en Producción
Por diseño, la interfaz COM (pyafipws.py, wsaa.py) y herramientas (rece.py, recex.py y receb.py) funcionan en modo homologación, para habilitar modo producción, por ej. editar la linea #28:
HOMO = True
y cambiarla a:
HOMO = False
De lo contrario, la interfaz no tendrá en cuenta las URLs de los servidores de Producción, aunque sean informadas en CallWSAA y Conectar.
Nota: Esto no aplica a los módulos para Python (wsfe.py, wsfex.py, etc.), pero también por defecto funcionan con URL de homologación.
Lo mismo aplica para WSFEv1 y WSMTXCA.
 
 
Comentarios:
– Poner “False” con mayúsculas.
 
Proyecto PyPDF utilizado para la creación de facturas digitales en formato PDF.
 
 
 
 

Configurar iptables en modo consola


Cuando tenemos que configurar el firewall de Linux en modo consola, lo que me resultó siempre mas cómodo es hacer un dump de las tablas en un archivo de texto, editar el archivo modificando las reglas que necesitemos y luego volver a restaurar las tablas desde dicho archivo.

Guardamos una copia de la configuración actual de las iptables (opcional):
# iptables-save > /root/iptables.original

Creamos una copia de trabajo:
# iptables-save > /root/iptables.firewall

Modificamos las reglas en ese archivo de acuerdo a nuestras necesidades:
# vi /root/iptables.firewall

Restauramos la configuración del firewall desde el archivo previamente modificado. Ojo, verificar errores.
# iptables-restore < /root/iptables.firewall

Reiniciamos el servicio:
# service iptables restart

Copiamos las iptables para que los cambios persistan luego del booteo:
# cp /root/iptables.firewall /etc/sysconfig/iptables

Siempre tenemos que tener presente dos comandos que nos ayudan mucho a configurar los puertos en los que escucha cada servicio:

# rpcinfo -p localhost
me dará un detalle del puerto en que está escuchando cada servicio y si es del tipo TCP o UDP.

# nmap localhost
me mostrará los puertos en los que está escuchando un servicio.