A bit of an oversimplification. Every business select the customers they target, true. But how many times do you see a steakhouse with a sign out front that said "If you order a salad you are an idiot and not welcome".
No, it's not. Your POV is jaded by the notion of "open retail". A lot of people are doing business in something other than that model. Also other businesses "offend" snowflakes like that all the time, it's just not put up on a sign. That's literally the only difference here- the sign just forestalls some of the inevitable time-wasting conversations from happening.
Problem: In any gun shop there is an enormous amount of "possible customers" (at least 20%, sometimes up to 50% or more) who cross the retail threshold that are basically just there to waste your time and suck information out of you; then in turn they will skinflint and go elsewhere to buy their stuff if they bother buying it at all.
Solution: Do something that will piss off low info/low IQ buyers/time wasters, get them to self-deselect. These people are more likely to be tire kickers.
Putting up something that will offend dumb/weak people is absolutely brilliant.
Of course it business owner's right to do it however is best for them. Or in this case, the tough guy way they understand.
Nothing "tough guy" about it. It's a humorous shit filter, is what it is. If someone is "upset" by that sign or thinks its a "tough guy" thing, that's probably not the kind of customer they want to do business with. It's a great way to filter out people who seem to have a pole permanently jammed up their ass.