ERROR: aclcheck: first entry in ACL is Not 'world' entry

Started by Phil Geerabout 24 years ago4 messagesgeneral
Jump to latest
#1Phil Geer
philg@gearcc.com

Hello all,

I'm getting the following error message.

ERROR: aclcheck: first entry in ACL is not 'world' entry

This is on a new server I'm setting up it is postgresql 7.2 compiled from
source on SuSE Linux 7.2.
I then load a database that I dumped from postgresql 7.1.3 on my production
server.

I've gone back and revoke everyone's table privileges on all the tables and
then granted the privileges again. The only one that can seem to do selects
on the tables is the superuser. Anyone else gets this error message. One
thing I noticed was looking in the pg_class table in 7.1.3 the relacl column
the entries look like this
{"=", "user1=arw"} and in 7.2 it look like this { =, user1=arw }

I'm not sure the quotes in 7.1.3 should be there in 7.2 but if so how do I
get them in.

Thanks
Phil

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Phil Geer (#1)
Re: ERROR: aclcheck: first entry in ACL is Not 'world' entry

"Phil Geer" <philg@gearcc.com> writes:

I'm getting the following error message.
ERROR: aclcheck: first entry in ACL is not 'world' entry

That shouldn't happen. Can you show us the sequence of grant and/or
revoke steps that got the table into that state?

regards, tom lane

#3Phil Geer
philg@gearcc.com
In reply to: Phil Geer (#1)
Re: ERROR: aclcheck: first entry in ACL is Not 'world' entry

It did this from the start all I did was take a dump from my 7.1.3 database
and load it on my newly build 7.2 server. Log in as anyone other then the
super user and you get this error.

I did try to revoke all user privileges then grant them again just to see if
it helped but that didn't do anything.

Here is a cut from my dump file on my 7.1.3 server..

--- cut ---
--
-- TOC Entry ID 15 (OID 18981)
--
-- Name: count Type: TABLE Owner: philg
--

CREATE TABLE "count" (
"page_name" character varying(255),
"hits" integer,
"page_id" integer DEFAULT nextval('count_page_id_seq'::text) NOT NULL,
Constraint "count_pkey" Primary Key ("page_id")
);

--
-- TOC Entry ID 16 (OID 18981)
--
-- Name: count Type: ACL Owner:
--

REVOKE ALL on "count" from PUBLIC;
GRANT ALL on "count" to "user1";
GRANT INSERT,UPDATE,DELETE,SELECT on "count" to "user2";

--- cut ---

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Phil Geer" <philg@gearcc.com>
Cc: <pgsql-general@postgresql.org>
Sent: Sunday, March 10, 2002 12:51 AM
Subject: Re: [GENERAL] ERROR: aclcheck: first entry in ACL is Not 'world'
entry

Show quoted text

"Phil Geer" <philg@gearcc.com> writes:

I'm getting the following error message.
ERROR: aclcheck: first entry in ACL is not 'world' entry

That shouldn't happen. Can you show us the sequence of grant and/or
revoke steps that got the table into that state?

regards, tom lane

#4Phil Geer
philg@gearcc.com
In reply to: Phil Geer (#3)
Re: ERROR: aclcheck: first entry in ACL is Not 'world' entry

I started again I made a new database location and did an initdb. created a
new database in that location called foo1 then created a user called user1
and a table called foo revoked all on foo from public and grant all on foo
to user1 and still I get this error.

My make and gcc are

make -v
GNU Make version 3.79.1, by Richard Stallman and Roland McGrath.
Built for i686-pc-linux-gnu

gcc -v
Reading specs from /usr/lib/gcc-lib/i486-suse-linux/2.95.3/specs
gcc version 2.95.3 20010315 (SuSE)

My configure options are as
follows. --with-perl --with=maxbackends=100 --enable-odbc

I had no errors on the build or install I didn't install the version of
postgresql that came with SuSE as I didn't want it to interfere with this
build.

template1=# create database foo1;
CREATE DATABASE
template1=# \c foo1
You are now connected to database foo1.
foo1=# create user user1;
CREATE USER
foo1=# create table foo(f1 int);
revoke all on foo from public;
grant all on foo to user1;
CREATE
REVOKE
GRANT
foo1=# \c - user1
You are now connected as new user user1.
foo1=>select * from foo;
ERROR: aclcheck: first entry in ACL is not 'world' entry

Show quoted text

----- Original Message -----
From: "Tom Lane" <tgl@sss.pgh.pa.us>
To: "Phil Geer" <philg@gearcc.com>
Sent: Sunday, March 10, 2002 11:45 AM
Subject: Re: [GENERAL] ERROR: aclcheck: first entry in ACL is Not 'world'
entry

So if you start as superuser and do

create table foo(f1 int);
revoke all on foo from public;
grant all on foo to user1;
\c - user1
select * from foo;

you get that aclcheck failure?

This doesn't happen for me, and we'd surely have heard about it if it
were happening for other people. The only thing I can think is that
you have a broken installation. You said you compiled from source ---
what compiler did you use exactly, and what configure options?

regards, tom lane