1

Previously all our web customers were setup to access their SFTP using the shell /bin/bash(chrooted). As of 1-17-17 it was working for everyone. The following monday 1-20-17 it was not. This issue is affecting ALL domains that used /bin/bash(chrooted) as the shell.

When trying to connect, FTP error: EOF while reading packet. Please contact your web hosting service provider for assistance.

When trying to connect via SSH on command line, error: Could not chdir to home directory /var/www/vhosts/domain.com: No such file or directory /usr/local/psa/bin/chrootsh: No such file or directory Connection to domain.com closed.

I can't find any record of any relevant updates to Plesk, I certainly didn't change anything. The only update I see in Plesk history is an update from PHP 7 to PHP 7.0.14. I've been doing some searching, what I found(in below examples, I replaced the actual username with "username" and the actual domain with "domain.com"):

  1. The FTP user in /etc/passwd shows correctly as far as I can tell: username:x:10057:1004::/var/www/vhosts/domain.com:/usr/local/psa/bin/chrootsh

  2. there have been no changes to user or group permissions. The user is correctly assigned to the psacln group, just like before.

  3. The /var/www/vhosts/chroot folder has everything it needs as far as I can tell, and all permissions and ownership are correct.

  4. I have tried the method from Plesk here: https://support.plesk.com/hc/en-us/articles/213909545--HOWTO-How-to-add-new-programs-to-a-chrooted-shell-environment-template, didn't work. I even renamed the chroot folder to chroot_old and reinstalled, no difference.

  5. I have tried adding user-specific rules to the sshd_config file in /etc: Match User username ChrootDirectory /var/www/vhosts/chroot Then restarting sshd, no go.

  6. I also ran the plesk repair utility from this link: https://docs.plesk.com/en-US/onyx/a...epair-utility/plesk-repair-utility-web.74654/ and it found nothing related to my issue.

I have no idea what else to check, and changing the shell to /bin/bash is not an option - besides the security risk we have customers with automated SSH connections that require the chroot for their file/folder pathways. My server support is stumped.

I would appreciate anyone's help!! Thank you.

4
  • What is output of ls -la /usr/local/psa/bin/chrootsh ? What is you OS name and version? Commented Feb 23, 2017 at 15:25
  • Thank you for your comment! The result is: -rwsr-x--- 1 root psacln 10536 Oct 28 00:52 /usr/local/psa/bin/chrootsh Cent OS 7, Plesk 17.0.17 Commented Feb 23, 2017 at 15:35
  • Have you tried to switch shell to common bash and back to chrooted bash? If it doesn't help I think you can contact Plesk support directly, as i know it's free now. Commented Feb 24, 2017 at 14:49
  • Thanks for your comment. Previously, "cycling" the shell would fix the problem, but it didn't this time. I have tried getting Plesk support but they require a plesk license in their support form, and when I did that I get a message that they don't support plesk installations by a third party (in this case, my host Mediatemple) and that I need to contact them (which I have, multiple times - they're stumped). In the end, I had a linux guy I know completely reinstall it - I will add an answer to this question to reflect that. Thank you though! Commented Feb 27, 2017 at 15:01

1 Answer 1

1

To solve my problem, essentially chroot was reinstalled. I had another guy who knows way more than me do it, but I did ask him to try to summarize what he did so it might help anyone else who has to do the same thing:

  1. Essentially, he took the executables that existed in the original CHROOT source directory & copied them to the CHROOT source directory I created when I ran the script from the Plesk docs above: https://support.plesk.com/hc/en-us/articles/213909545--HOWTO-How-to-add-new-programs-to-a-chrooted-shell-environment-template.

  2. Then, he cleaned up any remnants of the original CHROOT environment in each account (e.g. removed the bin, sbin, etc and so on directories under the hosting account (/var/www/vhosts/somedomain.com)

  3. Then, set shell to anything but the chroot option (in plesk -> subscription -> web hosting access & save. Then, set the shell to chroot option (/bin/bash(chrooted). This last item triggers commands to remove & add the chroot environment to the targeted directory.

I'm still in the process of doing step 2 and 3 for my remaining domains, but so far it has worked everytime. Hopefully that will help someone that has a similar issue.

2
  • +1 for sharing your solution. Have you discovered what the cause was? Commented Mar 1, 2017 at 15:37
  • Unfortunately no. Neither our server support, the guy that reinstalled chroot, nor myself ever found the actual cause of the issue. If I had to make a somewhat educated guess, I think an update might have accidentally removed a dependency with chroot. Since it was server wide and affected all domains, I have to think that it was something having to do with the chroot folder in /var/www/vhosts/chroot/, possibly a corrupted file? Then when I switched to /bin/bash/ and back to /bin/bash(chrooted), Plesk wasn't properly removing and restoring the relevant files and dependencies. Commented Mar 2, 2017 at 16:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .