PDA

View Full Version : XRDP Error "Could not update ICEauthority file"



tomwardrop
30-Oct-2013, 06:04
Hi,

I've noticed when using XRDP on my installation of SLES (SUSE Enterprise), if the user I'm logging in as doesn't yet have a home folder, such as if they're a new user, or a network user that hasn't logged onto this machine yet, I receive the following error that prevents me from logging in: "Could not update ICEauthority file". As soon as I create the users home directory, either manually, or by getting them to logon first over SSH, it works.

Can anyone tell me how to fix this? It seems XRDP (or whatever it depends on) is trying to write out the file before the system has had a chance to create the users home directory. I posted this on the XRDP sourceforge discussion page, but I'm not sure if XRDP is at fault here, or SUSE?

Cheers,
Tom

mikewillis
30-Oct-2013, 17:10
As soon as I create the users home directory, either manually, or by getting them to logon first over SSH, it works.


So if someone logs in via SSH a home directory gets created if one does not already exists, yes? If so, how does that happen?

pam_mkhomedir.so will create a home directory if one doesn't already exist. What's the result of

$ grep pam_mkhomedir /etc/pam.d/*

The solution to your problem might be to add pam_mkhomedir to whichever stack gets used when xrdp login. Or

$ pam-config -a --mkhomedir
will add it to /etc/pam.d/common-session-pc to which /etc/pam.d/common-session should be symlink.

tomwardrop
01-Nov-2013, 00:46
Thanks for responding Mike. Yes, logging in via SSH creates the home directory. Here's the output of that grep command:



MSC\tomw@app13:~> grep pam_mkhomedir /etc/pam.d/*
/etc/pam.d/common-session:session optional pam_mkhomedir.so
/etc/pam.d/common-session-pc:session optional pam_mkhomedir.so

I did run pam-config -a --mkhomedir, but that didn't resolve the issue. You pushed me in the right direction though, as I found the file /etc/pam.d/xrdp-sesman for which I worked out I needed to add the following line to:


session include common-session

After that (and of course after restarting xrdp), all works a charm.

Thanks!