marzo 30, 2020

error en el servidor Servicio de perfil de usuario al iniciar sesión. No se puede cargar perfil de usuario. Windows 7

Windows 7:

1) Entrar en modo seguro, esta es la única forma en que el windows carga, para entrar en modo seguro solo tienen que oprimir f8 apenas se prende el computador, hay les da varias opciones y escogen la de entrar en modo seguro.

2) Cuando ya haya cargado windows 7 se van a inicio y en el buscador escriben ¨regedit¨ , y oprimen enter una vez lo visualicen en el buscador, hay se les abre una ventana, en esa ventana se meten en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList. En Profilelist aparecen 5 carpetas; S-1-5-18; S-1-5-19; S-1-5-20; S-1-5-21-numeros; S-1-5-21-numeros.

3) En estos dos últimos donde hay un chorrero de números al final debe haber uno que termina con .bak, y otro sin .bak, verifiquen haciendo click sobre el que termina en .bak y tiene que haber un archivo que dice C:\Users\TEMP, ojo si no es ese y es este C:\Users\(nombre de usuario), entonces hay un error, toca cambiarlos.

4) El cambio lo hacen de la siguiente forma, primero colocan al final de los números al que no tiene .bak por .bak2, después el que tiene .bak borran el .bak, y por ultimo al que le pusimos .bak2 lo reemplazamos de nuevo pero esta vez por .bak

5) Listo, cerramos y reiniciamos, debe ya entrar normalmente, espero que les sirva.....

febrero 26, 2020

Wordpress Permalinks not working with Apache and SSL. Los Enlaces Permanentes de Wordpress no funcionan con Apache y SSL.

Wordpress Permalinks not working with Apache and SSL.


Los Enlaces Permanentes de Wordpress no funcionan con Apache y SSL.


Buscando la solución a que los Enlaces Permanentes de Wordpress no funcionen con Apache, la única forma que lo solucionó fue lo siguiente.

Solución:

Cambiar
AllowOverride none
a
AllowOverride All

Quedando así la solución que resolvió mi problema en particular.

<Directory /var/www/html>
    AllowOverride All
    Require all granted
</Directory>
<Directory />
    AllowOverride All
    Require all denied
</Directory>

Deja un comentario si te sirvió o si crees que hay una solución más eficiente, me serviría mucho.

enero 24, 2020

IPTABLES HOWTO: Ejemplos de iptables para Sysadmins

VERSION ANALIZADA: iptables 1.4.7-1.4.12 (iptables -V)
Si no sabes que es Iptables o quieres una introducción sobre que es y como utilizarlo, puedes consultar la siguiente guía
IPTABLES HOWTO: Guia iptables para Sysadmins
Para poder trabajar con iptables, necesitamos privilegios de root.
En muchos sistemas, por defecto, se encuentra en /sbin/iptables o /usr/sbin/iptables

Ejemplos de reglas para IPTABLES:

Reset iptables firewall rules
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F
Ver el estado de tu firewall y listar reglas
Type the following command as root:
iptables -L -n -v
iptables -n -L -v --line-numbers

iptables -L INPUT -n -v
iptables -L OUTPUT -n -v --line-numbers
Eliminar reglas de Firewall iptables -L INPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers
iptables -L OUTPUT -n --line-numbers | less
iptables -L OUTPUT -n --line-numbers | grep 202.54.1.1
Se puede eliminar por número de regla
iptables -D INPUT 4
O especificar una regla que coincida
iptables -D INPUT -s 202.54.1.1 -j DROP
Establecer las políticas de firewall por defecto  
Para eliminar todo el tráfico:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -L -v -n
Sólo a bloquear el tráfico entrante
Para eliminar todos los paquetes entrantes / enviado, pero permitir el tráfico saliente, escriba:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -L -v -n


Eliminar direcciones de red privada en la interfaz pública (Suponiendo eth1 como interfaz pública)
iptables -A INPUT -i eth1 -s 192.168.0.0/24 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
Bloquear IP:
iptables -A INPUT -s 192.168.1.5 -j DROP
iptables -A INPUT -s 192.114.71.13 -j DROP
Guardar reglas:
iptables-save > /root/iptables.fw

