Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

FTP access and non-standard shells UNIX
OS X uses the tcsh shell for the terminal. There are a number of others you can install, including bash, which is probably the most popular. If you've installed one of these alternate shells, however, you may find that your FTP access has been disabled.

There's a file called shells that lives in /etc, and it contains a list of paths to known shells. The FTP server uses this file to limit the types of shells remote users will be allowed to connect with. The problem is that if you install a shell, it may or may not go where the shells file says it will go. For example, shells lists 'bash' as installed at /bin/bash, but it would more than likely be installed in /usr/local/bin/bash). If you try to connect and have a non-authorized shell, you'll see a message that says User username access denied.

The fix is simple - edit the /etc/shells file and make sure that the proper path to your alternate shell saved in the file. This tip was seen today on the X4U mailing list...
  • Currently 5.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)

FTP access and non-standard shells | 3 comments | Create New Account
Click here to return to the 'FTP access and non-standard shells' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
ftp w/ no shell
Authored by: spootiespoothead on Aug 27, '01 06:40:55PM

Thanks for the tip. You can also use this tip to give ftp access with no shell access.

edit the shells file as above and add the line '/dev/null'

The change the shell in netinfo '/dev/null' for the user you want to limit shell access. They now have ftp but no shell access.

[ Reply to This | # ]
ftp w/ no shell
Authored by: spootiespoothead on Sep 28, '01 09:53:35PM

this hint (ftp with no shell) breaks with 10.1

[ Reply to This | # ]
FTP access without shell access
Authored by: vogunaescht on Jun 02, '03 07:47:53AM

To give access to ftp without allowing shell access, replace the default shell for the user with /usr/libexec/ftpd (in netinfo).
Then add /usr/libexec/ftpd to the list of known login shells in /etc/shells

[ Reply to This | # ]