It seems like there are a number of items to address here. As far as I know splunk does not do any special processing or blocking of hidden (or " .* " files).
The first think you may want to check is simply file permissions. From within splunk's web interface, you should be able to see evidence of this kind of problem with the following search:
index=_internal sourcetype="splunkd" FileClassifierManager
Also, a more generally useful approach is to login as the 'splunk' user, and run the the command to see how splunk will process an individual input file.
splunk test sourcetype /home/someuser/.bash_history
When I try this on my system, for example, and got the message, which indicates a permissions issue.
WARN FileClassifierManager - Unable to open /home/someuser/.bash_history.
WARN FileClassifierManager - Invalid file: /home/someuser/.bash_history, reason: cannot_read.
When I tried this with a file that could be read by the splunk user, then it created a new source type called "bash_history", but looking over the automatically assigned settings, I can tell you that it will not look quite right out of the box due to line breaking. The other issue you will have is with timestamping. My local copy of .bash_history has no timestamps in it, and if I understand how bash works properly, this file is only ever updated when you logout, therefore you will see a number of new entires showing up all at once.... also I don't think this file is "rotated" in standard log fashion, which could cause duplicate entries (I'd have to test it to see). The bottom line is that this probably isn't going to work right out of the box, and I'm not sure it's going to give you want you are looking for. Which begs the question, what exactly are you actually trying to get out of indexing this file?
If you want to track user activity, there are other options. Also if this is your only means of tracking user activity, then your users can easily circumvent your means of tracking fairly easily by either messing with .bash_history directly (since they own the file), or my simply running a different shell (zsh, ksh, csh, and so on...).
You may wan to check out the ps scripted input in the unix application. That's already setup to capture commands running on the system, and you may find it to be a better option for you. If you really want to get nit picky about whats running, you probably will want to check out the linux audit system. Splunk also has a scripted input for reading files written by auditd .
... View more