To save firewall rules under CentOS / RHEL / Fedora Linux, enter:
service iptables save

Restaurar reglas:
iptables-restore < /root/iptables.fw

To restore firewall rules under CentOS / RHEL / Fedora Linux, enter:
service iptables restart



Una forma de recargar reglas automáticamente al reiniciar el servidor:
vi /etc/rc.local
...
# Reload IPTABLES Rules automatically on restart
/sbin/iptables-restore < /root/iptables.fw


En CentOS pueden almacenarse las reglas en el siguiente fichero para recargarlas automáticamente:
/etc/sysconfig/iptables


Permitir todo el tráfico de loopback, y eliminar todo el tráfico a 127/8 que no usa lo0
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT


Eliminar cualquier paquete TCP que no se ha iniciado con el Flag SYN activo
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

Aceptar todas las conexiones entrantes establecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

Eliminar cualquier paquete inválido que no pueda ser identificado
iptables -A INPUT -m state --state INVALID -j DROPDrop all inbound telnet traffic
iptables -I INPUT -p tcp --dport 23 -j DROPDrop all outbound web traffic
iptables -I OUTPUT -p tcp --dport 80 -j DROPDrop all outbound traffic to 192.168.0.1
iptables -I OUTPUT -p tcp --dest 192.168.0.1 -j DROPAllow all inbound web traffic
iptables -I INPUT -p tcp --dport 80 -j ACCEPTAllow inbound port traffic for localhost
iptables -I INPUT -s 12.0.0.1 -p tcp --dport 2003 -j ACCEPTAllow inbound HTTPS traffic from 10.2.2.4
iptables -I INPUT -s 10.2.2.4 -p tcp -m tcp --dport 443 -j DROPDeny outbound traffic to 192.2.4.0-192.2.4.255
iptables -I OUTPUT -d 192.2.4.6.0/24 -j DROP

Bloquear tráfico al dominio facebook.com



Primero miramos la IP de facebook.com y luego su RANGO DE IPs
host -t a www.facebook.com
whois 69.171.228.40 | grep CIDR


Creamos la regla para no permitir acceso
iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP


También es posible hacerlo por nombre de dominio, pero la ayuda ya dice que es una mala idea ;)
You can also use domain name, enter:
iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
iptables -A OUTPUT -p tcp -d facebook.com -j DROP


IPTABLES man page:
"... specifying any name to be resolved with a remote query such as DNS (e.g., facebook.com is a really bad idea), a network IP address (with /mask), or a plain IP address ..."


 Allow incoming connections to port 21 from one IP address 11.22.33.44
iptables -A INPUT -p tcp -m state --state NEW --dport 21 --source 11.22.33.44

Permitir todo el tráfico entrante SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT


Permitir SSH saliente
iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT


Permitir tráfico HTTP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


Permitir HTTPS saliente.
iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT


Combinar reglas con multipuerto
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT


Deny all other incoming connections to port 21.
iptables -A INPUT -p tcp -m state --state NEW --dport 21 -j DROP

Eliminar la primera regla de entrada
iptables -D INPUT 1

Bloquear o Permitir solicitud de ICMP Ping  
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP
iptables -A INPUT -s 192.168.1.0/24 -p icmp --icmp-type echo-request -j ACCEPT  


A continuación sólo acepta tipo limitado de peticiones ICMP:
### ** assumed that default INPUT policy set to DROP ** #############
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
## ** all our server to respond to pings ** ##
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT  


Permitir ping de fuera hacia adentro
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT


Permitir PING de dentro a fuera.
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT


Permitir tráfico DNS saliente.
iptables -A OUTPUT -p udp -o eth0 --dport 53 -j ACCEPT
iptables -A INPUT -p udp -i eth0 --sport 53 -j ACCEPT


Abrir un rango de puertos de entrada
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

Abrir un rango de IPs
## only accept connection to tcp port 80 (Apache) if ip is between 192.168.1.100 and 192.168.1.200 ##
iptables -A INPUT -p tcp --destination-port 80 -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

