On Thu, 26 Jul 2007, René Berber wrote:
Chris Stromsoe wrote:
I'm having trouble getting proftpd to run as a service under 2003. I
read /usr/share/doc/Cyginw/openssh.README. I used ssh-host-config to
create an account named sshd_server. I have ssh running fine.
If I try to use the same account, I get the error
How did you setup proftpd as service?
cygrunsrv --install proftpd --path /usr/sbin/proftpd.exe --args "nodaemon"
--type auto --disp "Cygwin proftpd" --desc "ProFTP FTP daemon" --user
sshd_server -e CYGWIN="ntsec"
"cygrunsrv --start proftpd" after that fails.
Error starting a service: QueryServiceStatus: win32 error 1062:
The service has not been started.
Looking in the logs, I have:
unable to set uid to 18, current uid: 1006
And 1006 is sshd_server? We know 18 is SYSTEM, whoever is 1006 has no
privileges to change users... and it probably shouldn't (I have in my
/etc/proftpd.conf User SYSTEM and Group None, it works fine in Win XP),
if set as service the default is being run as SYSTEM, you must have
changed that but not the proftpd configuration.
If I run without specifying --user, proftpd runs as SYSTEM. It does not
change users at all. If I log in with other users and upload files, the
files all end up owned by the SYSTEM user.
1006 is sshd_server, which does have permissions to change users,
otherwise sshd wouldn't work under 2003.
http://www.cygwin.com/cygwin-ug-net/ntsec.html#ntsec-switch explains that
the SYSTEM user does not have the "Create a token object" right under
win2k3, which is required for set*id functions to work. ssh-host-config
creates a user (sshd_server) which has those rights for running the ssh
daemon. I am trying to re-use that user (which I have verified works with
ssh) with proftpd
Running /usr/sbin/proftpd from the command line gives me the same
error, except the current uid is 500.
The system is windows 2003 server. cygwin is 1.5.24.
Any ideas?
ProFtpd can be started from inetd... your choice; but there are
advantages like using tcp_wrappers.
I don't have inetd installed. It's a stripped down installation. In any
event, it's not clear to me that running from inetd would help. The
problem seems to be related changing users, which proftpd would still have
to do running under inetd.
-Chris
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/