Право собственности символических ссылок не имеет значения. Имеет значение ссылка на объект.
Учитывая это, используйте find -l
для обнаружения символических ссылок в дереве каталогов.
Используйте chown -h
и/или chmod -h
для работы с символической ссылкой.
find . -type l -exec chown -h root:root {} +
echo 'flag{' | grep -F 'flag{'
flag{
echo 'flag{' | grep 'flag{'
flag{
echo 'flag{' | grep -E 'flag{'
flag{
Con grep -w
, le está pidiendo a grep
que solo devuelva coincidencias que estén inmediatamente precedidas o seguidas por una nueva línea (al principio o al final de una línea )o una palabra que no sea -carácter (un carácter de palabra es una letra, un dígito o un guión bajo ).
Esto significa que el texto this is flag{a}
no coincidirá con grep -w 'flag{
', ya que el carácter que sigue a {
en el texto es un carácter de palabra.
Del mismo modo, this is theflag{
no coincidiría con grep -w 'flag{'
.
Puede deshacerse de la opción -w
y, en su lugar, usar un patrón de límite de palabra de ancho cero -explícito, por ejemplo al principio, de modo que pueda hacer coincidir flag{a}
pero no theflag{
. Con GNU grep
, esto se puede hacer usando
grep -rn '\<flag{' Downloads
o
grep -rn '\bflag{' Downloads
El patrón \<
coincide con un límite de palabra al comienzo de una palabra (y \>
coincide con el final ), mientras que \b
coincide tanto al principio como al final. \<
y \>
se heredaron originalmente de los editores ex
y vi
y son más portátiles que \b
.
GNU grep
no es compatible con [[:<:]]
y [[:>:]]
(, que funcionan de la misma manera que \<
y\>
)para coincidir al principio o al final de las palabras, pero BSD grep
sí. BSD grep
no admite \b
.