BUG #5752: installer does not give proper os privileges on folders

Started by Kasia Tuszynskaover 15 years ago2 messagesbugs
Jump to latest
#1Kasia Tuszynska
ktuszynska@esri.com

The following bug has been logged online:

Bug reference: 5752
Logged by: Kasia Tuszynska
Email address: ktuszynska@esri.com
PostgreSQL version: 9.0.1
Operating system: Windows 2008 R2 (64bit)
Description: installer does not give proper os privileges on folders
Details:

Tested:
The one click Postgres 64bit installer for 9.0.0 and 9.0.1

Tested on:
windows 2008 64bit
windows 2008 R2 - which is only 64bit
UAC was turned off
password strength was disabled

Problem: crying to create a tablespace gives error: could not set
permissions on directory C:\.....\tablespace_name" Permission denied

work around: grant the users group full control privileges on the tablespace
folder

Locations tried:
under the data folder - failed with permissions denied
under the C drive - failed with permissions denied

ways of creating ta tablespace, tried:
programatically calling a postgres function
creating folder manually, using pgAdminiii for tbsp creation
creating folder manually, using psql to create the tablespace

Compared the result:
pg 8.3.8 msi on win2003 32bit, win 2008 R2
to
pg 9.0.0 and 9.0.1 one click installer on win 2008 R2

I compared the privileges granted on the PostgreSQL, 8.3/9.0, data and
tablespace folders and found the following differences:
PostgreSQL folder - same privs given by both versions

Privs present on the 8.3.8 folder but missing on the 9.0 folder
deny postgres special
allow postgers read&execute
- all others are the same between both versions

Priv differences on the data folder
8.3.8 had:
allow postgres modify not inherited this folder and subfolders

9.0 had:
allow postgres special not inherited this folder only
allow kasia special not inherited this folder only
- all others are the same between both versions

Privs listed on the folder data\tablespace_name
8.3.8:
allow trustedinstaller special - appears twice
allow system special - appears twice
allow administrators special - appears twice
allow users special - appears twice
allow creator owner special
allow postgres modify this folder, subfolders

9.0:
allow trustedinstaller special
allow system full control
allow administrators full control
allow users read&write
allow creator owner special

Conclusion: postgres os user and the users windows group are missing
privileges on folders granted inside the data folder layed down by the
postgres 9.0 one click installer.

#2Dave Page
dpage@pgadmin.org
In reply to: Kasia Tuszynska (#1)
Re: BUG #5752: installer does not give proper os privileges on folders

Apologies for the delay in replying.

On Sat, Nov 13, 2010 at 1:27 AM, Kasia Tuszynska <ktuszynska@esri.com> wrote:

The following bug has been logged online:

Bug reference:      5752
Logged by:          Kasia Tuszynska
Email address:      ktuszynska@esri.com
PostgreSQL version: 9.0.1
Operating system:   Windows 2008 R2 (64bit)
Description:        installer does not give proper os privileges on folders
Details:

Tested:
The one click Postgres 64bit installer for 9.0.0 and 9.0.1

Tested on:
windows 2008 64bit
windows 2008 R2 - which is only 64bit
UAC was turned off
password strength was disabled

Problem: crying to create a tablespace gives error: could not set
permissions on directory C:\.....\tablespace_name" Permission denied

work around: grant the users group full control privileges on the tablespace
folder

We've been unable to reproduce this issue, either on Windows Server,
or Windows 7. When the installer sets the permissions on the data
directory, it does so on the top level, recursively. Because of this,
I would expect operations like CREATE DATABASE to suffer from similar
issues, as the permissions on all subdirectories should be the same.

As I type this however, I wonder if the issue you are seeing is not
that the link between the data directory and the desired tablespace
directory cannot be created, but that Postgres cannot write to the
tablespace directory that you've created. You need to create the
tablespace something like this:

- Create the new tablespace directory, eg. c:\test
- Grant full control on c:\test to the PostgreSQL service account
(usually postgres)
- Create the tablespace in psql or pgAdmin.

Are you missing the second step perhaps?

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company