1833015 Members
2282 Online
110048 Solutions
New Discussion

Re: Account for FTP only

 
Sam  Lalonde
Occasional Contributor

Account for FTP only

Is there an easy way I can setup an hp-ux account to have FTP only (i.e. I do not want the user to be able to telnet, rlogin, etc).
8 REPLIES 8
Michael Tully
Honored Contributor

Re: Account for FTP only

Hi,

All you need to do is set the users shell to be /usr/bin/false. This entry should also be added to the /etc/shells file. If it doesn't exist create it. For more control you can utilise the 'ftpaccess' file. (/etc/ftpd/ftpaccess) See the man page for details.

Regards
Michael


Anyone for a Mutiny ?
Michael Tully
Honored Contributor

Re: Account for FTP only

One further footnote:
If you utilise the /etc/shells option, make sure that you add all of shell types to it.

/sbin/sh
/bin/sh
/usr/bin/sh
/bin/csh
/usr/bin/csh
/bin/ksh/
/usr/bin/ksh
/usr/bin/false
Anyone for a Mutiny ?
MANOJ SRIVASTAVA
Honored Contributor

Re: Account for FTP only

Hi

Setup an account ,
in the /etc/profile
you can add the following:

loginid=`who am i | awk '{print $1}'`
if [ $loginid = name ]
then
exit
fi


this will exit the login process whterh thorugh rlogin or telnet but where as it will allow the user to ftp to the machine.


Manoj Srivastava
Richard Darling
Trusted Contributor

Re: Account for FTP only

Hello Sam, I had to set this up last year so that one of our customers could ftp to a specific directory, but not be able to do anything else.
We're running HP-UX 11.0 on an L1000. I first installed the ftp patch PHNE.23949. Then downlaod the following document BC0814BRC00007719 from this website. Do a search fo rthe document number. The title of the document is "How to setup a restricted user for FTP Access". It tells you step-by-step, in a clear concise manner, what to do. Another good document is from the Washington University website:
ftp://ftp.wu-ftpd.org/pub/wu-ftpd/upload.configuration.HOWTO.

There are also several other docus at the wu-ftpd.org site that are useful and easy to follow.

Please let us know how you do...
Richard Darling
Shannon Petry
Honored Contributor

Re: Account for FTP only

Setting shell to /usr/bin/false is the easiest thing to do. Dont have to hack /etc/profile for an FTP account.

Also make the shells file as defined above.

The forums is literally loaded with documents on how-to's for FTP servers, including secure, anonymous, ftp only ID's, etc...

It's worth searching the forums for FTP and you will find out all kinds of stuff.

Regards,
Shannon
Microsoft. When do you want a virus today?
Sanjay_6
Honored Contributor

Re: Account for FTP only

justin berkman
Frequent Advisor

Re: Account for FTP only



hi guys

read below to create ftp only
access


Use this procedure to configure the new ftpd:

Note: A user will not have the ability to travel anywhere outside
of his home directory on the system. Setting up a bogus
shell with exit 0 as the contents will cause the connection
of a user to be immediately terminated if the user attempts
to telnet into the system.

1. Configure the ftpaccess file:

a. cd /etc/ftpd

b. cp -p /usr/newconfig/etc/ftpd/ftpaccess .

c. vi ftpaccess. At the bottom of the file there is a guestgroup
directive 'guestgroup ftponly'.

i. Either change that group designation to one you already
have or keep that designation.

ii. If you are keeping the ftponly group, then create that
group on your system.


2. Modify the /etc/inetd.conf file to enable the use of the ftpaccess
file:

a. vi /etc/inetd.conf

b. Add the -a flag to the ftp daemon.

c. ftp stream tcp nowait root /usr/lbin/ftpd ftpd -a -l

4. Make inetd re-read its configuration:

inetd -c

5. Create a bogus shell for users that will only have FTP access to
the system:

a. vi /usr/bin/ftpshell

b. exit 0

c. chmod 555 /usr/bin/ftpshell

d. chown bin:bin /usr/bin/ftpshell

6. Create an /etc/shells file:

a. vi /etc/shells

b. Include these lines in the file:

/sbin/sh
/usr/bin/ksh
/usr/bin/sh
/usr/bin/csh
/usr/bin/rsh
/usr/bin/rksh
/usr/bin/keysh
/bin/sh
/bin/ksh
/bin/csh
/bin/rsh
/bin/rksh
/usr/bin/ftpshell

7. Now add a user to the system. Use a group that is 'ftponly' and
make the user's shell /usr/bin/ftpshell.

8. Use SAM to limit the user to his home directory by setting up the
directory in this form:

/home/username/./

Note: The /./ is the important key here. When the ftpd verifies a
user's login, it checks and sees that the user is a member of
the 'guestgroup' ftponly. It then examines the home directory
and, if it sees a /./ in the path, it will then perform a chroot
to that directory. Therefore, when that user FTPs into the
system, their home directory will appear as the / directory.

9. Provide the user with an ls command:

a. cd /home/username

b. mkdir ???p usr/bin

c. cp -p /sbin/ls usr/bin

d. chown -R bin:bin usr

e. chmod -R 555 usr




hallo
Shannon Petry
Honored Contributor

Re: Account for FTP only

Jimmy,

Do you really think that you have to do all of these things to make a ftp only ID? See the posters from before you!

Next, why you create custom shells "ftpshell" but not use a binary that returns a null value.

Seems like you added alot of work unnecessarily.

Regards,
Shannon
Microsoft. When do you want a virus today?