You can set the fuses to a value that "bricks" the microcontroller. The most common way to do this is to set the fuses to use an external clock source when there is no external clock source. The solution is to connect an external clock long enough to set the fuses back to using the internal oscillator.
You can also set the fuses so that the reset pin becomes an IO pin (RSTDISBL). The solution to that is to connect a high voltage programmer to the chip and set the fuses so that the reset pin becomes a reset pin again.
I would recommend just using the Arduino IDE to burn bootloaders. The board definitions have ideal fuse settings, which are automatically programmed during the Burn Bootloader process. If you want a good level of control over the fuse settings, MiniCore provides this via custom Tools menu items:
GitHub - MCUdude/MiniCore: Arduino hardware package for ATmega8, ATmega48, ATmega88, ATmega168, ATmega328 and ATmega328PB
I downloaded the 'link' program, thanks, but I normally use PICs and only need to program ATmegas a couple of times at the moment. I also downloaded the data sheet, and again there is a bit too much to learn, for my immediate use.
Can the fuses be messed up by READing them? The reason I ask, is that I had a NEW chip programmed in Arduino Uno with 'blink' and all I did was to READ the fuses in AVRDUDESS, then when put into Arduino Uno, it had broken, no blink.