Pulseaudio won't start when home directory not owned by user

Bug #1152137 reported by Darren Miller
26
This bug affects 4 people
Affects Status Importance Assigned to Milestone
pulseaudio (Ubuntu)
Fix Released
Medium
Nick Moriarty

Bug Description

I have an NFS mounted home directory on a dedicated fileserver which is
shared with Windows PCs via SMB.

The home directory is not owned by me. ACLs are set on it to allow me
full control of the contents but prevent me from changing its permissions.
This means any files or directories created in the home directory are owned
by me even though the top level is not.

Pulseaudio checks the home directory is owned by the user at startup and
exits if it isn't. This stops it running on my system.

I have recompiled pulseaudio without this check and it works fine.

Please either remove or modify the following startup check:

pulseaudio-1.1/src/pulsecore/src/pulsecore/core-util.c line 1415:

    if (st.st_uid != getuid()) {
        pa_log_error("Home directory %s not ours.", h);
        errno = EACCES;
        goto finish;
    }

A better check would be for pulseaudio to try and create the files/folders it
needs and fail if it cannot.

I am using Ubuntu 12.04 and pulseaudio 1:1.1-0ubuntu15.2.

Darren Miller (dm26)
affects: vlc (Ubuntu) → pulseaudio (Ubuntu)
Revision history for this message
Rémi Denis-Courmont (rdenis) wrote :

I don't know about this specific code path, but there are security reasons why PulseAudio wants the directory owned by the user. Namely it creates files with predictable names therein.

If the home directory is not owned by the user, that looks more like a bug in your setup...

Revision history for this message
Darren Miller (dm26) wrote :

Remi,

thanks for the reply. It isn't really a bug in our setup - more of a feature.

We use NetApp fileservers that support multi-mode filestores so we can use NTFS ACLs
and Unix permissions on the same filestore. Most of our users use Windows, so home directory
access is controlled with Windows ACLs. However, any files created by Linux should have normal
Unix permissions. We could have also seen the same problem using NFS4 ACLs instead of NTFS ACLs.

I'll have another look at our permissions to see if it is possilble to make the home directory
appear to be owned by the user, but it still seems like an unecessary check to me.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pulseaudio (Ubuntu):
status: New → Confirmed
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.
Ubuntu 12.04 (precise) reached end-of-life on April 28, 2017.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test.

Changed in pulseaudio (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Nick Moriarty (nick-moriarty) wrote :

This problem is still present on more recent versions of Ubuntu. We currently locally patch it to allow home directories to be owned by either the relevant user, or root.

It would be great if this was patched upstream.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thanks Nick. Happy to keep this bug open. Please just let us know specifically what current Ubuntu version(s) it is still a problem on.

Revision history for this message
Nick Moriarty (nick-moriarty) wrote :

Hi,

This still affects both 14.04 and 16.04 (and probably affects the newer non-LTS releases). We apply a patch downstream, which I've attached.

Regards

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "pulse.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Changed in pulseaudio (Ubuntu):
status: Incomplete → New
tags: added: trusty xenial
Changed in pulseaudio (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
tags: removed: trusty
Revision history for this message
Nick Moriarty (nick-moriarty) wrote :

A fix for this has been merged upstream: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/134

I believe this should make it into the 14.0 release.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Great, thanks.

Changed in pulseaudio (Ubuntu):
assignee: nobody → Nick Moriarty (nick-moriarty)
status: Confirmed → Triaged
tags: added: fixed-in-14.0 fixed-upstream
Revision history for this message
Sebastien Bacher (seb128) wrote :

the fix is in the current pulseaudio version in focal now

Changed in pulseaudio (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.