2

I have a server with multiple sites hosted in my user directory /home/[user]/public_html/[site directories] and so I have access over SSH/SFTP.

I now have somebody working for me and want them to be able to update the sites but don't want them to have unrestricted access to the server. I basically want to restrict them to SFTP access to the public_html directory in my user home directory whilst still allowing my access to these directories as well.

Is this possible? How can I do this? I don't want to add an FTP client - just using inbuilt SSH.

I am aware it would be better to create multiple home directories but creating one for each site hosted isn't really a feasible short term option.

Thanks

Simon

1 Answer 1

2

Yes, it is possible. You have to use the "ChrootDirectory" directive. ( man sshd_config ). If you want to chroot only a specific user and your ssh version has sftp builtin:

Match user the_user_you_want_to_chroot
         ChrootDirectory /home/whatever/%u
         ForceCommand internal-sftp

( Be sure to check the manpage as it can be different )

1
  • This is not going to work because: 1) all components should be owned by root which I doubt (on newer Ubuntu's, from memory Lucid+?) 2) filesystem permissions prevents the logged in user from writing to the directory /home/[user]/public_html/[sitedir] (assuming [user] != ssh user and [sitedir] is owned by [user])
    – Lekensteyn
    May 6, 2011 at 11:28

You must log in to answer this question.

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