On Sun, 2006-05-28 at 17:13 +0200, Zoltan Boszormenyi wrote: > Hi, > > answering to myself. :-) > > Zoltan Boszormenyi írta: > > So, how can I fix the current situation and include /home1/pgsql in > > the postgresql context/domain? I would like to relabel it to recover > > the context... > > > > BTW the same principle would apply if one would like to create > > another tablespace for postgresql under another mount point... > > After some more RTFM, it would seem simple: > > semanage fcontext -a -t postgresql_db_t '/home1/pgsql/data(/.*)?' > semanage fcontext -a -t postgresql_log_t '/home1/pgsql/pgstartup.log' > fixfiles relabel /home1/pgsql > > But it was not enough. Starting it with "service postgresql start" fails. > I had to modify the rc script, too. I had to replace /var/lib/pgsql with > /home1/pgsql everywhere despite the /var/lib/pgsql -> /home1/pgsql symlink. This will be failing because SELinux is blocking access to reading the symlink. You should find an avc denial for the lnk_file in your logs. > But this is enough for adding another tablespace under e.g. /home1/pgsql2: > > mkdir -p /home1/pgsql2/data > chown -R postgres.postgres /home1/pgsql2 > semanage fcontext -a -t postgresql_db_t '/home1/pgsql2/data(/.*)?' > fixfiles relabel /home1/pgsql2 An easier way is to bind mount /home/pgsql on /var/lib/pgsql etc. and do a restorecon -R on the "new" /var/lib/pgsql. That achieves the same effect without the symlink. Paul.