[comp.sys.apollo] PC to Apollo FTP

rab@ssc-vax.UUCP (Robert A. Birgenheier) (06/30/89)

Please excuse the cross-posting.

  I talked recently with someone who was having problems trying to
connect from a pc to an Apollo via TCP/IP FTP.  Here are the
particulars:

   Compaq 286 logged on to a Novell LAN
   (Micom)-Interlan TCP/IP gateway on the server (NP600 card)
   remote host is Apollo (DN160?, I think)

He can sucessfully Telnet to the Apollo, can FTP to Administrator's
account on Apollo, but when trying to FTP to a user's account is told
'can't set to home directory' or something like that.  Anyone out there
with any help/suggestions?

Please email or direct postings to comp.dcom.lans.  I think that is
the appropriate group for continued discussion.
-- 
Robert Birgenheier
uw-beaver!ssc-vax!rab

Lefebvre Belebvre

GBOPOLY1@NUSVM.BITNET (fclim) (07/01/89)

> From: rab%ssc-vax%fluke.uucp@beaver.cs.washington.edu
>   (Robert A. Birgenheier)
> Organization: Boeing Aerospace Corp., Seattle WA
> Subject: PC to Apollo FTP
> Message-Id: <2767@ssc-vax.UUCP>
>
>   I talked recently with someone who was having problems trying to
> connect from a pc to an Apollo via TCP/IP FTP.  Here are the
> particulars:
>
>    Compaq 286 logged on to a Novell LAN
>    (Micom)-Interlan TCP/IP gateway on the server (NP600 card)
>    remote host is Apollo (DN160?, I think)
>
> He can sucessfully Telnet to the Apollo, can FTP to Administrator's
> account on Apollo, but when trying to FTP to a user's account is told
> can't set to home directory' or something like that.  Anyone out there
> with any help/suggestions?

I'm going to open my mouth again and let all know I am a fool.

I think (ie I'm *not* sure) the problem lie with the process-uid of the
/etc/rc process.

Ftpd is the deamon (server) that handles incoming ftp calls.  If the
login is successful, it will setuid(3) to the user-id you specified with
the FTP user command.  It will also setgid(3) to the group and chdir(2)
to the home directory of that user.  The group and home directory info
is obtained from /etc/passwd.

But, ftpd can only setuid(), setgud() and chdir() only if ftpd was run
by root.

ftpd is run on a demand-basis by inetd which is started by /etc/rc.
If /etc/rc is run by root, then inetd and ftpd will inherit the root
process-uid.  (run "ps lag" and look under the UID column).

/etc/rc is run by /etc/run_rc which is spoofed off by
`node_data/startup.xxx.  The process-uid of /etc/run_rc is %.server.
To make /etc/rc have root process-uid, do
      % chown root /etc/rc
      % chmod 4755 /etc/rc
I hope this works.

fclim          --- gbopoly1 % nusvm.bitnet @ cunyvm.cuny.edu
computer centre
singapore polytechnic
dover road
singapore 0513.