From: jms0010 on
This is on a Solaris 9/SPARC box running the stock Sun cron.

I'm trying to set up cron jobs for a user called "cactiuser" for an
app I'm standing up on the box.

The crontab exists for cactiuser and appears to have the correct
permissions:

bash-2.05# ls -l /var/spool/cron/crontabs/cactiuser
-r-------- 1 root other 185 Sep 29 12:00
/var/spool/cron/crontabs/cactiuser

cactiuser is in /etc/cron.d/cron.allow and not in
/etc/cron.d/cron.deny.

cactiuser's home directory exists and the user has a valid shell.

A snippit from the cron log shows that cron doesn't like cactiuser.

! bad user (cactiuser) Tue Sep 29 12:20:02 2009
> CMD: echo "TEST" > /var/log/cacti.log 2>&1
> cactiuse 20131 c Tue Sep 29 12:20:02 2009
< cactiuse 20131 c Tue Sep 29 12:20:02 2009 rc=1

cactiuser has write permissions on /var/log/cacti.log, but even if
it didn't, that shouldn't prevent cron from even trying to run the job.

Is it possible the cron is unhappy because the username is longer than 8
characters? If I absolutely have to, I can change the name to something
shorter, but I would prefer not to do that if I can avoid it.

Thanks in advance
jms
From: Chris Ridd on
On 2009-09-29 17:28:08 +0100, jms0010(a)cluebyfour.org said:

> This is on a Solaris 9/SPARC box running the stock Sun cron.
>
> I'm trying to set up cron jobs for a user called "cactiuser" for an
> app I'm standing up on the box.
>
> The crontab exists for cactiuser and appears to have the correct
> permissions:
>
> bash-2.05# ls -l /var/spool/cron/crontabs/cactiuser
> -r-------- 1 root other 185 Sep 29 12:00
> /var/spool/cron/crontabs/cactiuser
>
> cactiuser is in /etc/cron.d/cron.allow and not in
> /etc/cron.d/cron.deny.
>
> cactiuser's home directory exists and the user has a valid shell.
>
> A snippit from the cron log shows that cron doesn't like cactiuser.
>
> ! bad user (cactiuser) Tue Sep 29 12:20:02 2009
>> CMD: echo "TEST" > /var/log/cacti.log 2>&1
>> cactiuse 20131 c Tue Sep 29 12:20:02 2009
> < cactiuse 20131 c Tue Sep 29 12:20:02 2009 rc=1
>
> cactiuser has write permissions on /var/log/cacti.log, but even if
> it didn't, that shouldn't prevent cron from even trying to run the job.
>
> Is it possible the cron is unhappy because the username is longer than 8
> characters? If I absolutely have to, I can change the name to something
> shorter, but I would prefer not to do that if I can avoid it.

Is cactiuser a local user in /etc/passwd? If not, is the relevant name
service starting before crond?

--
Chris

From: streiner on
On 2009-09-29, Chris Ridd <chrisridd(a)mac.com> wrote:
> Is cactiuser a local user in /etc/passwd? If not, is the relevant name
> service starting before crond?

Yes, cactiuser is a local user in /etc/passwd. There are
directory-auth'd users on the box, but this account authenticates
locally.

jms
From: streiner on
On 2009-09-29, Chris Ridd <chrisridd(a)mac.com> wrote:
> Is cactiuser a local user in /etc/passwd? If not, is the relevant name
> service starting before crond?

Interesting...

I reset the password for cactiuser and the cron log is no longer
reporting it as a bad user.

jms
From: Colin B. on
jms0010(a)cluebyfour.org wrote:
> This is on a Solaris 9/SPARC box running the stock Sun cron.
>
> I'm trying to set up cron jobs for a user called "cactiuser" for an
> app I'm standing up on the box.
>
> The crontab exists for cactiuser and appears to have the correct
> permissions:
>
> bash-2.05# ls -l /var/spool/cron/crontabs/cactiuser
> -r-------- 1 root other 185 Sep 29 12:00
> /var/spool/cron/crontabs/cactiuser
>
> cactiuser is in /etc/cron.d/cron.allow and not in
> /etc/cron.d/cron.deny.
>
> cactiuser's home directory exists and the user has a valid shell.
>
> A snippit from the cron log shows that cron doesn't like cactiuser.
>
> ! bad user (cactiuser) Tue Sep 29 12:20:02 2009
>> CMD: echo "TEST" > /var/log/cacti.log 2>&1
>> cactiuse 20131 c Tue Sep 29 12:20:02 2009
> < cactiuse 20131 c Tue Sep 29 12:20:02 2009 rc=1
>
> cactiuser has write permissions on /var/log/cacti.log, but even if
> it didn't, that shouldn't prevent cron from even trying to run the job.
>
> Is it possible the cron is unhappy because the username is longer than 8
> characters? If I absolutely have to, I can change the name to something
> shorter, but I would prefer not to do that if I can avoid it.

Check the password. If it is LOCKED, then cron won't work.
from passwd(1):

Locking an account (-l option) does not allow its use for
password based login or delayed execution (such as at(1),
batch(1), or cron(1M)). The -N option can be used to disal-
low password based login, while continuing to allow delayed
execution.

Colin