Awk para tener a todos mis usuarios habituales en la sombra


8

Tengo un guion

Quiero obtener todos mis usuarios habituales de, por /etc/shadowejemplo, todos los usuarios cuyo segundo término en el archivo sombra comienza con $o !$.

Mi patrón es

sudo getent shadow | awk -F: '$2 ~ /^$/ || /^!$/ {print $1}'

No funciona por ahora.


¿Tiene que ser awk? :-)
Rinzwind

Respuestas:


11

Debes escapar del $, ya que es un personaje especial para "Fin de línea" al igual ^que "Principio de línea".

sudo getent shadow | awk -F: '$2 ~ /^\$/ || $2 ~  /^!\$/ {print $1}'

+1 buena captura :)
Rinzwind

Gracias funciona. Sólo necesito para que no incluya usuario root
danaso

1
Simplificado: awk -F: '$2 ~ /^!?\$/ {print $1}'- Esto combina las dos pruebas de coincidencia y dice "coincide con un signo de dólar al comienzo del campo, opcionalmente ( ?) precedido por un !"
pausa hasta nuevo aviso.

4

Todos los usuarios con un conjunto de contraseñas pueden aparecer así:

getent shadow | egrep '^[^:]*:[*!]:' -v | cut -f1 -d:
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.