## nat example ##
iptables -t nat -A POSTROUTING -j SNAT --to-source 192.168.1.20-192.168.1.25



Restringir el número de conexiones concurrentes a un servidor por IP
Puedes utilizar el módulo connlimit para crear estas restricciones. Permitir 3 conexiones SSH por cliente:
iptables -A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 3 -j REJECT

Limitar el número de conexiones HTTP a 20:
iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 20 --connlimit-mask 24 -j DROP

Donde:
--connlimit-above 3 : Match if the number of existing connections is above 3.
--connlimit-mask 24 : Group hosts using the prefix length. For IPv4, this must be a number between (including) 0 and 32.


Eliminar o aceptar paquetes desde una MAC Address
iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP
## *only accept traffic for TCP port # 22 from mac 00:0F:EA:91:04:07 * ##
iptables -A INPUT -p tcp --destination-port 22 -m mac --mac-source 00:0F:EA:91:04:07 -j ACCEPT


Prevenir ataques DoS
-Limit 25/minute : Limita a sólo 25 conexiones por minuto.
-Limit-burst 100: Indica que el valor de limit/minute será forzado sólo después del número de conexiones en este nivel
iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 100 -j ACCEPT

Permitir redirección de puertos.
Ejemplo puerto 422 redirigimos al 22, con lo que podemos tener conexiones al puerto 22 y al puerto 422 por ssh.
iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22
iptables -A INPUT -i eth0 -p tcp --dport 422 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 422 -m state --state ESTABLISHED -j ACCEPT


Logar y eliminar paquetes:
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP


Logar y eliminar paquetes limitando el número de entradas repetidas en el LOG
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -m limit --limit 5/m --limit-burst 7 -j LOG --log-prefix "IP_SPOOF A: "
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP


Sacar en el log los paquetes caídos.
Primero creamos una cadena llamada LOGGING:
iptables -N LOGGINGLuego todas las conexiones entrantes vayan por la cadena LOGGING
iptables -A INPUT -j LOGGINGLogueamos paquetes con un log-prefix
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables Packet Dropped: " --log-level 7Y los bloqueamos:
iptables -A LOGGING -j DROP

Listado de reglas ejemplo para puertos TCP/UDP comunes:

Replace ACCEPT with DROP to block port:
## open port ssh tcp port 22 ##
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT

## open cups (printing service) udp/tcp port 631 for LAN users ##
iptables -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 631 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 631 -j ACCEPT

## allow time sync via NTP for lan users (open udp port 123) ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

## open tcp port 25 (smtp) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT

# open dns server ports for all ##
iptables -A INPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT

## open http/https (Apache) server port to all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT

## open tcp port 110 (pop3) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 110 -j ACCEPT

## open tcp port 143 (imap) for all ##
iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT

## open access to Samba file server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT

## open access to proxy server for lan users only ##
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 3128 -j ACCEPT

## open access to mysql server for lan users only ##
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT



Conclusión:
Esta entrada es una lista básica de reglas para iptables. Puedes crear y construir reglas más complejas a partir de estas, e incluso crear sistemas para automatizar la adición o eliminación de reglas.
Para crear las reglas, es importante comprender y conocer bien TCP/IP.
Puede ser importante o necesario aplicar ciertas modificaciones al kernel mediante sysctl.conf

Fuente: http://www.seavtec.com/en/content/soporte/documentacion/iptables-howto-ejemplos-de-iptables-para-sysadmins

enero 13, 2020

PostgreSQL insertar fecha y hora de ingreso a un campo de la tabla

PostgreSQL

Insertar fecha y hora de ingreso a un campo de la tabla.

Una forma de que automáticamente se inserte el dato de la fecha y hora en que se ingresó el registro en una tabla es usando la instrucción now() como campo por defecto en un tipo de dato TIMESTAMPTZ.

CREATE TABLE nombretabla (
     id         SERIAL PRIMARY KEY,
     otrocampo      VARCHAR NOT NULL,
     creadoenlafecha TIMESTAMPTZ DEFAULT Now()
);

