Обсуждение: ERROR: aclcheck: first entry in ACL is Not 'world' entry

Поиск
Список
Период
Сортировка

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

От
"Phil Geer"
Дата:
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




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

От
Tom Lane
Дата:
"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

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

От
"Phil Geer"
Дата:
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


> "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
>
>


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

От
"Phil Geer"
Дата:
 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

> ----- 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
 >
 >