The reason you're experiencing an easily scratched, "soft" finish, is due to the oil taking literally months & months to actually begin drying when it is applied in what amounts to a very thick coat and gets sealed in by the top coat. Even allowing just 24 hrs between coats will allow each coat to harden some. If you really want a durable finish, let each coat dry a week before the next. Takes longer for sure (months, not days), but the end result is a durable, water resistant, easily maintained, deep finish. Topped with Renaissance wax on an annual basis, a proper oil finish will withstand a lot of abuse and still look good. Too many people are too impatient to achieve a good oil finish (think that's why poly was invented).
A psa for those looking at refinishing a stock. DO NOT use straight linseed oil; it literally will never dry. Boiled linseed (BLO) will, but it does not dry overnight. Tung oil suffers the same issue, but it's requirement is additives, not boiling. There are a lot of wood finish products that combine the 2 to take advantage of both oil's properties. LinSpeed is a BLO with additives (thus the "Speed" part of the name) that works well, and will return a beautiful finish, but it must be allowed to dry between coats to get the full benefit. Avoid TruOil completely.