thats because cat tries to open the noteid file of
your rc shell (running as none). and not the noteid
file of its own process (cat).

static void
nonone(Proc *p)
{
        if(p == up)
                return;
        if(strcmp(up->user, "none") != 0)
                return;
        if(iseve())
                return;
        error(Eperm);
}

nonone() is always ok for p == up. in your case, p != up
so it fails (as expected).

--
cinap

Reply via email to