• 0 Posts
  • 519 Comments
Joined 2 years ago
cake
Cake day: June 16th, 2023

help-circle
  • If everyone has a copy of my passwords and authenticator keys, that wouldn’t suddenly make 2 factor auth a compromised idea.

    Not sure how this relates. If you’re saying it was a good idea at the outset, then sure… If the keys hadn’t almost all been leaked by AMI and Phoenix. MS was supposed to have created a Microsoft Certified hardware vendor program for this, which fell apart pretty quickly.

    Secure Boot is a joke, both practically (there are many, many tools in use to bypass it) and in my professional circles, it is considered obsolete like WEP. My audit controls for Secure Boot demand that an endpoint management solution like InTune is deployed.

    You don’t have to take my word for it, obviously. I’m not trying to tell you how to live your life.






  • Nice, and good job.

    With respect:

    • You are describing the init process, after the boot stuff is done. Not sure if you meant that or not.
    • vmlinuz is the bootable kernel image distinct from the kernel itself. It contains the compressed bootable ELF kernel image (which itself contains bvmlinuz) and gzip decompress function, bsetup code, bbootsect system.map, and a handful of commands for the kernel image to bootstrap itself.
    • Kernel space doesn’t stop once user space is allocated memory and initialized, they both run at the same time. Maybe I read that wrong, but it didn’t seem right to me.

    I want to be careful here not to discourage you, this is great exploration!

    I realize I’m handing out unsolicited advice here, but when I was first learning about Unix/Linux kernels in the Solaris and HP/UX days, the thing that helped the process “click” for me was compiling a kernel and building an ELF. And if you’re going to continue on this journey (which I hope you do), you should probably read a bit on memory segmentation and broadly about assembly instructions.

    Good luck!


  • Your find statement is not creating a variable “file” because it’s missing the first part of the for loop. This:

    find ./ -type f \( -iname \*.jpg -o -iname \*.png \) | while IFS= read -r -d '' file; do

    should be this:

    for file in "$(find ./ -type f \( -iname \*.jpg -o -iname \*.png \))"; do

    However, the above command would find all files in current and subdirectories. You can just evaluate current context much more simply. I tested the below, it seems to work.

    #! /bin/bash
    echo "This script will rename all files in this directory with unique names. Continue? (Y/N)"
    read proceed
    if [[ "$proceed" == "Y" ]]; then
    	echo "Proceed"
                   for file in *.{jpg,JPG,png,PNG}; do
                        echo "in loop"
                        echo "$file"
                        dir=$(dirname "$file")
                        base=$(basename "$file")
                        echo "'$dir'/'$base'"
                        new_name="$dir/$(uuidgen -r)"
                        echo "Renaming ${file} to ${new_name}"
                        #mv "$file" "$new_name" #uncomment to actually perform the rename.
                   done
    	echo "After loop"
    else
    	echo "Cancelling"
    fi
    

    You could also find matching files first, evaluate if anything is found and add a condition to exit if no files are found.

    Edit: who the fuck downvoted this, it literally works and the for loop was the issue.