enero 10, 2020

Error al subir archivo en Wordpress. El tamaño máximo de archivo 2 mb.

Para solucionar el error al subir archivo en Wordpress.



El tamaño máximo de archivo 2 mb.

Revisar el archivo php.ini comúnmente ubicado en /etc/php.ini las opciones

post_max_size
upload_max_filesize
memory_limit

Cambia la opción 
upload_max_filesize = 2M

por
upload_max_filesize = 4M

reinicia los servicios
service httpd restart
service php-fpm restart


enero 07, 2020

Problemas para montar un disco externo en Mac


1.- Ejecuta el Terminal
2.- Introduce "diskutil list" y a continuación enter
3.- Vamos a montar el que tiene el identificador como por ejemplo disk3s1.
4.- "diskuril mount disk3s1" el identificador del disco por ejemplo disk3s1.

Si no funciona usar el software Paragon Software https://www.paragon-software.com
Comprar e instalar HFS+
https://www.paragon-software.com/home/hfs-windows/

Comprar e instalar APFS
https://www.paragon-software.com/home/apfs-windows/

Si se puede ver los archivos, realizar una copia de seguridad y formatearlo como NTFS.
Después insertar en disco en la Mac y formatearlo de nuevo como HFS+ o APFS

noviembre 14, 2019

Visualizar el log de SQL Server mediante la herramienta SQL Server Management Studio

Tomado de: https://docs.microsoft.com/en-us/sql/relational-databases/performance/view-the-sql-server-error-log-sql-server-management-studio?view=sql-server-ver15

The SQL Server error log contains user-defined events and certain system events you can use for troubleshooting.

View the logs

  1. In SQL Server Management Studio, select Object Explorer. To open Object Explorer, select F8. Or on the top menu, select View, and then select Object Explorer:
    Object_Explorer
  2. In Object Explorer, connect to an instance of SQL Server, and then expand that instance.
  3. Find and expand the Management section (assuming you have permissions to see it).
  4. Right-click SQL Server Logs, select View, and then choose SQL Server Log.
    View_SQLServer_Log_SSMS
  5. The Log File Viewer appears (it might take a moment) with a list of logs for you to view.

See also


For more information, see MSSQLTips.com's helpful post Identify location of the SQL Server Error Log file.

noviembre 13, 2019

Cambiar nombre de usuario Windows 10

Si te has equivocado en el nombre de tu usuario y quieres cambiarlo, así como también el nombre del usuario Administrador. Hacerlo es muy sencillo, aunque no desde el Panel de control.
Ve a Inicio de Windows Imagen y escribe netplwiz y presionas Enter.
Imagen
Luego se abrirán las propiedades de Cuentas de usuario. Haces doble clic sobre el usuario que deseas cambiar el nombre y abrir una nueva ventana.
Imagen
En la casilla Nombre de usuario cambian el nombre por el de su preferencia en caso de que sea una cuenta local como el Administrador, si es una Cuenta Microsoft se debe cambiar en la casilla siguiente, en la de Nombre completo.
Imagen
Cuando hayas cambiado el nombre de tu usuario haces clic en Aplicar y después en Aceptar. Para que los cambios surtan efecto debes cerrar sesión si lo haces desde el mismo usuario que modificas.
Advertencia: Evita modificar otras opciones diferentes a las indicadas en estos pasos, la modificación incorrecta puede afectar el inicio de sesión del usuario modificado.
Pertenencia a grupos 
¿Qué es la Pertenencia a grupos?
Es la capacidad que tiene un Usuario en el equipo de modificar el sistema e instalar aplicaciones. El Usuario debe ser Administrador o pertenecer al Grupo administradores para poder hacer modificaciones importantes al sistema operativo. Hay 2 tipos básicos de usuarios, Estándar (Grupo de usuarios) y Administrador (Grupo de administradores), el primero grupo no tiene privilegios para hacer cambios al sistema en cambio el Grupo de administradores si los tiene.
En caso de que tengas conflicto de permisos de usuarios para hacer cambios al sistema debes verificarlo en la pestaña Pertenencia a grupos. Si tu usuario es Estándar y necesitas permisos, entonces marca la casilla Administrador.
Imagen


