This morning, on a FreeBSD 9.2-RELEASE #0 r255898 system, I saw this in /var/log/messages:
Jan 11 04:15:00 zuul su: _secure_path: /nonexistent/.login_conf is not owned by uid 65534
There was nothing around that entry to clue me in. I suspected a cronjob, based upon the time of day. I searched with Google and found only questions.
This next command confirms my cronjob suspicion:
$ grep _secure_path /var/log/messages Jan 4 04:15:00 zuul su: _secure_path: /nonexistent/.login_conf is not owned by uid 65534 Jan 11 04:15:00 zuul su: _secure_path: /nonexistent/.login_conf is not owned by uid 65534
OK, it’s got to be a cronjob.
For the record, uid 65534 is the predefined user nobody/var/db/locate.database on several systems. The are all chmod 444 which makes me discount the possibility that this is a permissions issue.
Running the same command on another server gave the same output, but without the _secure_path warning in /var/log/messages.
I’ve run out of ideas, but I suspect the problem stems from line 100 of /usr/libexec/locate.updatedb:
# search locally if $find -s $SEARCHPATHS $excludes -or -print 2>/dev/null | $mklocatedb -presort > $tmp then if [ -n "$($find $tmp -size -257c -print)" ]; then echo "updatedb: locate database $tmp is empty" >&2 exit 1 else cat $tmp > $FCODES # should be cp? fi fi
I haven’t solved this problem, but the above should go a long way towards fixing it.
Follow up: 8:58 am:
zi asked me if that directory exists… it does:
$ ls -a /nonexistent/ . .. .cshrc .login .login_conf .mail_aliases .mailrc .profile .rhosts .shrc
zi went on to say: You probably added a new user at some point and set its homedir to /nonexistent
And I did; I had created the openvpn user.
Solution: rm -rf /nonexistant
For now, I’ll do a mv /nonexistant /nonexistant.DELETEME and monitor the situation.