Hi Joshua,
On 2015-06-16 Tue 16:53 PM |, Joshua Lokken wrote:
> On Jun/13 08:51PM, Craig Skinner wrote:
> > On 2015-06-12 Fri 15:24 PM |, Joshua Lokken wrote:
> > >
> > > I also see, in /var/log/spamd, whenever obspamd is started:
> > >
> > > Jun 12 13:35:14 fusor spamd[21599]: greyreader failed (No such file or
> directory)
> >
> > > % ll /var/db/override.txt
> > > -rw-r--r-- 1 _spamd _spamd 382 Jun 12 12:39 /var/db/override.txt
> >
> > Maybe try these:
> >
> > $ ls -ld /var/db
> > $ sudo su -l -s /bin/sh _spamd -c 'ls -l /var/db/override.txt;
> > $ sudo su -l -s /bin/sh _spamd -c 'head /var/db/override.txt'
>
> Ok, but let's look at those commands...
>
> $ ls -ld /var/db
> drwxr-xr-x 17 root wheel 1024 Jun 9 23:32 /var/db
>
> $ ls -ld /usr/local/etc
> drwxr-xr-x 51 root wheel 2560 Jun 14 20:47 /usr/local/etc
>
I'm not using FreeBSD, rather OpenBSD:
$ ls -ld /usr/local/etc
ls: /usr/local/etc: No such file or directory
> $ sudo su -l -s /bin/sh _spamd -c 'ls -l /var/db/override.txt;
> Error, looks like there may be a ' missing
>
Sorry about that, my bad typo.
> $ sudo su -l -s /bin/sh _spamd -c 'ls -l /var/db/override.txt'
> su: unknown login: /bin/sh
>
> $ sudo su -l -s /bin/sh _spamd -c 'head /var/db/override.txt'
> su: unknown login: /bin/sh
>
> $ man su
> -l Simulate a full login...
>
> However, the _spamd user does not have a login shell, so I would
> expect this to fail.
>
I'm not using FreeBSD, rather OpenBSD:
$ userinfo _spamd
login _spamd
passwd *
uid 62
groups _spamd
change NEVER
class
gecos Spam Daemon
dir /var/empty
shell /sbin/nologin
expire NEVER
$ man su
-s login-shell
Specify the path to an alternate login shell.
This is how daemons are started on OpenBSD:
$ fgrep 'su ' /etc/rc.d/rc.subr
rcexec="su -l -c ${daemon_class} -s /bin/sh ${daemon_user} -c"
> I appreciate the list of commands. Can someone advise what the
> responder is trying to get at?
To check _spamd can read (head) the file, because of:
> Jun 12 13:35:14 fusor spamd[21599]: greyreader failed (No such file or
> directory)
FreeBSD has a jail thing, so it could be looking for it somewhere else.
On OpenBSD:
$ ls -l /var/db/override.txt
ls: /var/db/override.txt: No such file or directory
Create a demo txt file:
$ sudo cp /usr/share/dict/british /var/db/override.txt
$ ls -l /var/db/override.txt
-r--r--r-- 1 root wheel 3512 Jun 17 11:57 /var/db/override.txt
$ sudo chown _spamd:_spamd /var/db/override.txt
$ sudo chmod 644 /var/db/override.txt
$ ls -l /var/db/override.txt
-rw-r--r-- 1 _spamd _spamd 3512 Jun 17 11:57 /var/db/override.txt
Now check _spamd can read the demo override.txt file:
$ sudo su -l -s /bin/sh _spamd -c 'ls -l /var/db/override.txt'
-rw-r--r-- 1 _spamd _spamd 3512 Jun 17 11:57 /var/db/override.txt
$ sudo su -l -s /bin/sh _spamd -c 'head /var/db/override.txt'
aeon
aerodrome
aeroplane
aggrandise
alarum
aluminise
aluminium
amour
amourous
amphitheatre
Hope that helps.
--
"It's a small world, but I wouldn't want to have to paint it."
-- Steven Wright