Espero que esto te ayude en lo que necesitas.

noviembre 12, 2019

AH01630: client denied by server configuration

Problema

AH01630: client denied by server configuration

Síntomas

/var/log/httpd/ssl_error_log
[Tue Nov 12 14:27:24.894836 2019] [authz_core:error] [pid 11320:tid 139831617136384] [client xxx.xxx.xxx.xxx:53240] AH01630: client denied by server configuration: xxx.html

Buscando la solución

https://stackoverflow.com/questions/18392741/apache2-ah01630-client-denied-by-server-configuration/25767603#25767603?newreg=3ab895094b2d4f93bb93dd0226167ca3

Solución

<Directory />
    AllowOverride none
    Require all denied
</Directory>

<Directory /Volumes/Data/Data/USER/Sites/>
    AllowOverride none
    Require all granted
</Directory>

Off topic


Si te sirvió la ayuda y quieres cooperar para que siga publicando soluciones, da clic en uno de los siguientes enlaces:
www.richardsite.com
www.allabord.com

Estas páginas tienen la intención de ser un catálogo de sitios de Internet clasificados por sección.

Si tienes algún sitio que te agrade lo puedo incluir. O tú mismo puedes agregar información, como:

  • la dirección en Internet de tu Home Page
  • el enlace a tu Twitter
  • el enlace a tu FanPage de Facebook
  • el enlace a tu Instagram
  • etc.



noviembre 11, 2019

Error curl: (23) Failed writing body (761 != 1291) al correr el comando curl https://getfedora.org/static/fedora.gpg | gpg --import

Problema


Al tratar de instalar el sistema operativo Fedora 31 muestra el error

advertencia:/var/lib/dnf/system-upgrade/authselect-compat-1.1-2.fc31.x86_64.rpm: EncabezadoV3 RSA/SHA256 Signature, ID de clave 3c3359c4: NOKEY

Curl error (37): Couldn't read a file:// file for file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-x86_64 [Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-31-x86_64]

Diagnóstico


Al tratar de importar los repositorios de fedora

al correr el comando 
# curl https://getfedora.org/static/fedora.gpg | gpg --import

da el error

Error curl: (23) Failed writing body (761 != 1291)

Solución


Para solucionar el Error curl: (23) Failed writing body (761 != 1291)

en vez de  correr el comando 

# curl https://getfedora.org/static/fedora.gpg | gpg --import

ejecutar el comando
# curl https://getfedora.org/static/fedora.gpg | tac | tac | gpg --import

Retroalimentación


Una solución alternativa es canalizar la transmisión a través de un programa intermediario que siempre lee toda la página antes de pasarla al siguiente programa.

P.ej. rizo "url" | tac | tac | grep -qs foo tac es un programa simple de Unix que lee toda la página de entrada e invierte el orden de las líneas (por lo tanto, lo ejecutamos dos veces).

Debido a que tiene que leer toda la entrada para encontrar la última línea, no generará nada para grep hasta que cURL haya terminado.

Grep seguirá cerrando el flujo de lectura cuando tenga lo que está buscando, pero solo afectará a tac, que no emite un error.

Fuente
https://stackoverflow.com/questions/16703647/why-curl-return-and-error-23-failed-writing-body

Off topic


Si te sirvió la ayuda y quieres cooperar para que siga publicando soluciones, da clic en uno de los siguientes enlaces:
www.richardsite.com
www.allabord.com

Estas páginas tienen la intención de ser un catálogo de sitios de Internet clasificados por sección.

Si tienes algún sitio que te agrade lo puedo incluir. O tú mismo puedes agregar información como tu dirección en Internet de tu Home Page, Twitter, Facebook, Instagram, etc.

error en el servidor Servicio de perfil de usuario al iniciar sesión. No se puede cargar perfil de usuario. Windows 7

Windows 7: 1) Entrar en modo seguro, esta es la única forma en que el windows carga, para entrar en modo seguro solo tienen que oprimir f8...