Thanx for the quick reply ;) Yes, environment is correctly exported. Maybe there is something I can tell to Linux so that it gives my environement to anyone changing user to myuser? -= Mail sent through WebTop2 =- ---------------------------------------------------------------------------------- Da: Simon Matter A: Gabriele Bulfon Cc: info-cyrus@lists.andrew.cmu.edu Data: 3 novembre 2010 17.56.52 CET Oggetto: Re: Running Cyrus Imap under a different user Hello, I need to run cyrus as a different user, because for some reason I don't want to touch system users. I've built all the cyrus stuff under this different user, also using the configure switches (--with-cyrus-user=myuser --with-cyrus-group=mygroup). I followed the documentation to prepare all the needed directories by changing cyrus into myuser and mail into mygroup. I tried starting the master daemon as myuser, but it seems it has not enough privileges to listen on standard ports and some other problems. So I tried starting the master as root. I think starting master as root is the correct way. To do this, the script (ran as myuser) do a sudo. The problem is that the new process will have a different environment than what my user has. Expecially, my environment has his own libs against which I compiled, different from the system ones. So how exactly does you environment look? Is it LD_LIBRARY_PATH which makes you cyrus use the correct libs? So, I prepared another script that prepares the environment and starts master. This way I could "sudo myscript". Master now runs, but then changes user to fork processes, and once again it seems to loose my environment: Nov 3 17:34:13 sl master[18963]: setrlimit: Unable to set file descriptors limit to -1: Operation not permitted Nov 3 17:34:13 sl master[18963]: retrying with 1024 (current max) Nov 3 17:34:13 sl master[18963]: process started Nov 3 17:34:13 sl master[18964]: about to exec /sonicle/bin/ctl_cyrusdb Nov 3 17:34:13 sl ctl_cyrusdb[18964]: incorrect version of Berkeley db: compiled against 4.8.30, linked against 4.3.29 Nov 3 17:34:13 sl master[18963]: process 18964 exited, signaled to death by 11 Nov 3 17:34:13 sl master[18963]: unable to setsocketopt(IP_TOS): Operation not supported Nov 3 17:34:13 sl master[18963]: ready for work Nov 3 17:34:13 sl master[18965]: about to exec /sonicle/bin/ctl_cyrusdb Nov 3 17:34:13 sl ctl_cyrusdb[18965]: incorrect version of Berkeley db: compiled against 4.8.30, linked against 4.3.29 Nov 3 17:34:13 sl master[18963]: process 18965 exited, signaled to death by 11 How can I solve this problem? Is there anyway to let the new processes have the correct environment? Hm, I didn't check whether Cyrus resets the environment but, stupid question, did you forget to export the vars in question? Simon
---- Cyrus Home Page: http://www.cyrusimap.org/ List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/